<!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>[287061] branches/safari-613.1.12-branch</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/287061">287061</a></dd>
<dt>Author</dt> <dd>repstein@apple.com</dd>
<dt>Date</dt> <dd>2021-12-14 19:28:23 -0800 (Tue, 14 Dec 2021)</dd>
</dl>

<h3>Log Message</h3>
<pre>Revert "Distinguish contiguous SharedBuffer from non-contiguous one and guarantee immutability"

This reverts commit <a href="http://trac.webkit.org/projects/webkit/changeset/286937">r286937</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari613112branchSourceWebCoreChangeLog">branches/safari-613.1.12-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardImageReadercpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardImageReaderh">branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourcecpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourceh">branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesasyncclipboardiosClipboardImageReaderIOSmm">branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesasyncclipboardmacClipboardImageReaderMacmm">branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulescacheCacheStorageConnectioncpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/CacheStorageConnection.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulescacheDOMCachecpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulescacheDOMCacheh">branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulescacheDOMCacheEnginecpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulescacheDOMCacheEngineh">branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesencryptedmediaInitDataRegistrycpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesencryptedmediaMediaKeyStatusMapcpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesfetchFetchBodycpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesfetchFetchBodyh">branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesfetchFetchBodyConsumercpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesfetchFetchResponsecpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesfetchFetchResponseh">branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModuleshighlightAppHighlighth">branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlight.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModuleshighlightAppHighlightRangeDatacpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesindexeddbserverIDBSerializationcpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesindexeddbserverIDBSerializationh">branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesindexeddbserverSQLiteIDBBackingStorecpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesindexeddbserverSQLiteIDBCursorcpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesmediastreamRTCDataChannelRemoteHandlercpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesmediastreamlibwebrtcLibWebRTCDataChannelHandlercpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesmodelelementHTMLModelElementcpp">branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/HTMLModelElement.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreModulesmodelelementscenekitSceneKitModelLoaderUSDmm">branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCorebindingsjsJSDOMGlobalObjectcpp">branches/safari-613.1.12-branch/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCorebindingsjsScriptBufferSourceProviderh">branches/safari-613.1.12-branch/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCorecssCSSFontFaceSourcecpp">branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCorecssCSSFontFaceSourceh">branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoredomDataTransfercpp">branches/safari-613.1.12-branch/Source/WebCore/dom/DataTransfer.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingEditorcpp">branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingEditorh">branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingSerializedAttachmentDatah">branches/safari-613.1.12-branch/Source/WebCore/editing/SerializedAttachmentData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingWebContentReaderh">branches/safari-613.1.12-branch/Source/WebCore/editing/WebContentReader.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingWebCorePasteboardFileReadercpp">branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingWebCorePasteboardFileReaderh">branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingcocoaEditorCocoamm">branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/EditorCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingcocoaHTMLConvertermm">branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/HTMLConverter.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingcocoaWebContentReaderCocoamm">branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreeditingmacEditorMacmm">branches/safari-613.1.12-branch/Source/WebCore/editing/mac/EditorMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCorehtmlFTPDirectoryDocumentcpp">branches/safari-613.1.12-branch/Source/WebCore/html/FTPDirectoryDocument.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreinspectorNetworkResourcesDatacpp">branches/safari-613.1.12-branch/Source/WebCore/inspector/NetworkResourcesData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreinspectoragentsInspectorNetworkAgentcpp">branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreinspectoragentsInspectorPageAgentcpp">branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorPageAgent.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderContentFiltercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/ContentFilter.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderCrossOriginPreflightCheckercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/CrossOriginPreflightChecker.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderDocumentLoadercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderDocumentLoaderh">branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderDocumentThreadableLoadercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentThreadableLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderEmptyClientscpp">branches/safari-613.1.12-branch/Source/WebCore/loader/EmptyClients.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderFrameLoadercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderFrameLoaderh">branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderResourceLoadercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/ResourceLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderSubresourceLoadercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/SubresourceLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheGroupcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheHostcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheHosth">branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheResourcecpp">branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheStoragecpp">branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderarchivecfLegacyWebArchivecpp">branches/safari-613.1.12-branch/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloaderarchivemhtmlMHTMLParsercpp">branches/safari-613.1.12-branch/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedApplicationManifestcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedApplicationManifest.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedCSSStyleSheetcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedFontcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedFonth">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedImagecpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedImageh">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedRawResourcecpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedRawResource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedResourcecpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedResourceh">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedSVGDocumentcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGDocument.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedSVGFontcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedSVGFonth">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedScriptcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedScript.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedTextTrackcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedTextTrack.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercacheCachedXSLStyleSheetcpp">branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercocoaDiskCacheMonitorCocoah">branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreloadercocoaDiskCacheMonitorCocoamm">branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCorepageEditorClienth">branches/safari-613.1.12-branch/Source/WebCore/page/EditorClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCorepagePagecpp">branches/safari-613.1.12-branch/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCorepagePageSerializercpp">branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCorepagePageSerializerh">branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCorepageShareDatah">branches/safari-613.1.12-branch/Source/WebCore/page/ShareData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCorepageShareDataReadercpp">branches/safari-613.1.12-branch/Source/WebCore/page/ShareDataReader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformKeyedCodingh">branches/safari-613.1.12-branch/Source/WebCore/platform/KeyedCoding.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPasteboardcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPasteboardh">branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPasteboardCustomDatacpp">branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPasteboardCustomDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPasteboardStrategyh">branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardStrategy.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPasteboardWriterDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardWriterData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPlatformPasteboardh">branches/safari-613.1.12-branch/Source/WebCore/platform/PlatformPasteboard.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformPromisedAttachmentInfoh">branches/safari-613.1.12-branch/Source/WebCore/platform/PromisedAttachmentInfo.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformSharedBuffercpp">branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformSharedBufferh">branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformStaticPasteboardcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformStaticPasteboardh">branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformaudiococoaMediaSessionManagerCocoamm">branches/safari-613.1.12-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformcfKeyedEncoderCFcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformcfKeyedEncoderCFh">branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformcfSharedBufferCFcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/cf/SharedBufferCF.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformcocoaPasteboardCocoamm">branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/PasteboardCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformcocoaSharedBufferCocoamm">branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformencryptedmediaCDMUtilitiescpp">branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformencryptedmediaclearkeyCDMClearKeycpp">branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgenericKeyedEncoderGenericcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgenericKeyedEncoderGenerich">branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformglibKeyedEncoderGlibcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformglibKeyedEncoderGlibh">branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformglibSharedBufferGlibcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/glib/SharedBufferGlib.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsFontcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsFonth">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsFontPlatformDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/FontPlatformData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsHEVCUtilitiescpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsHEVCUtilitiesh">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsModelcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsModelh">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsWOFFFileFormatcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsWOFFFileFormath">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationCDMFairPlayStreamingcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationFormatDescriptionUtilitiescpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcCDMInstanceFairPlayStreamingAVFObjCmm">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCmm">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferParserAVFObjCmm">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicscairoFontCustomPlatformDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicscgImageDecoderCGcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicscgPDFDocumentImagecpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicscocoaFontPlatformDataCocoamm">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicscocoaSourceBufferParserWebMcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicscoretextFontPlatformDataCoreTextcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsfreetypeFontCustomPlatformDataFreeTypecpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsfreetypeFontPlatformDataFreeTypecpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerGStreamerCommoncpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerGStreamerCommonh">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerImageDecoderGStreamercpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsgstreameremeGStreamerEMEUtilitiescpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsgstreameremeGStreamerEMEUtilitiesh">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsmacFontCustomPlatformDatacpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsmacFontCustomPlatformDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsmacPDFDocumentImageMacmm">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/PDFDocumentImageMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatacpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeTypesh">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeUtilitiescpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeUtilitiesh">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeVerticalDatacpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicswinFontCustomPlatformDatacpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicswinFontCustomPlatformDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicswinFontCustomPlatformDataCairocpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicswinFontPlatformDataCairoWincpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgraphicswinFontPlatformDataWincpp">branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformgtkSelectionDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/gtk/SelectionData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformimagedecodersScalableImageDecoderh">branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/ScalableImageDecoder.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformimagedecodersjpegJPEGImageDecodercpp">branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformimagedecodersjpegJPEGImageDecoderh">branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformiosPasteboardIOSmm">branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PasteboardIOS.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformiosPlatformPasteboardIOSmm">branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformmacPasteboardMacmm">branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PasteboardMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformmacPlatformPasteboardMacmm">branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PlatformPasteboardMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkFormDatacpp">branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkFormDatah">branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.h</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkResourceHandleClientcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/network/ResourceHandleClient.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp">branches/safari-613.1.12-branch/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkcocoaWebCoreNSURLSessionmm">branches/safari-613.1.12-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkcurlCurlMultipartHandlecpp">branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkcurlCurlRequestcpp">branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlRequest.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkcurlCurlResourceHandleDelegatecpp">branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlResourceHandleDelegate.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsOperationQueueDelegatemm">branches/safari-613.1.12-branch/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreplatformwinPasteboardWincpp">branches/safari-613.1.12-branch/Source/WebCore/platform/win/PasteboardWin.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoretestingMockCDMFactorycpp">branches/safari-613.1.12-branch/Source/WebCore/testing/MockCDMFactory.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreworkersWorkerFontLoadRequestcpp">branches/safari-613.1.12-branch/Source/WebCore/workers/WorkerFontLoadRequest.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreworkersservicecontextServiceWorkerFetchcpp">branches/safari-613.1.12-branch/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCoreworkersserviceserverSWScriptStoragecpp">branches/safari-613.1.12-branch/Source/WebCore/workers/service/server/SWScriptStorage.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCorexmlXSLTProcessorLibxsltcpp">branches/safari-613.1.12-branch/Source/WebCore/xml/XSLTProcessorLibxslt.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebCorexmlparserXMLDocumentParserLibxml2cpp">branches/safari-613.1.12-branch/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitChangeLog">branches/safari-613.1.12-branch/Source/WebKit/ChangeLog</a></li>
<li><a href="#branchessafari613112branchSourceWebKitGPUProcesswebrtcRemoteMediaRecordercpp">branches/safari-613.1.12-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcessNetworkResourceLoadercpp">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcessServiceWorkerServiceWorkerNavigationPreloadercpp">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcessServiceWorkerServiceWorkerNavigationPreloaderh">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcessServiceWorkerServiceWorkerSoftUpdateLoadercpp">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcesscacheCacheStorageEngineCachecpp">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcesscacheNetworkCacheEntrycpp">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitNetworkProcesssoupNetworkDataTaskSoupcpp">branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitPlatformIPCSharedBufferCopycpp">branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitPlatformIPCSharedBufferCopyh">branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitPlatformSharedMemorycpp">branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitPlatformSharedMemoryh">branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedAPIWebArchiveResourcemm">branches/safari-613.1.12-branch/Source/WebKit/Shared/APIWebArchiveResource.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedCocoaWebCoreArgumentCodersCocoamm">branches/safari-613.1.12-branch/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedRemoteLayerTreeCGDisplayListImageBufferBackendcpp">branches/safari-613.1.12-branch/Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedShareableResourcecpp">branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedShareableResourceh">branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedWebCoreArgumentCoderscpp">branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedWebCoreArgumentCodersh">branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedgtkArgumentCodersGtkcpp">branches/safari-613.1.12-branch/Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitSharedwinWebCoreArgumentCodersWincpp">branches/safari-613.1.12-branch/Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessAPIAPIAttachmentcpp">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessAPIAPIAttachmenth">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessAPIAPIContentRuleListStorecpp">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessAPICocoaAPIAttachmentCocoamm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessAPICocoaWKWebViewmm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessAPIgtkDropTargetGtk3cpp">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/gtk/DropTargetGtk3.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessCocoaNavigationStatemm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/NavigationState.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessCocoaWebProcessProxyCocoamm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessCocoaWebViewImplmm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessNetworkNetworkProcessProxycpp">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessNetworkNetworkProcessProxyh">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessPageClienth">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/PageClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessWebPageProxycpp">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessWebPageProxyh">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessWebURLSchemeTaskcpp">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebURLSchemeTask.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessiosPageClientImplIOSh">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessiosPageClientImplIOSmm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessiosWKContentViewInteractionmm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessiosWebPageProxyIOSmm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitUIProcessmacWebPageProxyMacmm">branches/safari-613.1.12-branch/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessInjectedBundleAPIAPIInjectedBundleEditorClienth">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessInjectedBundleAPImacWKWebProcessPlugInBrowserContextControllermm">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessInjectedBundleInjectedBundlePageEditorClientcpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessInjectedBundleInjectedBundlePageEditorClienth">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessInjectedBundleInjectedBundlePageLoaderClientcpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessModelmacARKitInlinePreviewModelPlayerMacmm">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessNetworkNetworkProcessConnectioncpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessNetworkWebResourceLoadercpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebCoreSupportWebEditorClientcpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebCoreSupportWebEditorClienth">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebCoreSupportWebFrameLoaderClientcpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebCoreSupportWebPlatformStrategiescpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebCoreSupportWebPlatformStrategiesh">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebCoreSupportmacWebDragClientMacmm">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebPageWebFramecpp">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebPage/WebFrame.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitWebProcessWebPagemacWebPageMacmm">branches/safari-613.1.12-branch/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacChangeLog">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/ChangeLog</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacDOMDOMUIKitExtensionsmm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/DOM/DOMUIKitExtensions.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebCoreSupportWebEditorClienth">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebCoreSupportWebEditorClientmm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebCoreSupportWebPlatformStrategiesh">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebCoreSupportWebPlatformStrategiesmm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebViewWebDataSourcemm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebView/WebDataSource.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebViewWebHTMLRepresentationmm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebView/WebHTMLRepresentation.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebViewWebHTMLViewmm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacymacWebViewWebResourcemm">branches/safari-613.1.12-branch/Source/WebKitLegacy/mac/WebView/WebResource.mm</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinChangeLog">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/ChangeLog</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinMemoryStreamcpp">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/MemoryStream.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinMemoryStreamh">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/MemoryStream.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinWebArchivecpp">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/WebArchive.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinWebCoreSupportWebEditorClientcpp">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinWebCoreSupportWebEditorClienth">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.h</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinWebDataSourcecpp">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/WebDataSource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinWebResourcecpp">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/WebResource.cpp</a></li>
<li><a href="#branchessafari613112branchSourceWebKitLegacywinWebResourceh">branches/safari-613.1.12-branch/Source/WebKitLegacy/win/WebResource.h</a></li>
<li><a href="#branchessafari613112branchToolsChangeLog">branches/safari-613.1.12-branch/Tools/ChangeLog</a></li>
<li><a href="#branchessafari613112branchToolsTestWebKitAPITestsWebCoreSharedBuffercpp">branches/safari-613.1.12-branch/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp</a></li>
<li><a href="#branchessafari613112branchToolsTestWebKitAPITestsWebCorecocoaSharedBuffermm">branches/safari-613.1.12-branch/Tools/TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari613112branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/ChangeLog (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/ChangeLog 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/ChangeLog    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -199,492 +199,6 @@
</span><span class="cx"> 
</span><span class="cx">         * platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.cpp:
</span><span class="cx"> 
</span><del>-2021-12-13  Jean-Yves Avenard  <jya@apple.com>
-
-        Distinguish contiguous SharedBuffer from non-contiguous one and guarantee immutability
-        https://bugs.webkit.org/show_bug.cgi?id=233030
-        rdar://85333814
-
-        Reviewed by Darin Adler.
-
-        When calling SharedBuffer::data() the underlying data was flattened,
-        and so could be mutated while being shared. This was an undesirable
-        behaviour.
-        We introduce ContiguousSharedBuffer which guarantee that its content is made
-        of contiguous data.
-        All methods that would have mutated a SharedBuffer when being flattened are
-        moved to ContiguousSharedBuffer.
-
-        Area where SharedBuffers were always created with a single segment where
-        converted to a ContiguousSharedBuffer.
-        Previously, a SharedBuffer would have been flattened only if it needed to be
-        and only when the data was going to be accessed; following this change
-        the conversion is now explictly done through a call to makeContiguous.
-        This conversion is a no-op if the SharedBuffer being converted was already
-        a ContiguousSharedBuffer.
-        With the nature of a SharedBuffer being shared by potentially multiple
-        users it was necessary to limit the number of conversions being performed
-        on demand to avoid redundancy.
-        When the flattening could have occured, the SharedBuffer creation points were
-        traced back and identified to make the buffer contiguous then.
-        In the end, there's no more SharedBuffer flattening operations than there
-        would have been before this change.
-        There's a potential increase of temporary memory usage with the
-        ScriptBufferSourceProvider class; bug 233511 is tracking it.
-
-        While the change is extensive, code coverage of the modified areas is thorough
-        which makes undetected regressions unlikely.
-
-        In bug 233442, a SharedBuffer will be made completely immutable once created.
-
-        No observable change.
-        Covered by all existing tests. New API tests creatded.
-
-        * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
-        (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::sanitizeDataIfNeeded):
-        * Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm:
-        (WebCore::ClipboardImageReader::readBuffer):
-        * Modules/async-clipboard/mac/ClipboardImageReaderMac.mm:
-        (WebCore::ClipboardImageReader::readBuffer):
-        * Modules/cache/CacheStorageConnection.cpp:
-        (WebCore::CacheStorageConnection::computeRealBodySize):
-        * Modules/cache/DOMCache.cpp:
-        (WebCore::DOMCache::addAll):
-        (WebCore::DOMCache::putWithResponseData):
-        (WebCore::DOMCache::put):
-        * Modules/cache/DOMCache.h:
-        * Modules/cache/DOMCacheEngine.cpp:
-        (WebCore::DOMCacheEngine::isolatedResponseBody):
-        (WebCore::DOMCacheEngine::copyResponseBody):
-        * Modules/cache/DOMCacheEngine.h:
-        * Modules/encryptedmedia/InitDataRegistry.cpp:
-        (WebCore::extractKeyIDsKeyids):
-        (WebCore::sanitizeKeyids):
-        * Modules/encryptedmedia/MediaKeyStatusMap.cpp:
-        (WebCore::keyIdsMatch):
-        (WebCore::MediaKeyStatusMap::Iterator::next):
-        * Modules/fetch/FetchBody.cpp:
-        (WebCore::FetchBody::consumeFormData):
-        (WebCore::FetchBody::bodyAsFormData const):
-        (WebCore::FetchBody::take):
-        * Modules/fetch/FetchBody.h:
-        * Modules/fetch/FetchBodyConsumer.cpp:
-        (WebCore::FetchBodyConsumer::resolve):
-        (WebCore::FetchBodyConsumer::takeAsText):
-        * Modules/fetch/FetchResponse.cpp:
-        (WebCore::FetchResponse::BodyLoader::consumeDataByChunk):
-        (WebCore::FetchResponse::setBodyData):
-        * Modules/fetch/FetchResponse.h:
-        * Modules/highlight/AppHighlight.h:
-        (WebCore::AppHighlight::encode const):
-        * Modules/highlight/AppHighlightRangeData.cpp:
-        (WebCore::AppHighlightRangeData::create):
-        * Modules/indexeddb/server/IDBSerialization.cpp:
-        (WebCore::serializeIDBKeyPath):
-        (WebCore::serializeIDBKeyData):
-        * Modules/indexeddb/server/IDBSerialization.h:
-        * Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
-        (WebCore::IDBServer::SQLiteIDBBackingStore::addExistingIndex):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedPutIndexRecord):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):
-        (WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
-        * Modules/indexeddb/server/SQLiteIDBCursor.cpp:
-        (WebCore::IDBServer::SQLiteIDBCursor::bindArguments):
-        (WebCore::IDBServer::SQLiteIDBCursor::resetAndRebindPreIndexStatementIfNecessary):
-        * Modules/mediastream/RTCDataChannelRemoteHandler.cpp:
-        (WebCore::RTCDataChannelRemoteHandler::readyToSend):
-        * Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
-        (WebCore::LibWebRTCDataChannelHandler::setClient):
-        * Modules/model-element/HTMLModelElement.cpp:
-        (WebCore::HTMLModelElement::notifyFinished):
-        * Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm:
-        (WebCore::writeToTemporaryFile):
-        * bindings/js/JSDOMGlobalObject.cpp:
-        (WebCore::handleResponseOnStreamingAction):
-        * bindings/js/ScriptBufferSourceProvider.h:
-        * css/CSSFontFaceSource.cpp:
-        (WebCore::CSSFontFaceSource::load):
-        * css/CSSFontFaceSource.h:
-        * editing/Editor.cpp:
-        (WebCore::Editor::promisedAttachmentInfo):
-        * editing/Editor.h:
-        * editing/SerializedAttachmentData.h:
-        * editing/cocoa/EditorCocoa.mm:
-        (WebCore::archivedDataForAttributedString):
-        (WebCore::Editor::getPasteboardTypesAndDataForAttachment):
-        (WebCore::Editor::selectionInWebArchiveFormat):
-        (WebCore::Editor::dataInRTFDFormat):
-        (WebCore::Editor::dataInRTFFormat):
-        * editing/cocoa/HTMLConverter.mm:
-        (HTMLConverter::_addAttachmentForElement):
-        (fileWrapperForURL):
-        (fileWrapperForElement):
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::replaceRichContentWithAttachments):
-        (WebCore::extractMarkupAndArchive):
-        (WebCore::sanitizeMarkupWithArchive):
-        (WebCore::WebContentReader::readRTFD):
-        (WebCore::WebContentMarkupReader::readRTFD):
-        (WebCore::WebContentReader::readRTF):
-        (WebCore::WebContentMarkupReader::readRTF):
-        * editing/mac/EditorMac.mm:
-        (WebCore::Editor::imageInWebArchiveFormat):
-        (WebCore::Editor::dataSelectionForPasteboard):
-        * html/FTPDirectoryDocument.cpp:
-        (WebCore::createTemplateDocumentData):
-        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
-        * inspector/NetworkResourcesData.cpp:
-        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
-        * inspector/agents/InspectorNetworkAgent.cpp:
-        (WebCore::InspectorNetworkAgent::cachedResourceContent):
-        * inspector/agents/InspectorPageAgent.cpp:
-        (WebCore::InspectorPageAgent::mainResourceContent):
-        (WebCore::InspectorPageAgent::sharedBufferContent):
-        * loader/ContentFilter.cpp:
-        (WebCore::ContentFilter::deliverResourceData):
-        * loader/CrossOriginPreflightChecker.cpp:
-        (WebCore::CrossOriginPreflightChecker::doPreflight):
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::maybeCreateArchive):
-        (WebCore::DocumentLoader::parsedArchiveData const):
-        (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent):
-        * loader/DocumentLoader.h:
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::loadRequest):
-        * loader/EmptyClients.cpp:
-        * loader/FrameLoader.cpp:
-        (WebCore::FrameLoader::loadResourceSynchronously):
-        * loader/FrameLoader.h:
-        * loader/ResourceLoader.cpp:
-        (WebCore::ResourceLoader::didReceiveDataOrBuffer):
-        * loader/SubresourceLoader.cpp:
-        (WebCore::SubresourceLoader::didReceiveDataOrBuffer):
-        * loader/appcache/ApplicationCacheGroup.cpp:
-        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
-        * loader/appcache/ApplicationCacheHost.cpp:
-        (WebCore::bufferFromResource):
-        (WebCore::ApplicationCacheHost::maybeLoadSynchronously):
-        (WebCore::ApplicationCacheHost::maybeLoadFallbackSynchronously):
-        * loader/appcache/ApplicationCacheHost.h:
-        * loader/appcache/ApplicationCacheResource.cpp:
-        (WebCore::ApplicationCacheResource::deliver):
-        * loader/appcache/ApplicationCacheStorage.cpp:
-        (WebCore::ApplicationCacheStorage::store):
-        (WebCore::ApplicationCacheStorage::loadCache):
-        * loader/archive/cf/LegacyWebArchive.cpp:
-        (WebCore::LegacyWebArchive::createPropertyListRepresentation):
-        (WebCore::LegacyWebArchive::createResource):
-        (WebCore::LegacyWebArchive::create):
-        (WebCore::LegacyWebArchive::extract):
-        (WebCore::LegacyWebArchive::createFromSelection):
-        * loader/archive/mhtml/MHTMLParser.cpp:
-        (WebCore::MHTMLParser::parseNextPart):
-        * loader/cache/CachedApplicationManifest.cpp:
-        (WebCore::CachedApplicationManifest::finishLoading):
-        * loader/cache/CachedCSSStyleSheet.cpp:
-        (WebCore::CachedCSSStyleSheet::sheetText const):
-        (WebCore::CachedCSSStyleSheet::finishLoading):
-        * loader/cache/CachedFont.cpp:
-        (WebCore::CachedFont::finishLoading):
-        (WebCore::CachedFont::ensureCustomFontData):
-        (WebCore::CachedFont::createCustomFontData):
-        (WebCore::CachedFont::checkNotify):
-        * loader/cache/CachedFont.h:
-        * loader/cache/CachedImage.cpp:
-        (WebCore::CachedImage::updateBufferInternal):
-        (WebCore::CachedImage::convertedDataIfNeeded const):
-        * loader/cache/CachedImage.h:
-        * loader/cache/CachedRawResource.cpp:
-        (WebCore::CachedRawResource::updateBuffer):
-        (WebCore::CachedRawResource::finishLoading):
-        * loader/cache/CachedResource.cpp:
-        (WebCore::CachedResource::tryReplaceEncodedData):
-        * loader/cache/CachedResource.h:
-        (WebCore::CachedResource::resourceBuffer const):
-        * loader/cache/CachedSVGDocument.cpp:
-        (WebCore::CachedSVGDocument::finishLoading):
-        * loader/cache/CachedSVGFont.cpp:
-        (WebCore::CachedSVGFont::ensureCustomFontData):
-        * loader/cache/CachedSVGFont.h:
-        * loader/cache/CachedScript.cpp:
-        (WebCore::CachedScript::finishLoading):
-        * loader/cache/CachedTextTrack.cpp:
-        (WebCore::CachedTextTrack::doUpdateBuffer):
-        * loader/cache/CachedXSLStyleSheet.cpp:
-        (WebCore::CachedXSLStyleSheet::finishLoading):
-        * loader/cocoa/DiskCacheMonitorCocoa.h:
-        * loader/cocoa/DiskCacheMonitorCocoa.mm:
-        (WebCore::DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse):
-        (WebCore::DiskCacheMonitor::resourceBecameFileBacked):
-        * page/EditorClient.h:
-        * page/Page.cpp:
-        (WebCore::Page::userStyleSheet const):
-        * page/PageSerializer.cpp:
-        (WebCore::PageSerializer::serializeFrame):
-        (WebCore::PageSerializer::serializeCSSStyleSheet):
-        (WebCore::PageSerializer::addImageToResources):
-        * page/PageSerializer.h:
-        * page/ShareData.h:
-        * page/ShareDataReader.cpp:
-        (WebCore::ShareDataReader::ShareDataReader):
-        (WebCore::ShareDataReader::didFinishLoading):
-        * platform/KeyedCoding.h:
-        * platform/Pasteboard.h:
-        * platform/PasteboardCustomData.cpp:
-        (WebCore::PasteboardCustomData::createSharedBuffer const):
-        (WebCore::PasteboardCustomData::fromSharedBuffer):
-        * platform/PasteboardCustomData.h:
-        * platform/PasteboardStrategy.h:
-        * platform/PasteboardWriterData.h:
-        * platform/PlatformPasteboard.h:
-        * platform/PromisedAttachmentInfo.h:
-        * platform/SharedBuffer.cpp:
-        (WebCore::SharedBuffer::SharedBuffer):
-        (WebCore::SharedBuffer::makeContiguous const):
-        (WebCore::SharedBuffer::size const):
-        (WebCore::SharedBuffer::isEmpty const):
-        (WebCore::SharedBuffer::isContiguous const):
-        (WebCore::SharedBuffer::append):
-        (WebCore::SharedBuffer::copy const):
-        (WebCore::SharedBuffer::hasOneSegment const):
-        (WebCore::ContiguousSharedBuffer::ContiguousSharedBuffer):
-        (WebCore::ContiguousSharedBuffer::createWithContentsOfFile):
-        (WebCore::ContiguousSharedBuffer::data const):
-        (WebCore::ContiguousSharedBuffer::dataAsCharPtr const):
-        (WebCore::DataSegment::data const):
-        (WebCore::DataSegment::containsMappedFileData const):
-        (WebCore::ContiguousSharedBuffer::decoder const):
-        (WebCore::DataSegment::size const):
-        (WebCore::SharedBufferDataView::SharedBufferDataView):
-        (WebCore::SharedBufferDataView::dataAsCharPtr const):
-        (WebCore::SharedBufferDataView::createSharedBuffer const):
-        (WebCore::utf8Buffer):
-        * platform/SharedBuffer.h:
-        (WebCore::DataSegment::create):
-        (WebCore::DataSegment::DataSegment):
-        (WebCore::SharedBuffer::create):
-        (WebCore::ContiguousSharedBuffer::create):
-        * platform/audio/cocoa/MediaSessionManagerCocoa.mm:
-        (WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):
-        * platform/cf/KeyedEncoderCF.cpp:
-        (WebCore::KeyedEncoderCF::finishEncoding):
-        * platform/cf/KeyedEncoderCF.h:
-        * platform/cf/SharedBufferCF.cpp:
-        (WebCore::ContiguousSharedBuffer::createCFData const):
-        (WebCore::SharedBuffer::append):
-        * platform/cocoa/PasteboardCocoa.mm:
-        (WebCore::convertTIFFToPNG):
-        (WebCore::Pasteboard::readBufferForTypeWithSecurityCheck):
-        * platform/cocoa/SharedBufferCocoa.mm:
-        (-[WebCoreSharedBufferData initWithDataSegment:position:size:]):
-        (WebCore::ContiguousSharedBuffer::createNSData const):
-        (WebCore::ContiguousSharedBuffer::createCFData const):
-        (WebCore::ContiguousSharedBuffer::createFromReadingFile):
-        (WebCore::DataSegment::createNSData const):
-        * platform/encryptedmedia/CDMUtilities.cpp:
-        (WebCore::CDMUtilities::parseJSONObject):
-        * platform/encryptedmedia/clearkey/CDMClearKey.cpp:
-        (WebCore::extractKeyidsLocationFromCencInitData):
-        (WebCore::extractKeyidsFromCencInitData):
-        (WebCore::extractKeyIdFromWebMInitData):
-        * platform/generic/KeyedEncoderGeneric.cpp:
-        (WebCore::KeyedEncoderGeneric::finishEncoding):
-        * platform/generic/KeyedEncoderGeneric.h:
-        * platform/glib/KeyedEncoderGlib.cpp:
-        (WebCore::KeyedEncoderGlib::finishEncoding):
-        * platform/glib/KeyedEncoderGlib.h:
-        * platform/glib/SharedBufferGlib.cpp:
-        (WebCore::ContiguousSharedBuffer::createGBytes const):
-        (WebCore::ContiguousSharedBuffer::createFromReadingFile):
-        * platform/graphics/Font.cpp:
-        (WebCore::Font::create):
-        * platform/graphics/Font.h:
-        * platform/graphics/FontPlatformData.h:
-        * platform/graphics/Model.cpp:
-        (WebCore::Model::create):
-        (WebCore::Model::Model):
-        * platform/graphics/Model.h:
-        (WebCore::Model::encode const):
-        (WebCore::Model::decode):
-        * platform/graphics/WOFFFileFormat.cpp:
-        (WebCore::readUInt32):
-        (WebCore::readUInt16):
-        (WebCore::isWOFF):
-        (WebCore::convertWOFFToSfnt):
-        (WebCore::convertWOFFToSfntIfNecessary):
-        * platform/graphics/WOFFFileFormat.h:
-        * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
-        (WebCore::extractSinfData):
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
-        (WebCore::parseJSONValue):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::loadSession):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequests):
-        (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):
-        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
-        (WebCore::ImageDecoderAVFObjC::ImageDecoderAVFObjC):
-        (WebCore::ImageDecoderAVFObjC::setData):
-        * platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
-        (WebCore::SourceBufferParserAVFObjC::appendData):
-        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
-        (WebCore::PlatformResourceMediaLoader::dataReceived):
-        (WebCore::DataURLResourceMediaLoader::DataURLResourceMediaLoader):
-        * platform/graphics/cairo/FontCustomPlatformData.h:
-        * platform/graphics/cg/ImageDecoderCG.cpp:
-        (WebCore::sharedBufferGetBytesAtPosition):
-        (WebCore::ImageDecoderCG::ImageDecoderCG):
-        (WebCore::ImageDecoderCG::setData):
-        * platform/graphics/cg/PDFDocumentImage.cpp:
-        (WebCore::PDFDocumentImage::createPDFDocument):
-        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
-        (WebCore::FontPlatformData::platformOpenTypeTable const):
-        * platform/graphics/cocoa/SourceBufferParserWebM.cpp:
-        * platform/graphics/coretext/FontPlatformDataCoreText.cpp:
-        (WebCore::FontPlatformData::openTypeTable const):
-        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
-        (WebCore::createFontCustomPlatformData):
-        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
-        (WebCore::FontPlatformData::openTypeTable const):
-        * platform/graphics/gstreamer/GStreamerCommon.cpp:
-        (WebCore::GstMappedOwnedBuffer::createSharedBuffer):
-        * platform/graphics/gstreamer/GStreamerCommon.h:
-        * platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:
-        (WebCore::ImageDecoderGStreamer::pushEncodedData):
-        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
-        (WebCore::MediaPlayerPrivateGStreamer::initializationDataEncountered):
-        * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:
-        (WebCore::markupText):
-        (WebCore::InitData::extractCencIfNeeded):
-        * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
-        (WebCore::InitData::InitData):
-        * platform/graphics/mac/FontCustomPlatformData.cpp:
-        (WebCore::createFontCustomPlatformData):
-        * platform/graphics/mac/FontCustomPlatformData.h:
-        * platform/graphics/mac/PDFDocumentImageMac.mm:
-        (WebCore::PDFDocumentImage::createPDFDocument):
-        * platform/graphics/opentype/OpenTypeMathData.cpp:
-        (WebCore::OpenType::MathItalicsCorrectionInfo::getItalicCorrection const):
-        (WebCore::OpenType::MathGlyphInfo::mathItalicsCorrectionInfo const):
-        (WebCore::OpenType::GlyphAssembly::getAssemblyParts const):
-        (WebCore::OpenType::MathGlyphConstruction::getSizeVariants const):
-        (WebCore::OpenType::MathGlyphConstruction::getAssemblyParts const):
-        (WebCore::OpenType::MathVariants::mathGlyphConstruction const):
-        (WebCore::OpenType::MATHTable::mathConstants const):
-        (WebCore::OpenType::MATHTable::mathGlyphInfo const):
-        (WebCore::OpenType::MATHTable::mathVariants const):
-        * platform/graphics/opentype/OpenTypeMathData.h:
-        * platform/graphics/opentype/OpenTypeTypes.h:
-        (WebCore::OpenType::validateTable):
-        (WebCore::OpenType::TableBase::isValidEnd):
-        (WebCore::OpenType::TableBase::validatePtr):
-        (WebCore::OpenType::TableBase::validateOffset const):
-        (WebCore::OpenType::TableWithCoverage::getCoverageIndex const):
-        * platform/graphics/opentype/OpenTypeUtilities.cpp:
-        (WebCore::renameFont):
-        (WebCore::renameAndActivateFont):
-        * platform/graphics/opentype/OpenTypeUtilities.h:
-        * platform/graphics/opentype/OpenTypeVerticalData.cpp:
-        (WebCore::OpenType::SubstitutionSubTable::coverage const):
-        (WebCore::OpenType::LookupTable::getSubstitutions const):
-        (WebCore::OpenType::LookupList::lookup const):
-        (WebCore::OpenType::FeatureTable::getGlyphSubstitutions const):
-        (WebCore::OpenType::FeatureList::feature const):
-        (WebCore::OpenType::FeatureList::findFeature const):
-        (WebCore::OpenType::LangSysTable::feature const):
-        (WebCore::OpenType::ScriptTable::defaultLangSys const):
-        (WebCore::OpenType::ScriptList::script const):
-        (WebCore::OpenType::ScriptList::defaultScript const):
-        (WebCore::OpenType::ScriptList::defaultLangSys const):
-        (WebCore::OpenType::GSUBTable::scriptList const):
-        (WebCore::OpenType::GSUBTable::featureList const):
-        (WebCore::OpenType::GSUBTable::lookupList const):
-        (WebCore::OpenType::GSUBTable::defaultLangSys const):
-        (WebCore::OpenType::GSUBTable::feature const):
-        (WebCore::OpenType::GSUBTable::getVerticalGlyphSubstitutions const):
-        (WebCore::loadHmtxTable):
-        (WebCore::OpenTypeVerticalData::loadMetrics):
-        (WebCore::OpenTypeVerticalData::loadVerticalGlyphSubstitutions):
-        * platform/graphics/win/FontCustomPlatformData.cpp:
-        (WebCore::createFontCustomPlatformData):
-        * platform/graphics/win/FontCustomPlatformData.h:
-        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
-        (WebCore::createFontCustomPlatformData):
-        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
-        (WebCore::FontPlatformData::openTypeTable const):
-        * platform/graphics/win/FontPlatformDataWin.cpp:
-        (WebCore::FontPlatformData::platformOpenTypeTable const):
-        * platform/gtk/SelectionData.h:
-        (WebCore::SelectionData::setCustomData):
-        (WebCore::SelectionData::customData const):
-        * platform/image-decoders/ScalableImageDecoder.h:
-        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
-        (WebCore::readICCProfile):
-        (WebCore::JPEGImageDecoder::setICCProfile):
-        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
-        * platform/ios/PlatformPasteboardIOS.mm:
-        (WebCore::PlatformPasteboard::bufferForType):
-        (WebCore::PlatformPasteboard::write):
-        (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
-        (WebCore::createItemProviderRegistrationList):
-        (WebCore::PlatformPasteboard::readBuffer const):
-        * platform/mac/PasteboardMac.mm:
-        (WebCore::fileWrapper):
-        (WebCore::readBufferAtPreferredItemIndex):
-        (WebCore::Pasteboard::read):
-        * platform/mac/PasteboardWriter.mm:
-        (WebCore::createPasteboardWriter):
-        * platform/mac/PlatformPasteboardMac.mm:
-        (WebCore::PlatformPasteboard::bufferForType):
-        (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
-        (WebCore::PlatformPasteboard::write):
-        (WebCore::PlatformPasteboard::setBufferForType):
-        (WebCore::PlatformPasteboard::readBuffer const):
-        (WebCore::createPasteboardItem):
-        * platform/network/FormData.cpp:
-        (WebCore::FormData::asSharedBuffer const):
-        * platform/network/FormData.h:
-        * platform/network/ResourceHandleClient.cpp:
-        (WebCore::ResourceHandleClient::didReceiveBuffer):
-        * platform/network/cocoa/WebCoreNSURLSession.mm:
-        (-[WebCoreNSURLSessionDataTask resource:receivedData:]):
-        * platform/network/curl/CurlMultipartHandle.cpp:
-        (WebCore::CurlMultipartHandle::didReceiveData):
-        (WebCore::CurlMultipartHandle::didComplete):
-        (WebCore::CurlMultipartHandle::processContent):
-        * platform/network/curl/CurlRequest.cpp:
-        (WebCore::CurlRequest::writeDataToDownloadFileIfEnabled):
-        * platform/network/curl/CurlResourceHandleDelegate.cpp:
-        (WebCore::CurlResourceHandleDelegate::curlDidReceiveBuffer):
-        * platform/win/PasteboardWin.cpp:
-        (WebCore::createGlobalImageFileContent):
-        (WebCore::createGlobalHDropContent):
-        * platform/win/SharedBufferWin.cpp:
-        (WebCore::ContiguousSharedBuffer::createFromReadingFile):
-        * testing/MockCDMFactory.cpp:
-        (WebCore::MockCDM::sanitizeResponse const):
-        (WebCore::MockCDMInstance::setServerCertificate):
-        (WebCore::MockCDMInstanceSession::updateLicense):
-        * workers/WorkerFontLoadRequest.cpp:
-        (WebCore::WorkerFontLoadRequest::ensureCustomFontData):
-        * workers/service/context/ServiceWorkerFetch.cpp:
-        (WebCore::ServiceWorkerFetch::processResponse):
-        * workers/service/server/SWScriptStorage.cpp:
-        (WebCore::SWScriptStorage::retrieve):
-        * xml/XSLTProcessorLibxslt.cpp:
-        (WebCore::docLoaderFunc):
-        * xml/parser/XMLDocumentParserLibxml2.cpp:
-        (WebCore::openFunc):
-
</del><span class="cx"> 2021-12-12  Sihui Liu  <sihui_liu@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Merge StorageManager with NetworkStorageManager to manage WebStorage by origin
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardImageReadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardImageReaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardImageReader.h       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourcecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesasyncclipboardClipboardItemBindingsDataSourceh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -34,11 +34,11 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Blob;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class DOMPromise;
</span><span class="cx"> class FileReaderLoader;
</span><span class="cx"> class PasteboardCustomData;
</span><span class="cx"> class ScriptExecutionContext;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> class ClipboardItemBindingsDataSource : public ClipboardItemDataSource {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</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="branchessafari613112branchSourceWebCoreModulesasyncclipboardiosClipboardImageReaderIOSmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/ios/ClipboardImageReaderIOS.mm       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesasyncclipboardmacClipboardImageReaderMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/async-clipboard/mac/ClipboardImageReaderMac.mm       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulescacheCacheStorageConnectioncpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/CacheStorageConnection.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/CacheStorageConnection.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/CacheStorageConnection.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulescacheDOMCachecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -301,13 +301,13 @@
</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>-                    taskHandler->addResponseBody(recordPosition, response, data->makeContiguous());
</del><ins>+                    taskHandler->addResponseBody(recordPosition, response, WTFMove(data));
</ins><span class="cx">             });
</span><span class="cx">         }, cachedResourceRequestInitiators().fetch);
</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">@@ -318,7 +318,7 @@
</span><span class="cx"> 
</span><span class="cx">     DOMCacheEngine::ResponseBody body;
</span><span class="cx">     if (auto buffer = responseBody.releaseReturnValue())
</span><del>-        body = buffer->makeContiguous();
</del><ins>+        body = buffer.releaseNonNull();
</ins><span class="cx">     batchPutOperation(request.get(), response.get(), WTFMove(body), [this, protectedThis = Ref { *this }, promise = WTFMove(promise)](ExceptionOr<void>&& result) mutable {
</span><span class="cx">         queueTaskKeepingObjectAlive(*this, TaskSource::DOMManipulation, [promise = WTFMove(promise), result = WTFMove(result)]() mutable {
</span><span class="cx">             promise.settle(WTFMove(result));
</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->makeContiguous() });
</del><ins>+                this->putWithResponseData(WTFMove(promise), WTFMove(request), WTFMove(response), RefPtr<SharedBuffer> { WTFMove(data) });
</ins><span class="cx">         });
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulescacheDOMCacheh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCache.h     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulescacheDOMCacheEnginecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</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->copy();
</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="branchessafari613112branchSourceWebCoreModulescacheDOMCacheEngineh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/cache/DOMCacheEngine.h       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesencryptedmediaInitDataRegistrycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/InitDataRegistry.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     // https://w3c.github.io/encrypted-media/format-registry/initdata/keyids.html#format
</span><span class="cx">     if (buffer.size() > std::numeric_limits<unsigned>::max())
</span><span class="cx">         return std::nullopt;
</span><del>-    String json { buffer.makeContiguous()->data(), static_cast<unsigned>(buffer.size()) };
</del><ins>+    String json { buffer.data(), static_cast<unsigned>(buffer.size()) };
</ins><span class="cx"> 
</span><span class="cx">     auto value = JSON::Value::parseJSON(json);
</span><span class="cx">     if (!value)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">     auto object = JSON::Object::create();
</span><span class="cx">     auto kidsArray = JSON::Array::create();
</span><span class="cx">     for (auto& buffer : keyIDBuffer.value())
</span><del>-        kidsArray->pushString(base64URLEncodeToString(buffer->makeContiguous()->data(), buffer->size()));
</del><ins>+        kidsArray->pushString(base64URLEncodeToString(buffer->data(), buffer->size()));
</ins><span class="cx">     object->setArray("kids", WTFMove(kidsArray));
</span><span class="cx"> 
</span><span class="cx">     CString jsonData = object->toJSONString().utf8();
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesencryptedmediaMediaKeyStatusMapcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     auto length = a.size();
</span><span class="cx">     if (!length || length != b.length())
</span><span class="cx">         return false;
</span><del>-    return !std::memcmp(a.makeContiguous()->data(), b.data(), length);
</del><ins>+    return !std::memcmp(a.data(), b.data(), length);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaKeyStatusMap::has(const BufferSource& keyId)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="cx">     auto& pair = statuses[m_index++];
</span><del>-    auto buffer = ArrayBuffer::create(pair.first->makeContiguous()->data(), pair.first->size());
</del><ins>+    auto buffer = ArrayBuffer::create(pair.first->data(), pair.first->size());
</ins><span class="cx">     return KeyValuePair<BufferSource::VariantType, MediaKeyStatus> { RefPtr<ArrayBuffer>(WTFMove(buffer)), pair.second };
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesfetchFetchBodycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -235,7 +235,7 @@
</span><span class="cx"> void FetchBody::consumeFormData(FetchBodyOwner& owner, Ref<DeferredPromise>&& promise)
</span><span class="cx"> {
</span><span class="cx">     if (auto sharedBuffer = formDataBody().asSharedBuffer()) {
</span><del>-        m_consumer.resolveWithData(WTFMove(promise), owner.contentType(), sharedBuffer->makeContiguous()->data(), sharedBuffer->size());
</del><ins>+        m_consumer.resolveWithData(WTFMove(promise), owner.contentType(), sharedBuffer->data(), sharedBuffer->size());
</ins><span class="cx">         m_data = nullptr;
</span><span class="cx">     } else {
</span><span class="cx">         // FIXME: If the form data contains blobs, load them like we do other blobs.
</span><span class="lines">@@ -272,7 +272,7 @@
</span><span class="cx">     if (isFormData())
</span><span class="cx">         return &const_cast<FormData&>(formDataBody());
</span><span class="cx">     if (auto* data = m_consumer.data())
</span><del>-        return FormData::create(data->makeContiguous()->data(), data->size());
</del><ins>+        return FormData::create(data->data(), data->size());
</ins><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return nullptr;
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">         auto buffer = m_consumer.takeData();
</span><span class="cx">         if (!buffer)
</span><span class="cx">             return nullptr;
</span><del>-        return buffer->makeContiguous();
</del><ins>+        return buffer.releaseNonNull();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (isBlob()) {
</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="branchessafari613112branchSourceWebCoreModulesfetchFetchBodyh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBody.h    2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesfetchFetchBodyConsumercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -275,7 +275,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>-                resolveWithTypeAndData(WTFMove(promise), type, contentType, data->makeContiguous()->data(), data->size());
</del><ins>+                resolveWithTypeAndData(WTFMove(promise), type, contentType, data->data(), data->size());
</ins><span class="cx">         });
</span><span class="cx">         m_sink->pipeFrom(*stream);
</span><span class="cx">         return;
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx">         return;
</span><span class="cx">     case FetchBodyConsumer::Type::FormData: {
</span><span class="cx">         auto buffer = takeData();
</span><del>-        if (auto formData = packageFormData(context, contentType, buffer ? buffer->makeContiguous()->data() : nullptr, buffer ? buffer->size() : 0))
</del><ins>+        if (auto formData = packageFormData(context, contentType, buffer ? buffer->data() : nullptr, buffer ? buffer->size() : 0))
</ins><span class="cx">             promise->resolve<IDLInterface<DOMFormData>>(*formData);
</span><span class="cx">         else
</span><span class="cx">             promise->reject(TypeError);
</span><span class="lines">@@ -362,7 +362,7 @@
</span><span class="cx">     if (!m_buffer)
</span><span class="cx">         return String();
</span><span class="cx"> 
</span><del>-    auto text = TextResourceDecoder::textFromUTF8(m_buffer->makeContiguous()->data(), m_buffer->size());
</del><ins>+    auto text = TextResourceDecoder::textFromUTF8(m_buffer->data(), m_buffer->size());
</ins><span class="cx">     m_buffer = nullptr;
</span><span class="cx">     return text;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesfetchFetchResponsecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -400,8 +400,7 @@
</span><span class="cx">     if (!data)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto contiguousBuffer = data->makeContiguous();
-    Span chunk { contiguousBuffer->data(), data->size() };
</del><ins>+    Span chunk { data->data(), data->size() };
</ins><span class="cx">     m_consumeDataCallback(&chunk);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -442,7 +441,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></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesfetchFetchResponseh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/fetch/FetchResponse.h        2021-12-15 03:28:23 UTC (rev 287061)
</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></pre></div>
<a id="branchessafari613112branchSourceWebCoreModuleshighlightAppHighlighth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlight.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlight.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlight.h     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> void AppHighlight::encode(Encoder& encoder) const
</span><span class="cx"> {
</span><span class="cx">     encoder << static_cast<size_t>(highlight->size());
</span><del>-    encoder.encodeFixedLengthData(highlight->makeContiguous()->data(), highlight->size(), 1);
</del><ins>+    encoder.encodeFixedLengthData(highlight->data(), highlight->size(), 1);
</ins><span class="cx"> 
</span><span class="cx">     encoder << text;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModuleshighlightAppHighlightRangeDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/highlight/AppHighlightRangeData.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -46,8 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> std::optional<AppHighlightRangeData> AppHighlightRangeData::create(const SharedBuffer& buffer)
</span><span class="cx"> {
</span><del>-    auto contiguousBuffer = buffer.makeContiguous();
-    auto decoder = contiguousBuffer->decoder();
</del><ins>+    auto decoder = buffer.decoder();
</ins><span class="cx">     std::optional<AppHighlightRangeData> data;
</span><span class="cx">     decoder >> data;
</span><span class="cx">     return data;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesindexeddbserverIDBSerializationcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesindexeddbserverIDBSerializationh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/IDBSerialization.h  2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreModulesindexeddbserverSQLiteIDBBackingStorecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -686,7 +686,7 @@
</span><span class="cx">     SQLiteTransaction transaction(*m_sqliteDB);
</span><span class="cx">     transaction.begin();
</span><span class="cx"> 
</span><del>-    auto keyPathBlob = serializeIDBKeyPath(info.keyPath());
</del><ins>+    RefPtr<SharedBuffer> keyPathBlob = serializeIDBKeyPath(info.keyPath());
</ins><span class="cx">     if (!keyPathBlob) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKeyPath to save in database");
</span><span class="cx">         return false;
</span><span class="lines">@@ -1174,7 +1174,7 @@
</span><span class="cx">         return IDBError { UnknownError, "Attempt to create an object store in a non-version-change transaction"_s };
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto keyPathBlob = serializeIDBKeyPath(info.keyPath());
</del><ins>+    RefPtr<SharedBuffer> keyPathBlob = serializeIDBKeyPath(info.keyPath());
</ins><span class="cx">     if (!keyPathBlob) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKeyPath to save in database for new object store");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKeyPath to save in database for new object store"_s };
</span><span class="lines">@@ -1387,7 +1387,7 @@
</span><span class="cx">         return IDBError { UnknownError, "Attempt to create an index in a non-version-change transaction"_s };
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto keyPathBlob = serializeIDBKeyPath(info.keyPath());
</del><ins>+    RefPtr<SharedBuffer> keyPathBlob = serializeIDBKeyPath(info.keyPath());
</ins><span class="cx">     if (!keyPathBlob) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKeyPath to save in database");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKeyPath to create index in database"_s };
</span><span class="lines">@@ -1464,7 +1464,7 @@
</span><span class="cx"> {
</span><span class="cx">     hasRecord = false;
</span><span class="cx"> 
</span><del>-    auto indexKeyBuffer = serializeIDBKeyData(indexKey);
</del><ins>+    RefPtr<SharedBuffer> indexKeyBuffer = serializeIDBKeyData(indexKey);
</ins><span class="cx">     if (!indexKeyBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize index key to be stored in the database");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKey to check for index record in database"_s };
</span><span class="lines">@@ -1533,13 +1533,13 @@
</span><span class="cx"> {
</span><span class="cx">     LOG(IndexedDB, "SQLiteIDBBackingStore::uncheckedPutIndexRecord - %s, %s", keyValue.loggingString().utf8().data(), indexKey.loggingString().utf8().data());
</span><span class="cx"> 
</span><del>-    auto indexKeyBuffer = serializeIDBKeyData(indexKey);
</del><ins>+    RefPtr<SharedBuffer> indexKeyBuffer = serializeIDBKeyData(indexKey);
</ins><span class="cx">     if (!indexKeyBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize index key to be stored in the database");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize index key to be stored in the database"_s };
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto valueBuffer = serializeIDBKeyData(keyValue);
</del><ins>+    RefPtr<SharedBuffer> valueBuffer = serializeIDBKeyData(keyValue);
</ins><span class="cx">     if (!valueBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize the value to be stored in the database");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize value to be stored in the database"_s };
</span><span class="lines">@@ -1661,7 +1661,7 @@
</span><span class="cx">     if (!transaction || !transaction->inProgress())
</span><span class="cx">         return IDBError { UnknownError, "Attempt to see if key exists in objectstore without an in-progress transaction"_s };
</span><span class="cx"> 
</span><del>-    auto keyBuffer = serializeIDBKeyData(keyData);
</del><ins>+    RefPtr<SharedBuffer> keyBuffer = serializeIDBKeyData(keyData);
</ins><span class="cx">     if (!keyBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKey to check for existence in object store");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKey to check for existence in object store"_s };
</span><span class="lines">@@ -1741,7 +1741,7 @@
</span><span class="cx">     ASSERT(transaction.mode() != IDBTransactionMode::Readonly);
</span><span class="cx">     UNUSED_PARAM(transaction);
</span><span class="cx"> 
</span><del>-    auto keyBuffer = serializeIDBKeyData(keyData);
</del><ins>+    RefPtr<SharedBuffer> keyBuffer = serializeIDBKeyData(keyData);
</ins><span class="cx">     if (!keyBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKeyData to be removed from the database");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKeyData to be removed from the database"_s };
</span><span class="lines">@@ -1962,7 +1962,7 @@
</span><span class="cx">         return IDBError { UnknownError, "Attempt to store a record in an object store in a read-only transaction"_s };
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto keyBuffer = serializeIDBKeyData(keyData);
</del><ins>+    RefPtr<SharedBuffer> keyBuffer = serializeIDBKeyData(keyData);
</ins><span class="cx">     if (!keyBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKey to be stored in an object store");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKey to be stored in an object store"_s };
</span><span class="lines">@@ -2124,7 +2124,7 @@
</span><span class="cx">     auto key = keyRange.lowerKey;
</span><span class="cx">     if (key.isNull())
</span><span class="cx">         key = IDBKeyData::minimum();
</span><del>-    auto lowerBuffer = serializeIDBKeyData(key);
</del><ins>+    RefPtr<SharedBuffer> lowerBuffer = serializeIDBKeyData(key);
</ins><span class="cx">     if (!lowerBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize lower IDBKey in lookup range");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize lower IDBKey in lookup range"_s };
</span><span class="lines">@@ -2133,7 +2133,7 @@
</span><span class="cx">     key = keyRange.upperKey;
</span><span class="cx">     if (key.isNull())
</span><span class="cx">         key = IDBKeyData::maximum();
</span><del>-    auto upperBuffer = serializeIDBKeyData(key);
</del><ins>+    RefPtr<SharedBuffer> upperBuffer = serializeIDBKeyData(key);
</ins><span class="cx">     if (!upperBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize upper IDBKey in lookup range");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize upper IDBKey in lookup range"_s };
</span><span class="lines">@@ -2443,7 +2443,7 @@
</span><span class="cx"> 
</span><span class="cx">     ASSERT(key.isValid() && key.type() != IndexedDB::KeyType::Max && key.type() != IndexedDB::KeyType::Min);
</span><span class="cx"> 
</span><del>-    auto buffer = serializeIDBKeyData(key);
</del><ins>+    RefPtr<SharedBuffer> buffer = serializeIDBKeyData(key);
</ins><span class="cx">     if (!buffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize IDBKey to look up one index record");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize IDBKey to look up one index record"_s };
</span><span class="lines">@@ -2508,7 +2508,7 @@
</span><span class="cx">     outCount = 0;
</span><span class="cx"> 
</span><span class="cx">     auto lowerKey = range.lowerKey.isNull() ? IDBKeyData::minimum() : range.lowerKey;
</span><del>-    auto lowerBuffer = serializeIDBKeyData(lowerKey);
</del><ins>+    RefPtr<SharedBuffer> lowerBuffer = serializeIDBKeyData(lowerKey);
</ins><span class="cx">     if (!lowerBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize lower IDBKey in lookup range");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize lower IDBKey in lookup range for count operation"_s };
</span><span class="lines">@@ -2515,7 +2515,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     auto upperKey = range.upperKey.isNull() ? IDBKeyData::maximum() : range.upperKey;
</span><del>-    auto upperBuffer = serializeIDBKeyData(upperKey);
</del><ins>+    RefPtr<SharedBuffer> upperBuffer = serializeIDBKeyData(upperKey);
</ins><span class="cx">     if (!upperBuffer) {
</span><span class="cx">         LOG_ERROR("Unable to serialize upper IDBKey in lookup range");
</span><span class="cx">         return IDBError { UnknownError, "Unable to serialize upper IDBKey in lookup range for count operation"_s };
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesindexeddbserverSQLiteIDBCursorcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/indexeddb/server/SQLiteIDBCursor.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -269,7 +269,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto buffer = serializeIDBKeyData(m_currentLowerKey);
</del><ins>+    RefPtr<SharedBuffer> buffer = serializeIDBKeyData(m_currentLowerKey);
</ins><span class="cx">     if (m_statement->bindBlob(currentBindArgument++, *buffer) != SQLITE_OK) {
</span><span class="cx">         LOG_ERROR("Could not create cursor statement (lower key)");
</span><span class="cx">         return false;
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto buffer = serializeIDBKeyData(key);
</del><ins>+    RefPtr<SharedBuffer> buffer = serializeIDBKeyData(key);
</ins><span class="cx">     if (m_preIndexStatement->bindBlob(currentBindArgument++, *buffer) != SQLITE_OK) {
</span><span class="cx">         LOG_ERROR("Could not bind id argument to pre statement (key)");
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesmediastreamRTCDataChannelRemoteHandlercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     m_isReadyToSend = true;
</span><span class="cx"> 
</span><span class="cx">     for (auto& message : m_pendingMessages)
</span><del>-        m_connection->sendData(m_remoteIdentifier, message.isRaw, message.buffer->makeContiguous()->data(), message.buffer->size());
</del><ins>+        m_connection->sendData(m_remoteIdentifier, message.isRaw, message.buffer->data(), message.buffer->size());
</ins><span class="cx">     m_pendingMessages.clear();
</span><span class="cx"> 
</span><span class="cx">     if (m_isPendingClose)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesmediastreamlibwebrtcLibWebRTCDataChannelHandlercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx"> 
</span><span class="cx">     for (auto& message : m_bufferedMessages) {
</span><span class="cx">         switchOn(message, [&](Ref<SharedBuffer>& data) {
</span><del>-            client.didReceiveRawData(data->makeContiguous()->data(), data->size());
</del><ins>+            client.didReceiveRawData(data->data(), data->size());
</ins><span class="cx">         }, [&](String& text) {
</span><span class="cx">             client.didReceiveStringData(text);
</span><span class="cx">         }, [&](StateChange stateChange) {
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesmodelelementHTMLModelElementcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/HTMLModelElement.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/HTMLModelElement.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/HTMLModelElement.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_dataComplete = true;
</span><del>-    m_model = Model::create(m_data.releaseNonNull()->makeContiguous().get(), resource.mimeType(), resource.url());
</del><ins>+    m_model = Model::create(m_data.releaseNonNull().get(), resource.mimeType(), resource.url());
</ins><span class="cx"> 
</span><span class="cx">     invalidateResourceHandleAndUpdateRenderer();
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreModulesmodelelementscenekitSceneKitModelLoaderUSDmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">     auto filePath = FileSystem::openTemporaryFile("ModelFile", fileHandle, ".usdz");
</span><span class="cx">     ASSERT(FileSystem::isHandleValid(fileHandle));
</span><span class="cx"> 
</span><del>-    size_t byteCount = FileSystem::writeToFile(fileHandle, modelSource.data()->makeContiguous()->data(), modelSource.data()->size());
</del><ins>+    size_t byteCount = FileSystem::writeToFile(fileHandle, modelSource.data()->data(), modelSource.data()->size());
</ins><span class="cx">     ASSERT_UNUSED(byteCount, byteCount == modelSource.data()->size());
</span><span class="cx">     FileSystem::closeFile(fileHandle);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCorebindingsjsJSDOMGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/bindings/js/JSDOMGlobalObject.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorebindingsjsScriptBufferSourceProviderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/bindings/js/ScriptBufferSourceProvider.h     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -51,15 +51,13 @@
</span><span class="cx">         if (m_scriptBuffer.isEmpty())
</span><span class="cx">             return emptyString();
</span><span class="cx"> 
</span><del>-        if (!m_contiguousBuffer && (!m_containsOnlyASCII || *m_containsOnlyASCII))
-            m_contiguousBuffer = m_scriptBuffer.buffer()->makeContiguous();
</del><span class="cx">         if (!m_containsOnlyASCII) {
</span><del>-            m_containsOnlyASCII = charactersAreAllASCII(m_contiguousBuffer->data(), m_scriptBuffer.buffer()->size());
</del><ins>+            m_containsOnlyASCII = charactersAreAllASCII(m_scriptBuffer.buffer()->data(), m_scriptBuffer.buffer()->size());
</ins><span class="cx">             if (*m_containsOnlyASCII)
</span><del>-                m_scriptHash = StringHasher::computeHashAndMaskTop8Bits(m_contiguousBuffer->data(), m_scriptBuffer.buffer()->size());
</del><ins>+                m_scriptHash = StringHasher::computeHashAndMaskTop8Bits(m_scriptBuffer.buffer()->data(), m_scriptBuffer.buffer()->size());
</ins><span class="cx">         }
</span><span class="cx">         if (*m_containsOnlyASCII)
</span><del>-            return { m_contiguousBuffer->data(), static_cast<unsigned>(m_scriptBuffer.buffer()->size()) };
</del><ins>+            return { m_scriptBuffer.buffer()->data(), static_cast<unsigned>(m_scriptBuffer.buffer()->size()) };
</ins><span class="cx"> 
</span><span class="cx">         if (!m_cachedScriptString) {
</span><span class="cx">             m_cachedScriptString = m_scriptBuffer.toString();
</span><span class="lines">@@ -83,7 +81,6 @@
</span><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         m_scriptBuffer = scriptBuffer;
</span><del>-        m_contiguousBuffer = nullptr;
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -94,7 +91,6 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ScriptBuffer m_scriptBuffer;
</span><del>-    mutable RefPtr<ContiguousSharedBuffer> m_contiguousBuffer;
</del><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="branchessafari613112branchSourceWebCorecssCSSFontFaceSourcecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorecssCSSFontFaceSourceh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/css/CSSFontFaceSource.h      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -34,7 +34,6 @@
</span><span class="cx"> 
</span><span class="cx"> class CSSFontFace;
</span><span class="cx"> class CSSFontSelector;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class Document;
</span><span class="cx"> class Font;
</span><span class="cx"> class FontCreationContext;
</span><span class="lines">@@ -43,6 +42,7 @@
</span><span class="cx"> struct FontSelectionSpecifiedCapabilities;
</span><span class="cx"> struct FontVariantSettings;
</span><span class="cx"> class SVGFontFaceElement;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> template <typename T> class FontTaggedSettings;
</span><span class="cx"> typedef FontTaggedSettings<int> FontFeatureSettings;
</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="branchessafari613112branchSourceWebCoredomDataTransfercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/dom/DataTransfer.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/dom/DataTransfer.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/dom/DataTransfer.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreeditingEditorcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</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></pre></div>
<a id="branchessafari613112branchSourceWebCoreeditingEditorh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/Editor.h     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -57,10 +57,9 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternativeTextController;
</span><span class="cx"> class ArchiveResource;
</span><ins>+class DataTransfer;
</ins><span class="cx"> class CompositeEditCommand;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class CustomUndoStep;
</span><del>-class DataTransfer;
</del><span class="cx"> class DeleteButtonController;
</span><span class="cx"> class EditCommand;
</span><span class="cx"> class EditCommandComposition;
</span><span class="lines">@@ -539,7 +538,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">@@ -576,7 +575,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 +623,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="branchessafari613112branchSourceWebCoreeditingSerializedAttachmentDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/SerializedAttachmentData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/SerializedAttachmentData.h        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/SerializedAttachmentData.h   2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreeditingWebContentReaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/WebContentReader.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/WebContentReader.h        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/WebContentReader.h   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -78,10 +78,10 @@
</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">@@ -105,10 +105,10 @@
</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="branchessafari613112branchSourceWebCoreeditingWebCorePasteboardFileReadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreeditingWebCorePasteboardFileReaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/WebCorePasteboardFileReader.h        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreeditingcocoaEditorCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/EditorCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/EditorCocoa.mm      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/EditorCocoa.mm 2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreeditingcocoaHTMLConvertermm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/HTMLConverter.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/HTMLConverter.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/HTMLConverter.mm       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -1273,7 +1273,7 @@
</span><span class="cx">         if (auto resource = dataSource->subresource(url)) {
</span><span class="cx">             auto& mimeType = resource->mimeType();
</span><span class="cx">             if (!usePlaceholder || mimeType != "text/html") {
</span><del>-                fileWrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:resource->data().makeContiguous()->createNSData().get()]);
</del><ins>+                fileWrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:resource->data().createNSData().get()]);
</ins><span class="cx">                 [fileWrapper setPreferredFilename:suggestedFilenameWithMIMEType(url, mimeType)];
</span><span class="cx">             } else
</span><span class="cx">                 notFound = YES;
</span><span class="lines">@@ -2300,7 +2300,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (dataSource) {
</span><span class="cx">         if (RefPtr<ArchiveResource> resource = dataSource->subresource(URL)) {
</span><del>-            auto wrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:resource->data().makeContiguous()->createNSData().get()]);
</del><ins>+            auto wrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:resource->data().createNSData().get()]);
</ins><span class="cx">             NSString *filename = resource->response().suggestedFilename();
</span><span class="cx">             if (!filename || ![filename length])
</span><span class="cx">                 filename = suggestedFilenameWithMIMEType(resource->url(), resource->mimeType());
</span><span class="lines">@@ -2323,7 +2323,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (CachedImage* cachedImage = element.cachedImage()) {
</span><span class="cx">         if (SharedBuffer* sharedBuffer = cachedImage->resourceBuffer())
</span><del>-            return adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:sharedBuffer->makeContiguous()->createNSData().get()]);
</del><ins>+            return adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:sharedBuffer->createNSData().get()]);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     auto* renderer = element.renderer();
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreeditingcocoaWebContentReaderCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm       2021-12-15 03:28:23 UTC (rev 287061)
</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">@@ -309,7 +309,7 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         auto& resource = resourceEntry->value;
</span><del>-        serializedAttachmentData.append({ attachment.uniqueIdentifier(), resource->mimeType(), resource->data().makeContiguous() });
</del><ins>+        serializedAttachmentData.append({ attachment.uniqueIdentifier(), resource->mimeType(), resource->data() });
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!serializedAttachmentData.isEmpty())
</span><span class="lines">@@ -332,7 +332,7 @@
</span><span class="cx">         if (name.isEmpty())
</span><span class="cx">             name = "media"_s;
</span><span class="cx"> 
</span><del>-        attachmentInsertionInfo.append({ WTFMove(name), resource->value->mimeType(), resource->value->data().makeContiguous(), image });
</del><ins>+        attachmentInsertionInfo.append({ WTFMove(name), resource->value->mimeType(), resource->value->data(), image });
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     for (auto& object : descendantsOfType<HTMLObjectElement>(fragment)) {
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">         if (name.isEmpty())
</span><span class="cx">             name = "file"_s;
</span><span class="cx"> 
</span><del>-        attachmentInsertionInfo.append({ WTFMove(name), resource->value->mimeType(), resource->value->data().makeContiguous(), object });
</del><ins>+        attachmentInsertionInfo.append({ WTFMove(name), resource->value->mimeType(), resource->value->data(), object });
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     for (auto& info : attachmentInsertionInfo) {
</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">@@ -442,7 +442,7 @@
</span><span class="cx">     if (!canShowMIMETypeAsHTML(type))
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><del>-    return MarkupAndArchive { String::fromUTF8(mainResource->data().makeContiguous()->data(), mainResource->data().size()), mainResource.releaseNonNull(), archive.releaseNonNull() };
</del><ins>+    return MarkupAndArchive { String::fromUTF8(mainResource->data().data(), mainResource->data().size()), mainResource.releaseNonNull(), archive.releaseNonNull() };
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static String sanitizeMarkupWithArchive(Frame& frame, Document& destinationDocument, MarkupAndArchive& markupAndArchive, MSOListQuirks msoListQuirks, const std::function<bool(const String)>& canShowMIMETypeAsHTML)
</span><span class="lines">@@ -481,7 +481,7 @@
</span><span class="cx">         if (!shouldReplaceSubresourceURL(subframeURL))
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        MarkupAndArchive subframeContent = { String::fromUTF8(subframeMainResource->data().makeContiguous()->data(), subframeMainResource->data().size()),
</del><ins>+        MarkupAndArchive subframeContent = { String::fromUTF8(subframeMainResource->data().data(), subframeMainResource->data().size()),
</ins><span class="cx">             subframeMainResource.releaseNonNull(), subframeArchive.copyRef() };
</span><span class="cx">         auto subframeMarkup = sanitizeMarkupWithArchive(frame, destinationDocument, subframeContent, MSOListQuirks::Disabled, canShowMIMETypeAsHTML);
</span><span class="cx"> 
</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">@@ -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="branchessafari613112branchSourceWebCoreeditingmacEditorMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/editing/mac/EditorMac.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/editing/mac/EditorMac.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/editing/mac/EditorMac.mm     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorehtmlFTPDirectoryDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/html/FTPDirectoryDocument.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/html/FTPDirectoryDocument.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/html/FTPDirectoryDocument.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreinspectorNetworkResourcesDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/inspector/NetworkResourcesData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/inspector/NetworkResourcesData.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/inspector/NetworkResourcesData.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -103,10 +103,10 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_decoder) {
</span><span class="cx">         m_base64Encoded = false;
</span><del>-        m_content = m_decoder->decodeAndFlush(m_dataBuffer->makeContiguous()->data(), dataLength);
</del><ins>+        m_content = m_decoder->decodeAndFlush(m_dataBuffer->data(), dataLength);
</ins><span class="cx">     } else {
</span><span class="cx">         m_base64Encoded = true;
</span><del>-        m_content = base64EncodeToString(m_dataBuffer->makeContiguous()->data(), dataLength);
</del><ins>+        m_content = base64EncodeToString(m_dataBuffer->data(), dataLength);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_dataBuffer = nullptr;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreinspectoragentsInspectorNetworkAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -1407,12 +1407,12 @@
</span><span class="cx">         if (InspectorNetworkAgent::shouldTreatAsText(resource.mimeType())) {
</span><span class="cx">             auto decoder = InspectorNetworkAgent::createTextDecoder(resource.mimeType(), resource.response().textEncodingName());
</span><span class="cx">             *base64Encoded = false;
</span><del>-            *result = decoder->decodeAndFlush(buffer->makeContiguous()->data(), buffer->size());
</del><ins>+            *result = decoder->decodeAndFlush(buffer->data(), buffer->size());
</ins><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         *base64Encoded = true;
</span><del>-        *result = base64EncodeToString(buffer->makeContiguous()->data(), buffer->size());
</del><ins>+        *result = base64EncodeToString(buffer->data(), buffer->size());
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreinspectoragentsInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorPageAgent.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorPageAgent.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/inspector/agents/InspectorPageAgent.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -103,12 +103,12 @@
</span><span class="cx">     RefPtr<SharedBuffer> buffer = frame->loader().documentLoader()->mainResourceData();
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return false;
</span><del>-    return InspectorPageAgent::dataContent(buffer->makeContiguous()->data(), buffer->size(), frame->document()->encoding(), withBase64Encode, result);
</del><ins>+    return InspectorPageAgent::dataContent(buffer->data(), buffer->size(), frame->document()->encoding(), withBase64Encode, result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool InspectorPageAgent::sharedBufferContent(RefPtr<SharedBuffer>&& buffer, const String& textEncodingName, bool withBase64Encode, String* result)
</span><span class="cx"> {
</span><del>-    return dataContent(buffer ? buffer->makeContiguous()->data() : nullptr, buffer ? buffer->size() : 0, textEncodingName, withBase64Encode, result);
</del><ins>+    return dataContent(buffer ? buffer->data() : nullptr, buffer ? buffer->size() : 0, textEncodingName, withBase64Encode, result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool InspectorPageAgent::dataContent(const uint8_t* data, unsigned size, const String& textEncodingName, bool withBase64Encode, String* result)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderContentFiltercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/ContentFilter.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/ContentFilter.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/ContentFilter.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx">     ASSERT(m_state == State::Allowed);
</span><span class="cx">     ASSERT(resource.dataBufferingPolicy() == DataBufferingPolicy::BufferData);
</span><span class="cx">     if (auto* resourceBuffer = resource.resourceBuffer())
</span><del>-        m_client.dataReceivedThroughContentFilter(resourceBuffer->makeContiguous()->data(), resourceBuffer->size());
</del><ins>+        m_client.dataReceivedThroughContentFilter(resourceBuffer->data(), resourceBuffer->size());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static const URL& blockedPageURL()
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderCrossOriginPreflightCheckercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/CrossOriginPreflightChecker.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/CrossOriginPreflightChecker.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/CrossOriginPreflightChecker.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -1605,11 +1605,11 @@
</span><span class="cx">     addAllArchiveResources(*m_archive);
</span><span class="cx">     ASSERT(m_archive->mainResource());
</span><span class="cx">     auto& mainResource = *m_archive->mainResource();
</span><del>-    m_parsedArchiveData = mainResource.data().makeContiguous();
</del><ins>+    m_parsedArchiveData = &mainResource.data();
</ins><span class="cx">     m_writer.setMIMEType(mainResource.mimeType());
</span><span class="cx"> 
</span><span class="cx">     ASSERT(m_frame->document());
</span><del>-    commitData(m_parsedArchiveData->data(), mainResource.data().size());
</del><ins>+    commitData(mainResource.data().data(), mainResource.data().size());
</ins><span class="cx">     return true;
</span><span class="cx"> #endif
</span><span class="cx"> }
</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">@@ -2253,7 +2253,7 @@
</span><span class="cx">     frameLoader()->setupForReplace();
</span><span class="cx">     m_committed = false;
</span><span class="cx">     RefPtr<SharedBuffer> resourceData = mainResourceData();
</span><del>-    commitLoad(resourceData->makeContiguous()->data(), resourceData->size());
</del><ins>+    commitLoad(resourceData->data(), resourceData->size());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void DocumentLoader::startIconLoading()
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderDocumentLoaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentLoader.h      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -75,7 +75,6 @@
</span><span class="cx"> class CachedRawResource;
</span><span class="cx"> class CachedResourceLoader;
</span><span class="cx"> class ContentFilter;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> struct CustomHeaderFields;
</span><span class="cx"> class FormState;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -236,7 +235,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">@@ -613,7 +612,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></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderDocumentThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentThreadableLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentThreadableLoader.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/DocumentThreadableLoader.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloaderEmptyClientscpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/EmptyClients.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/EmptyClients.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/EmptyClients.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/FrameLoader.h 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -59,7 +59,6 @@
</span><span class="cx"> class CachedPage;
</span><span class="cx"> class CachedResource;
</span><span class="cx"> class Chrome;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class DOMWrapperWorld;
</span><span class="cx"> class Document;
</span><span class="cx"> class DocumentLoader;
</span><span class="lines">@@ -77,6 +76,7 @@
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><span class="cx"> class SerializedScriptValue;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> class SubstituteData;
</span><span class="cx"> 
</span><span class="cx"> enum class CachePolicy : uint8_t;
</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="branchessafari613112branchSourceWebCoreloaderResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/ResourceLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/ResourceLoader.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/ResourceLoader.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -334,8 +334,13 @@
</span><span class="cx">     if (m_options.dataBufferingPolicy == DataBufferingPolicy::DoNotBufferData)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!m_resourceData || dataPayloadType == DataPayloadWholeResource)
-        m_resourceData = SharedBuffer::create();
</del><ins>+    if (!m_resourceData || dataPayloadType == DataPayloadWholeResource) {
+        if (buffer)
+            m_resourceData = buffer;
+        else
+            m_resourceData = SharedBuffer::create(data, length);
+        return;
+    }
</ins><span class="cx">     
</span><span class="cx">     if (buffer)
</span><span class="cx">         m_resourceData->append(*buffer);
</span><span class="lines">@@ -566,7 +571,7 @@
</span><span class="cx">     // However, with today's computers and networking speeds, this won't happen in practice.
</span><span class="cx">     // Could be an issue with a giant local file.
</span><span class="cx">     if (m_options.sendLoadCallbacks == SendCallbackPolicy::SendCallbacks && m_frame)
</span><del>-        frameLoader()->notifier().didReceiveData(this, buffer ? buffer->makeContiguous()->data() : data, buffer ? buffer->size() : length, static_cast<int>(encodedDataLength));
</del><ins>+        frameLoader()->notifier().didReceiveData(this, buffer ? buffer->data() : data, buffer ? buffer->size() : length, static_cast<int>(encodedDataLength));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ResourceLoader::didFinishLoading(const NetworkLoadMetrics& networkLoadMetrics)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderSubresourceLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/SubresourceLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/SubresourceLoader.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/SubresourceLoader.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -561,7 +561,7 @@
</span><span class="cx">         if (auto* resourceData = this->resourceData())
</span><span class="cx">             m_resource->updateBuffer(*resourceData);
</span><span class="cx">         else
</span><del>-            m_resource->updateData(buffer ? buffer->makeContiguous()->data() : data, buffer ? buffer->size() : length);
</del><ins>+            m_resource->updateData(buffer ? buffer->data() : data, buffer ? buffer->size() : length);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheGroupcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -605,7 +605,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    auto manifest = parseApplicationCacheManifest(m_manifestURL, m_manifestResource->response().mimeType(), m_manifestResource->data().makeContiguous()->data(), m_manifestResource->data().size());
</del><ins>+    auto manifest = parseApplicationCacheManifest(m_manifestURL, m_manifestResource->response().mimeType(), m_manifestResource->data().data(), m_manifestResource->data().size());
</ins><span class="cx">     if (!manifest) {
</span><span class="cx">         // At the time of this writing, lack of "CACHE MANIFEST" signature is the only reason for parseManifest to fail.
</span><span class="cx">         m_frame->document()->addConsoleMessage(MessageSource::AppCache, MessageLevel::Error, "Application Cache manifest could not be parsed. Does it start with CACHE MANIFEST?"_s);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheHostcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -253,14 +253,16 @@
</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><ins>+    // FIXME: Clients probably do not need a copy of the SharedBuffer.
+    // Remove the call to copy() once we ensure SharedBuffer will not be modified.
</ins><span class="cx">     if (resource.path().isEmpty())
</span><del>-        return resource.data().makeContiguous();
-    return ContiguousSharedBuffer::createWithContentsOfFile(resource.path());
</del><ins>+        return resource.data().copy();
+    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 +279,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 class="lines">@@ -288,7 +290,9 @@
</span><span class="cx">         ApplicationCacheResource* resource;
</span><span class="cx">         if (getApplicationCacheFallbackResource(request, resource)) {
</span><span class="cx">             response = resource->response();
</span><del>-            data = resource->data().makeContiguous();
</del><ins>+            // FIXME: Clients proably do not need a copy of the SharedBuffer.
+            // Remove the call to copy() once we ensure SharedBuffer will not be modified.
+            data = resource->data().copy();
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheHosth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheHost.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -42,7 +42,6 @@
</span><span class="cx"> class ApplicationCacheGroup;
</span><span class="cx"> class ApplicationCacheResource;
</span><span class="cx"> class ApplicationCacheStorage;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class DOMApplicationCache;
</span><span class="cx"> class DocumentLoader;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -50,6 +49,7 @@
</span><span class="cx"> class ResourceLoader;
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> class ResourceResponse;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> class SubstituteData;
</span><span class="cx"> 
</span><span class="cx"> class ApplicationCacheHost {
</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="branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheResourcecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheResource.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</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().copy() : 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="branchessafari613112branchSourceWebCoreloaderappcacheApplicationCacheStoragecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -815,7 +815,7 @@
</span><span class="cx">         dataStatement->bindText(2, path);
</span><span class="cx">     } else {
</span><span class="cx">         if (resource->data().size())
</span><del>-            dataStatement->bindBlob(1, resource->data().makeContiguous().get());
</del><ins>+            dataStatement->bindBlob(1, resource->data());
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (!dataStatement->executeCommand()) {
</span><span class="lines">@@ -1113,7 +1113,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></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderarchivecfLegacyWebArchivecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">     // Resource data can be empty, but must be represented by an empty CFDataRef
</span><span class="cx">     auto& data = resource->data();
</span><span class="cx"> 
</span><del>-    CFDictionarySetValue(propertyList.get(), LegacyWebArchiveResourceDataKey, data.makeContiguous()->createCFData().get());
</del><ins>+    CFDictionarySetValue(propertyList.get(), LegacyWebArchiveResourceDataKey, data.createCFData().get());
</ins><span class="cx"> 
</span><span class="cx">     // Resource URL cannot be null
</span><span class="cx">     if (auto cfURL = resource->url().string().createCFString())
</span><span class="lines">@@ -117,9 +117,9 @@
</span><span class="cx">     // Don't include the resource response for the main resource
</span><span class="cx">     if (!isMainResource) {
</span><span class="cx">         if (auto resourceResponseData = createPropertyListRepresentation(resource->response()))
</span><del>-            CFDictionarySetValue(propertyList.get(), LegacyWebArchiveResourceResponseKey, resourceResponseData.get());
</del><ins>+            CFDictionarySetValue(propertyList.get(), LegacyWebArchiveResourceResponseKey, resourceResponseData.get());    
</ins><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     return propertyList;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -215,13 +215,13 @@
</span><span class="cx">             LOG(Archives, "LegacyWebArchive - Resource response data is not of type CFData, cannot create invalid resource");
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><del>-
</del><ins>+        
</ins><span class="cx">         auto resourceResponseVersion = static_cast<CFStringRef>(CFDictionaryGetValue(dictionary, LegacyWebArchiveResourceResponseVersionKey));
</span><span class="cx">         if (resourceResponseVersion && CFGetTypeID(resourceResponseVersion) != CFStringGetTypeID()) {
</span><span class="cx">             LOG(Archives, "LegacyWebArchive - Resource response version is not of type CFString, cannot create invalid resource");
</span><span class="cx">             return nullptr;
</span><span class="cx">         }
</span><del>-
</del><ins>+        
</ins><span class="cx">         response = createResourceResponseFromPropertyListData(resourceResponseData, resourceResponseVersion);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -256,15 +256,15 @@
</span><span class="cx"> RefPtr<LegacyWebArchive> LegacyWebArchive::create(const URL&, SharedBuffer& data)
</span><span class="cx"> {
</span><span class="cx">     LOG(Archives, "LegacyWebArchive - Creating from raw data");
</span><del>-
</del><ins>+    
</ins><span class="cx">     Ref<LegacyWebArchive> archive = create();
</span><del>-
-    RetainPtr<CFDataRef> cfData = data.makeContiguous()->createCFData();
</del><ins>+        
+    RetainPtr<CFDataRef> cfData = data.createCFData();
</ins><span class="cx">     if (!cfData)
</span><span class="cx">         return nullptr;
</span><del>-
</del><ins>+        
</ins><span class="cx">     CFErrorRef error = nullptr;
</span><del>-
</del><ins>+    
</ins><span class="cx">     RetainPtr<CFDictionaryRef> plist = adoptCF(static_cast<CFDictionaryRef>(CFPropertyListCreateWithData(0, cfData.get(), kCFPropertyListImmutable, 0, &error)));
</span><span class="cx">     if (!plist) {
</span><span class="cx"> #ifndef NDEBUG
</span><span class="lines">@@ -276,12 +276,12 @@
</span><span class="cx">             CFRelease(error);
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     if (CFGetTypeID(plist.get()) != CFDictionaryGetTypeID()) {
</span><span class="cx">         LOG(Archives, "LegacyWebArchive - Archive property list is not the expected CFDictionary, aborting invalid WebArchive");
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     if (!archive->extract(plist.get()))
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx">         LOG(Archives, "LegacyWebArchive - Null root CFDictionary, aborting invalid WebArchive");
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     CFDictionaryRef mainResourceDict = static_cast<CFDictionaryRef>(CFDictionaryGetValue(dictionary, LegacyWebArchiveMainResourceKey));
</span><span class="cx">     if (!mainResourceDict) {
</span><span class="cx">         LOG(Archives, "LegacyWebArchive - No main resource in archive, aborting invalid WebArchive");
</span><span class="lines">@@ -333,7 +333,7 @@
</span><span class="cx">                 LOG(Archives, "LegacyWebArchive - Subresource is not expected CFDictionary, aborting invalid WebArchive");
</span><span class="cx">                 return false;
</span><span class="cx">             }
</span><del>-
</del><ins>+            
</ins><span class="cx">             if (auto subresource = createResource(subresourceDict))
</span><span class="cx">                 addSubresource(subresource.releaseNonNull());
</span><span class="cx">         }
</span><span class="lines">@@ -353,7 +353,7 @@
</span><span class="cx">                 LOG(Archives, "LegacyWebArchive - Subframe array is not expected CFDictionary, aborting invalid WebArchive");
</span><span class="cx">                 return false;
</span><span class="cx">             }
</span><del>-
</del><ins>+            
</ins><span class="cx">             auto subframeArchive = create();
</span><span class="cx">             if (subframeArchive->extract(subframeDict))
</span><span class="cx">                 addSubframeArchive(WTFMove(subframeArchive));
</span><span class="lines">@@ -361,7 +361,7 @@
</span><span class="cx">                 LOG(Archives, "LegacyWebArchive - Invalid subframe archive skipped");
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -506,7 +506,7 @@
</span><span class="cx"> {
</span><span class="cx">     auto& response = frame.loader().documentLoader()->response();
</span><span class="cx">     URL responseURL = response.url();
</span><del>-
</del><ins>+    
</ins><span class="cx">     // it's possible to have a response without a URL here
</span><span class="cx">     // <rdar://problem/5454935>
</span><span class="cx">     if (responseURL.isNull())
</span><span class="lines">@@ -605,7 +605,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (!document->isFrameSet())
</span><span class="cx">         return archive;
</span><del>-
</del><ins>+        
</ins><span class="cx">     // Wrap the frameset document in an iframe so it can be pasted into
</span><span class="cx">     // another document (which will have a body or frameset of its own). 
</span><span class="cx">     String iframeMarkup = "<iframe frameborder=\"no\" marginwidth=\"0\" marginheight=\"0\" width=\"98%%\" height=\"98%%\" src=\"" + frame->loader().documentLoader()->response().url().string() + "\"></iframe>";
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloaderarchivemhtmlMHTMLParsercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -193,10 +193,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Vector<uint8_t> data;
</span><del>-    auto contiguousContent = content->makeContiguous();
</del><span class="cx">     switch (mimeHeader.contentTransferEncoding()) {
</span><span class="cx">     case MIMEHeader::Base64: {
</span><del>-        auto decodedData = base64Decode(contiguousContent->data(), content->size());
</del><ins>+        auto decodedData = base64Decode(content->data(), content->size());
</ins><span class="cx">         if (!decodedData) {
</span><span class="cx">             LOG_ERROR("Invalid base64 content for MHTML part.");
</span><span class="cx">             return nullptr;
</span><span class="lines">@@ -205,17 +204,17 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case MIMEHeader::QuotedPrintable:
</span><del>-        data = quotedPrintableDecode(contiguousContent->data(), content->size());
</del><ins>+        data = quotedPrintableDecode(content->data(), content->size());
</ins><span class="cx">         break;
</span><span class="cx">     case MIMEHeader::SevenBit:
</span><span class="cx">     case MIMEHeader::Binary:
</span><del>-        data.append(contiguousContent->data(), content->size());
</del><ins>+        data.append(content->data(), content->size());
</ins><span class="cx">         break;
</span><span class="cx">     default:
</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="branchessafari613112branchSourceWebCoreloadercacheCachedApplicationManifestcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedApplicationManifest.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedApplicationManifest.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedApplicationManifest.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -42,14 +42,10 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedApplicationManifest::finishLoading(SharedBuffer* data, const NetworkLoadMetrics& metrics)
</span><span class="cx"> {
</span><del>-    if (data) {
-        m_data = data->makeContiguous();
-        setEncodedSize(data->size());
-        m_text = m_decoder->decodeAndFlush(m_data->data(), data->size());
-    } else {
-        m_data = nullptr;
-        setEncodedSize(0);
-    }
</del><ins>+    m_data = data;
+    setEncodedSize(data ? data->size() : 0);
+    if (data)
+        m_text = m_decoder->decodeAndFlush(data->data(), data->size());
</ins><span class="cx">     CachedResource::finishLoading(data, metrics);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedCSSStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">         return m_decodedSheetText;
</span><span class="cx"> 
</span><span class="cx">     // Don't cache the decoded text, regenerating is cheap and it can use quite a bit of memory
</span><del>-    return m_decoder->decodeAndFlush(m_data->makeContiguous()->data(), m_data->size());
</del><ins>+    return m_decoder->decodeAndFlush(m_data->data(), m_data->size());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CachedCSSStyleSheet::setBodyDataFrom(const CachedResource& resource)
</span><span class="lines">@@ -99,15 +99,11 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedCSSStyleSheet::finishLoading(SharedBuffer* data, const NetworkLoadMetrics& metrics)
</span><span class="cx"> {
</span><del>-    if (data) {
-        m_data = data->makeContiguous();
-        setEncodedSize(data->size());
-        // Decode the data to find out the encoding and keep the sheet text around during checkNotify()
-        m_decodedSheetText = m_decoder->decodeAndFlush(m_data->data(), data->size());
-    } else {
-        m_data = nullptr;
-        setEncodedSize(0);
-    }
</del><ins>+    m_data = data;
+    setEncodedSize(data ? data->size() : 0);
+    // Decode the data to find out the encoding and keep the sheet text around during checkNotify()
+    if (data)
+        m_decodedSheetText = m_decoder->decodeAndFlush(data->data(), data->size());
</ins><span class="cx">     setLoading(false);
</span><span class="cx">     checkNotify(metrics);
</span><span class="cx">     // Clear the decoded text as it is unlikely to be needed immediately again and is cheap to regenerate.
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedFontcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -66,13 +66,8 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedFont::finishLoading(SharedBuffer* data, const NetworkLoadMetrics& metrics)
</span><span class="cx"> {
</span><del>-    if (data) {
-        m_data = data->makeContiguous();
-        setEncodedSize(m_data->size());
-    } else {
-        m_data = nullptr;
-        setEncodedSize(0);
-    }
</del><ins>+    m_data = data;
+    setEncodedSize(m_data.get() ? m_data->size() : 0);
</ins><span class="cx">     setLoading(false);
</span><span class="cx">     checkNotify(metrics);
</span><span class="cx"> }
</span><span class="lines">@@ -95,7 +90,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,9 +103,9 @@
</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><del>-    RefPtr buffer = { &bytes };
</del><ins>+    RefPtr buffer { &bytes };
</ins><span class="cx">     wrapping = !convertWOFFToSfntIfNecessary(buffer);
</span><span class="cx">     return buffer ? createFontCustomPlatformData(*buffer, itemInCollection) : nullptr;
</span><span class="cx"> }
</span><span class="lines">@@ -140,7 +135,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (isLoading())
</span><span class="cx">         return;
</span><del>-
</del><ins>+    
</ins><span class="cx">     CachedResourceClientWalker<CachedFontClient> walker(m_clients);
</span><span class="cx">     while (CachedFontClient* client = walker.next())
</span><span class="cx">         client->fontLoaded(*this);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedFonth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedFont.h    2021-12-15 03:28:23 UTC (rev 287061)
</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></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedImagecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -470,7 +470,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedImage::updateBufferInternal(SharedBuffer& data)
</span><span class="cx"> {
</span><del>-    m_data = data.makeContiguous();
</del><ins>+    m_data = &data;
</ins><span class="cx">     setEncodedSize(m_data->size());
</span><span class="cx">     createImage();
</span><span class="cx"> 
</span><span class="lines">@@ -523,14 +523,12 @@
</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(SharedBuffer* data) const
</del><ins>+RefPtr<SharedBuffer> CachedImage::convertedDataIfNeeded(SharedBuffer* data) const
</ins><span class="cx"> {
</span><del>-    if (!data)
-        return nullptr;
-    if (!isPostScriptResource())
-        return data->makeContiguous();
</del><ins>+    if (!data || !isPostScriptResource())
+        return data;
</ins><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->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></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedImageh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.h        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedImage.h   2021-12-15 03:28:23 UTC (rev 287061)
</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(SharedBuffer* data) const;
</del><ins>+    RefPtr<SharedBuffer> convertedDataIfNeeded(SharedBuffer* 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></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedRawResourcecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedRawResource.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedRawResource.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedRawResource.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -64,17 +64,17 @@
</span><span class="cx"> 
</span><span class="cx">     CachedResourceHandle<CachedRawResource> protectedThis(this);
</span><span class="cx">     ASSERT(dataBufferingPolicy() == DataBufferingPolicy::BufferData);
</span><del>-    m_data = data.makeContiguous();
</del><ins>+    m_data = &data;
</ins><span class="cx"> 
</span><span class="cx">     auto previousDataSize = encodedSize();
</span><del>-    while (m_data->size() > previousDataSize) {
-        auto incrementalData = m_data->getSomeData(previousDataSize);
</del><ins>+    while (data.size() > previousDataSize) {
+        auto incrementalData = data.getSomeData(previousDataSize);
</ins><span class="cx">         previousDataSize += incrementalData.size();
</span><span class="cx"> 
</span><span class="cx">         SetForScope<bool> notifyScope(m_inIncrementalDataNotify, true);
</span><span class="cx">         notifyClientsDataWasReceived(incrementalData.data(), incrementalData.size());
</span><span class="cx">     }
</span><del>-    setEncodedSize(m_data->size());
</del><ins>+    setEncodedSize(data.size());
</ins><span class="cx"> 
</span><span class="cx">     if (dataBufferingPolicy() == DataBufferingPolicy::DoNotBufferData) {
</span><span class="cx">         if (m_loader)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">             m_loader->setDataBufferingPolicy(DataBufferingPolicy::DoNotBufferData);
</span><span class="cx">         clear();
</span><span class="cx">     } else
</span><del>-        CachedResource::updateBuffer(*m_data);
</del><ins>+        CachedResource::updateBuffer(data);
</ins><span class="cx"> 
</span><span class="cx">     if (m_delayedFinishLoading) {
</span><span class="cx">         auto delayedFinishLoading = std::exchange(m_delayedFinishLoading, std::nullopt);
</span><span class="lines">@@ -107,15 +107,12 @@
</span><span class="cx">     CachedResourceHandle<CachedRawResource> protectedThis(this);
</span><span class="cx">     DataBufferingPolicy dataBufferingPolicy = this->dataBufferingPolicy();
</span><span class="cx">     if (dataBufferingPolicy == DataBufferingPolicy::BufferData) {
</span><del>-        if (data) {
-            if (data != m_data.get())
-                m_data = data->makeContiguous();
-            if (auto incrementalData = calculateIncrementalDataChunk(data)) {
-                setEncodedSize(data->size());
-                notifyClientsDataWasReceived(incrementalData->data(), incrementalData->size());
-            }
-        } else
-            m_data = nullptr;
</del><ins>+        m_data = data;
+
+        if (auto incrementalData = calculateIncrementalDataChunk(data)) {
+            setEncodedSize(data->size());
+            notifyClientsDataWasReceived(incrementalData->data(), incrementalData->size());
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if USE(QUICK_LOOK)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedResourcecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</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 class="lines">@@ -929,7 +929,8 @@
</span><span class="cx">     if (*m_data != newBuffer)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_data = Ref { newBuffer };
</del><ins>+    m_data->clear();
+    m_data->append(newBuffer);
</ins><span class="cx">     didReplaceSharedBufferContents();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedResourceh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedResource.h        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloadercacheCachedSVGDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGDocument.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGDocument.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGDocument.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -57,7 +57,7 @@
</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 class="cx">         m_document = SVGDocument::create(nullptr, m_settings, response().url());
</span><del>-        m_document->setContent(m_decoder->decodeAndFlush(data->makeContiguous()->data(), data->size()));
</del><ins>+        m_document->setContent(m_decoder->decodeAndFlush(data->data(), data->size()));
</ins><span class="cx">     }
</span><span class="cx">     CachedResource::finishLoading(data, metrics);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedSVGFontcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> 
</span><span class="cx">             ScriptDisallowedScope::DisableAssertionsInScope disabledScope;
</span><span class="cx"> 
</span><del>-            m_externalSVGDocument->setContent(decoder->decodeAndFlush(m_data->makeContiguous()->data(), m_data->size()));
</del><ins>+            m_externalSVGDocument->setContent(decoder->decodeAndFlush(m_data->data(), m_data->size()));
</ins><span class="cx">             sawError = decoder->sawError();
</span><span class="cx">         }
</span><span class="cx"> 
</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="branchessafari613112branchSourceWebCoreloadercacheCachedSVGFonth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedSVGFont.h 2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloadercacheCachedScriptcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedScript.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedScript.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedScript.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -98,13 +98,8 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedScript::finishLoading(SharedBuffer* data, const NetworkLoadMetrics& metrics)
</span><span class="cx"> {
</span><del>-    if (data) {
-        m_data = data->makeContiguous();
-        setEncodedSize(data->size());
-    } else {
-        m_data = nullptr;
-        setEncodedSize(0);
-    }
</del><ins>+    m_data = data;
+    setEncodedSize(data ? data->size() : 0);
</ins><span class="cx">     CachedResource::finishLoading(data, metrics);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedTextTrackcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedTextTrack.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedTextTrack.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedTextTrack.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> void CachedTextTrack::doUpdateBuffer(SharedBuffer* data)
</span><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;
</ins><span class="cx">     setEncodedSize(data ? data->size() : 0);
</span><span class="cx"> 
</span><span class="cx">     CachedResourceClientWalker<CachedResourceClient> walker(m_clients);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercacheCachedXSLStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -63,14 +63,10 @@
</span><span class="cx"> 
</span><span class="cx"> void CachedXSLStyleSheet::finishLoading(SharedBuffer* data, const NetworkLoadMetrics& metrics)
</span><span class="cx"> {
</span><del>-    if (data) {
-        m_data = data->makeContiguous();
-        setEncodedSize(data->size());
-        m_sheet = m_decoder->decodeAndFlush(m_data->data(), encodedSize());
-    } else {
-        m_data = nullptr;
-        setEncodedSize(0);
-    }
</del><ins>+    m_data = data;
+    setEncodedSize(data ? data->size() : 0);
+    if (data)
+        m_sheet = m_decoder->decodeAndFlush(data->data(), encodedSize());
</ins><span class="cx">     setLoading(false);
</span><span class="cx">     checkNotify(metrics);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreloadercocoaDiskCacheMonitorCocoah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.h 2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreloadercocoaDiskCacheMonitorCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/loader/cocoa/DiskCacheMonitorCocoa.mm        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorepageEditorClienth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/page/EditorClient.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/page/EditorClient.h       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/page/EditorClient.h  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -39,7 +39,6 @@
</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><span class="cx"> class DocumentFragment;
</span><span class="cx"> class Element;
</span><span class="cx"> class Frame;
</span><span class="lines">@@ -99,7 +98,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="branchessafari613112branchSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/page/Page.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/page/Page.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/page/Page.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorepagePageSerializercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</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">@@ -282,7 +282,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_resources.append({ url, image->response().mimeType(), data->makeContiguous() });
</del><ins>+    m_resources.append({ url, image->response().mimeType(), WTFMove(data) });
</ins><span class="cx">     m_resourceURLs.add(url);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCorepagePageSerializerh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/page/PageSerializer.h        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorepageShareDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/page/ShareData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/page/ShareData.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/page/ShareData.h     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCorepageShareDataReadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/page/ShareDataReader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/page/ShareDataReader.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/page/ShareDataReader.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> ShareDataReader::ShareDataReader(CompletionHandler<void(ExceptionOr<ShareDataWithParsedURL&>)>&& completionHandler)
</span><span class="cx">     : m_completionHandler(WTFMove(completionHandler))
</span><span class="cx"> {
</span><del>-
</del><ins>+    
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ShareDataReader::~ShareDataReader()
</span><span class="lines">@@ -71,15 +71,15 @@
</span><span class="cx">         cancel();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     auto arrayBuffer = m_pendingFileLoads[loadIndex]->arrayBufferResult();
</span><del>-
</del><ins>+    
</ins><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><del>-
</del><ins>+    
</ins><span class="cx">     if (m_filesReadSoFar == static_cast<int>(m_pendingFileLoads.size())) {
</span><span class="cx">         m_pendingFileLoads.clear();
</span><span class="cx">         if (auto completionHandler = std::exchange(m_completionHandler, { }))
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformKeyedCodingh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/KeyedCoding.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/KeyedCoding.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/KeyedCoding.h       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformPasteboardcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformPasteboardh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/Pasteboard.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -61,7 +61,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class DocumentFragment;
</span><span class="cx"> class DragData;
</span><span class="cx"> class Element;
</span><span class="lines">@@ -83,14 +82,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 +119,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 +126,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 +143,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">@@ -165,10 +164,10 @@
</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 +182,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 +308,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 +340,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="branchessafari613112branchSourceWebCoreplatformPasteboardCustomDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformPasteboardCustomDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardCustomData.h      2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformPasteboardStrategyh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardStrategy.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardStrategy.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardStrategy.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Color;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class PasteboardContext;
</span><span class="cx"> class PasteboardCustomData;
</span><span class="cx"> class SelectionData;
</span><span class="lines">@@ -52,7 +51,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 +62,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 +71,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 +85,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="branchessafari613112branchSourceWebCoreplatformPasteboardWriterDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardWriterData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardWriterData.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/PasteboardWriterData.h      2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformPlatformPasteboardh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/PlatformPasteboard.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/PlatformPasteboard.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/PlatformPasteboard.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -47,14 +47,13 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Color;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class PasteboardCustomData;
</span><span class="cx"> class SelectionData;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> struct PasteboardImage;
</span><span class="cx"> struct PasteboardItemInfo;
</span><span class="cx"> struct PasteboardURL;
</span><span class="cx"> struct PasteboardWebContent;
</span><del>-class SharedBuffer;
</del><span class="cx"> 
</span><span class="cx"> class PlatformPasteboard {
</span><span class="cx"> public:
</span><span class="lines">@@ -72,7 +71,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 +85,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 +93,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="branchessafari613112branchSourceWebCoreplatformPromisedAttachmentInfoh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/PromisedAttachmentInfo.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/PromisedAttachmentInfo.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/PromisedAttachmentInfo.h    2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformSharedBuffercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -37,53 +37,31 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create()
</del><ins>+SharedBuffer::SharedBuffer(const uint8_t* data, size_t size)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer);
</del><ins>+    append(data, size);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(const uint8_t* data, size_t size)
</del><ins>+SharedBuffer::SharedBuffer(const char* data, size_t size)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SharedBuffer(data, size));
</del><ins>+    append(reinterpret_cast<const uint8_t*>(data), size);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<SharedBuffer> SharedBuffer::create(FileSystem::MappedFileData&& mappedFileData)
-{
-    return adoptRef(*new SharedBuffer(WTFMove(mappedFileData)));
-}
-
-Ref<SharedBuffer> SharedBuffer::create(Ref<ContiguousSharedBuffer>&& buffer)
-{
-    return adoptRef(*new SharedBuffer(WTFMove(buffer)));
-}
-
-Ref<SharedBuffer> SharedBuffer::create(Vector<uint8_t>&& vector)
-{
-    return adoptRef(*new SharedBuffer(WTFMove(vector)));
-}
-
-Ref<SharedBuffer> SharedBuffer::create(DataSegment::Provider&& provider)
-{
-    return adoptRef(*new SharedBuffer(WTFMove(provider)));
-}
-
-SharedBuffer::SharedBuffer() = default;
-
</del><span class="cx"> SharedBuffer::SharedBuffer(FileSystem::MappedFileData&& fileData)
</span><span class="cx">     : m_size(fileData.size())
</span><span class="cx"> {
</span><del>-    m_segments.append({ 0, DataSegment::create(WTFMove(fileData)) });
</del><ins>+    m_segments.append({0, DataSegment::create(WTFMove(fileData))});
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SharedBuffer::SharedBuffer(DataSegment::Provider&& provider)
</span><span class="cx">     : m_size(provider.size())
</span><span class="cx"> {
</span><del>-    m_segments.append({ 0, DataSegment::create(WTFMove(provider)) });
</del><ins>+    m_segments.append({0, DataSegment::create(WTFMove(provider))});
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBuffer::SharedBuffer(Ref<ContiguousSharedBuffer>&& buffer)
</del><ins>+SharedBuffer::SharedBuffer(Vector<uint8_t>&& data)
</ins><span class="cx"> {
</span><del>-    append(WTFMove(buffer));
</del><ins>+    append(WTFMove(data));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(GSTREAMER)
</span><span class="lines">@@ -95,10 +73,31 @@
</span><span class="cx"> SharedBuffer::SharedBuffer(GstMappedOwnedBuffer& mappedBuffer)
</span><span class="cx">     : m_size(mappedBuffer.size())
</span><span class="cx"> {
</span><del>-    m_segments.append({ 0, DataSegment::create(&mappedBuffer) });
</del><ins>+    m_segments.append({0, DataSegment::create(&mappedBuffer)});
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+RefPtr<SharedBuffer> SharedBuffer::createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode mappedFileMode, MayUseFileMapping mayUseFileMapping)
+{
+    if (mayUseFileMapping == MayUseFileMapping::Yes) {
+        bool mappingSuccess;
+        FileSystem::MappedFileData mappedFileData(filePath, mappedFileMode, mappingSuccess);
+        if (mappingSuccess)
+            return adoptRef(new SharedBuffer(WTFMove(mappedFileData)));
+    }
+
+    auto buffer = FileSystem::readEntireFile(filePath);
+    if (!buffer)
+        return nullptr;
+
+    return SharedBuffer::create(WTFMove(*buffer));
+}
+
+Ref<SharedBuffer> SharedBuffer::create(Vector<uint8_t>&& vector)
+{
+    return adoptRef(*new SharedBuffer(WTFMove(vector)));
+}
+
</ins><span class="cx"> static Vector<uint8_t> combineSegmentsData(const SharedBuffer::DataSegmentVector& segments, size_t size)
</span><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> combinedData;
</span><span class="lines">@@ -109,18 +108,32 @@
</span><span class="cx">     return combinedData;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> SharedBuffer::makeContiguous() const
</del><ins>+void SharedBuffer::combineIntoOneSegment() const
</ins><span class="cx"> {
</span><del>-    if (m_contiguous)
-        return Ref { *static_cast<ContiguousSharedBuffer*>(const_cast<SharedBuffer*>(this)) };
-    if (!m_segments.size())
-        return ContiguousSharedBuffer::create();
-    if (m_segments.size() == 1)
-        return ContiguousSharedBuffer::create(m_segments[0].segment.copyRef());
</del><ins>+#if ASSERT_ENABLED
+    // FIXME: We ought to be able to set this to true and have no assertions fire.
+    // Remove all instances of appending after calling this, because they are all O(n^2) algorithms since r215686.
+    // m_hasBeenCombinedIntoOneSegment = true;
+#endif
+    if (m_segments.size() <= 1)
+        return;
+
</ins><span class="cx">     auto combinedData = combineSegmentsData(m_segments, m_size);
</span><del>-    return ContiguousSharedBuffer::create(WTFMove(combinedData));
</del><ins>+    m_segments.clear();
+    m_segments.append({0, DataSegment::create(WTFMove(combinedData))});
+    ASSERT(m_segments.size() == 1);
+    ASSERT(internallyConsistent());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+const uint8_t* SharedBuffer::data() const
+{
+    if (m_segments.isEmpty())
+        return nullptr;
+    combineIntoOneSegment();
+    ASSERT(internallyConsistent());
+    return m_segments[0].segment->data();
+}
+
</ins><span class="cx"> Vector<uint8_t> SharedBuffer::copyData() const
</span><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> data;
</span><span class="lines">@@ -194,10 +207,10 @@
</span><span class="cx"> 
</span><span class="cx"> void SharedBuffer::append(const SharedBuffer& data)
</span><span class="cx"> {
</span><del>-    ASSERT(!m_contiguous);
</del><ins>+    ASSERT(!m_hasBeenCombinedIntoOneSegment);
</ins><span class="cx">     m_segments.reserveCapacity(m_segments.size() + data.m_segments.size());
</span><span class="cx">     for (const auto& element : data.m_segments) {
</span><del>-        m_segments.uncheckedAppend({ m_size, element.segment.copyRef() });
</del><ins>+        m_segments.uncheckedAppend({m_size, element.segment.copyRef()});
</ins><span class="cx">         m_size += element.segment->size();
</span><span class="cx">     }
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="lines">@@ -205,10 +218,10 @@
</span><span class="cx"> 
</span><span class="cx"> void SharedBuffer::append(const uint8_t* data, size_t length)
</span><span class="cx"> {
</span><del>-    ASSERT(!m_contiguous);
</del><ins>+    ASSERT(!m_hasBeenCombinedIntoOneSegment);
</ins><span class="cx">     Vector<uint8_t> vector;
</span><span class="cx">     vector.append(data, length);
</span><del>-    m_segments.append({ m_size, DataSegment::create(WTFMove(vector)) });
</del><ins>+    m_segments.append({m_size, DataSegment::create(WTFMove(vector))});
</ins><span class="cx">     m_size += length;
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx"> }
</span><span class="lines">@@ -215,9 +228,9 @@
</span><span class="cx"> 
</span><span class="cx"> void SharedBuffer::append(Vector<uint8_t>&& data)
</span><span class="cx"> {
</span><del>-    ASSERT(!m_contiguous);
</del><ins>+    ASSERT(!m_hasBeenCombinedIntoOneSegment);
</ins><span class="cx">     auto dataSize = data.size();
</span><del>-    m_segments.append({ m_size, DataSegment::create(WTFMove(data)) });
</del><ins>+    m_segments.append({m_size, DataSegment::create(WTFMove(data))});
</ins><span class="cx">     m_size += dataSize;
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx"> }
</span><span class="lines">@@ -235,12 +248,17 @@
</span><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><del>-        clone->m_segments.uncheckedAppend({ element.beginPosition, element.segment.copyRef() });
</del><ins>+        clone->m_segments.uncheckedAppend({element.beginPosition, element.segment.copyRef()});
</ins><span class="cx">     ASSERT(clone->internallyConsistent());
</span><span class="cx">     ASSERT(internallyConsistent());
</span><span class="cx">     return clone;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+Ref<SharedBuffer> SharedBuffer::create(DataSegment::Provider&& provider)
+{
+    return adoptRef(*new SharedBuffer(WTFMove(provider)));
+}
+
</ins><span class="cx"> void SharedBuffer::forEachSegment(const Function<void(const Span<const uint8_t>&)>& apply) const
</span><span class="cx"> {
</span><span class="cx">     auto segments = m_segments;
</span><span class="lines">@@ -340,6 +358,12 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool SharedBuffer::hasOneSegment() const
+{
+    auto it = begin();
+    return it != end() && ++it == end();
+}
+
</ins><span class="cx"> #if ASSERT_ENABLED
</span><span class="cx"> bool SharedBuffer::internallyConsistent() const
</span><span class="cx"> {
</span><span class="lines">@@ -353,6 +377,30 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // ASSERT_ENABLED
</span><span class="cx"> 
</span><ins>+const uint8_t* SharedBuffer::DataSegment::data() const
+{
+    auto visitor = WTF::makeVisitor(
+        [](const Vector<uint8_t>& data) -> const uint8_t* { return data.data(); },
+#if USE(CF)
+        [](const RetainPtr<CFDataRef>& data) -> const uint8_t* { return CFDataGetBytePtr(data.get()); },
+#endif
+#if USE(GLIB)
+        [](const GRefPtr<GBytes>& data) -> const uint8_t* { return static_cast<const uint8_t*>(g_bytes_get_data(data.get(), nullptr)); },
+#endif
+#if USE(GSTREAMER)
+        [](const RefPtr<GstMappedOwnedBuffer>& data) -> const uint8_t* { return data->data(); },
+#endif
+        [](const FileSystem::MappedFileData& data) -> const uint8_t* { return static_cast<const uint8_t*>(data.data()); },
+        [](const Provider& provider) -> const uint8_t* { return provider.data(); }
+    );
+    return std::visit(visitor, m_immutableData);
+}
+
+bool SharedBuffer::DataSegment::containsMappedFileData() const
+{
+    return std::holds_alternative<FileSystem::MappedFileData>(m_immutableData);
+}
+
</ins><span class="cx"> #if !USE(CF)
</span><span class="cx"> void SharedBuffer::hintMemoryNotNeededSoon() const
</span><span class="cx"> {
</span><span class="lines">@@ -359,6 +407,11 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+WTF::Persistence::Decoder SharedBuffer::decoder() const
+{
+    return {{ reinterpret_cast<const uint8_t*>(data()), size() }};
+}
+
</ins><span class="cx"> bool SharedBuffer::operator==(const SharedBuffer& other) const
</span><span class="cx"> {
</span><span class="cx">     if (this == &other)
</span><span class="lines">@@ -408,125 +461,9 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ContiguousSharedBuffer::ContiguousSharedBuffer()
</del><ins>+size_t SharedBuffer::DataSegment::size() const
</ins><span class="cx"> {
</span><del>-    m_contiguous = true;
-}
-
-ContiguousSharedBuffer::ContiguousSharedBuffer(Ref<DataSegment>&& segment)
-{
-    m_size = segment->size();
-    m_segments.append({ 0, WTFMove(segment) });
-    m_contiguous = true;
-}
-
-ContiguousSharedBuffer::ContiguousSharedBuffer(Ref<SharedBuffer>&& contiguousBuffer)
-{
-    ASSERT(contiguousBuffer->hasOneSegment() || contiguousBuffer->isEmpty());
-    m_size = contiguousBuffer->size();
-    if (contiguousBuffer->hasOneSegment())
-        m_segments.append({ 0, contiguousBuffer->m_segments[0].segment.copyRef() });
-    m_contiguous = true;
-}
-
-ContiguousSharedBuffer::ContiguousSharedBuffer(FileSystem::MappedFileData&& data)
-    : SharedBuffer(WTFMove(data))
-{
-    m_contiguous = true;
-}
-
-RefPtr<ContiguousSharedBuffer> ContiguousSharedBuffer::createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode mappedFileMode, MayUseFileMapping mayUseFileMapping)
-{
-    if (mayUseFileMapping == MayUseFileMapping::Yes) {
-        bool mappingSuccess;
-        FileSystem::MappedFileData mappedFileData(filePath, mappedFileMode, mappingSuccess);
-        if (mappingSuccess)
-            return adoptRef(new ContiguousSharedBuffer(WTFMove(mappedFileData)));
-    }
-
-    auto buffer = FileSystem::readEntireFile(filePath);
-    if (!buffer)
-        return nullptr;
-
-    return ContiguousSharedBuffer::create(WTFMove(*buffer));
-}
-
-const uint8_t* ContiguousSharedBuffer::data() const
-{
-    if (m_segments.isEmpty())
-        return nullptr;
-    return m_segments[0].segment->data();
-}
-
-WTF::Persistence::Decoder ContiguousSharedBuffer::decoder() const
-{
-    return { { data(), size() } };
-}
-
-Ref<DataSegment> DataSegment::create(Vector<uint8_t>&& data)
-{
-    data.shrinkToFit();
-    return adoptRef(*new DataSegment(WTFMove(data)));
-}
-
-#if USE(CF)
-Ref<DataSegment> DataSegment::create(RetainPtr<CFDataRef>&& data)
-{
-    return adoptRef(*new DataSegment(WTFMove(data)));
-}
-#endif
-
-#if USE(GLIB)
-Ref<DataSegment> DataSegment::create(GRefPtr<GBytes>&& data)
-{
-    return adoptRef(*new DataSegment(WTFMove(data)));
-}
-#endif
-
-#if USE(GSTREAMER)
-Ref<DataSegment> DataSegment::create(RefPtr<GstMappedOwnedBuffer>&& data)
-{
-    return adoptRef(*new DataSegment(WTFMove(data)));
-}
-#endif
-
-Ref<DataSegment> DataSegment::create(FileSystem::MappedFileData&& data)
-{
-    return adoptRef(*new DataSegment(WTFMove(data)));
-}
-
-Ref<DataSegment> DataSegment::create(Provider&& provider)
-{
-    return adoptRef(*new DataSegment(WTFMove(provider)));
-}
-
-const uint8_t* DataSegment::data() const
-{
</del><span class="cx">     auto visitor = WTF::makeVisitor(
</span><del>-        [](const Vector<uint8_t>& data) -> const uint8_t* { return data.data(); },
-#if USE(CF)
-        [](const RetainPtr<CFDataRef>& data) -> const uint8_t* { return CFDataGetBytePtr(data.get()); },
-#endif
-#if USE(GLIB)
-        [](const GRefPtr<GBytes>& data) -> const uint8_t* { return static_cast<const uint8_t*>(g_bytes_get_data(data.get(), nullptr)); },
-#endif
-#if USE(GSTREAMER)
-        [](const RefPtr<GstMappedOwnedBuffer>& data) -> const uint8_t* { return data->data(); },
-#endif
-        [](const FileSystem::MappedFileData& data) -> const uint8_t* { return static_cast<const uint8_t*>(data.data()); },
-        [](const Provider& provider) -> const uint8_t* { return provider.data(); }
-    );
-    return std::visit(visitor, m_immutableData);
-}
-
-bool DataSegment::containsMappedFileData() const
-{
-    return std::holds_alternative<FileSystem::MappedFileData>(m_immutableData);
-}
-
-size_t DataSegment::size() const
-{
-    auto visitor = WTF::makeVisitor(
</del><span class="cx">         [](const Vector<uint8_t>& data) -> size_t { return data.size(); },
</span><span class="cx"> #if USE(CF)
</span><span class="cx">         [](const RetainPtr<CFDataRef>& data) -> size_t { return CFDataGetLength(data.get()); },
</span><span class="lines">@@ -543,7 +480,7 @@
</span><span class="cx">     return std::visit(visitor, m_immutableData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SharedBufferDataView::SharedBufferDataView(Ref<DataSegment>&& segment, size_t positionWithinSegment, std::optional<size_t> size)
</del><ins>+SharedBufferDataView::SharedBufferDataView(Ref<SharedBuffer::DataSegment>&& segment, size_t positionWithinSegment, std::optional<size_t> size)
</ins><span class="cx">     : m_segment(WTFMove(segment))
</span><span class="cx">     , m_positionWithinSegment(positionWithinSegment)
</span><span class="cx">     , m_size(size ? *size : m_segment->size() - positionWithinSegment)
</span><span class="lines">@@ -557,16 +494,26 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> SharedBufferDataView::createSharedBuffer() const
</del><ins>+size_t SharedBufferDataView::size() const
</ins><span class="cx"> {
</span><del>-    const Ref<DataSegment> segment = m_segment;
-    return ContiguousSharedBuffer::create(DataSegment::Provider {
</del><ins>+    return m_size;
+}
+
+const uint8_t* SharedBufferDataView::data() const
+{
+    return m_segment->data() + m_positionWithinSegment;
+}
+
+Ref<SharedBuffer> SharedBufferDataView::createSharedBuffer() const
+{
+    const Ref<SharedBuffer::DataSegment> segment = m_segment;
+    return SharedBuffer::create(SharedBuffer::DataSegment::Provider {
</ins><span class="cx">         [segment, data = data()]() { return data; },
</span><del>-        [size = size()]() { return size; }
</del><ins>+        [segment, size = size()]() { return size; }
</ins><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">@@ -592,7 +539,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="branchessafari613112branchSourceWebCoreplatformSharedBufferh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/SharedBuffer.h      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -62,139 +62,147 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class SharedBufferDataView;
</span><span class="cx"> 
</span><del>-// Data wrapped by a DataSegment should be immutable because it can be referenced by other objects.
-// To modify or combine the data, allocate a new DataSegment.
-class DataSegment : public ThreadSafeRefCounted<DataSegment> {
</del><ins>+class WEBCORE_EXPORT SharedBuffer : public ThreadSafeRefCounted<SharedBuffer> {
</ins><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT const uint8_t* data() const;
-    WEBCORE_EXPORT size_t size() const;
</del><ins>+    static Ref<SharedBuffer> create() { return adoptRef(*new SharedBuffer); }
+    static Ref<SharedBuffer> create(const uint8_t* data, size_t size) { return adoptRef(*new SharedBuffer(data, size)); }
+    static Ref<SharedBuffer> create(const char* data, size_t size) { return adoptRef(*new SharedBuffer(data, size)); }
+    static Ref<SharedBuffer> create(FileSystem::MappedFileData&& mappedFileData) { return adoptRef(*new SharedBuffer(WTFMove(mappedFileData))); }
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT static Ref<DataSegment> create(Vector<uint8_t>&&);
</del><ins>+    enum class MayUseFileMapping : bool { No, Yes };
+    static RefPtr<SharedBuffer> createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode = FileSystem::MappedFileMode::Shared, MayUseFileMapping = MayUseFileMapping::Yes);
</ins><span class="cx"> 
</span><ins>+    static Ref<SharedBuffer> create(Vector<uint8_t>&&);
+
+#if USE(FOUNDATION)
+    RetainPtr<NSData> createNSData() const;
+    RetainPtr<NSArray> createNSDataArray() const;
+    static Ref<SharedBuffer> create(NSData *);
+    void append(NSData *);
+#endif
</ins><span class="cx"> #if USE(CF)
</span><del>-    WEBCORE_EXPORT static Ref<DataSegment> create(RetainPtr<CFDataRef>&&);
</del><ins>+    RetainPtr<CFDataRef> createCFData() const;
+    static Ref<SharedBuffer> create(CFDataRef);
+    void append(CFDataRef);
</ins><span class="cx"> #endif
</span><ins>+
</ins><span class="cx"> #if USE(GLIB)
</span><del>-    WEBCORE_EXPORT static Ref<DataSegment> create(GRefPtr<GBytes>&&);
</del><ins>+    static Ref<SharedBuffer> create(GBytes*);
+    GRefPtr<GBytes> createGBytes() const;
</ins><span class="cx"> #endif
</span><ins>+
</ins><span class="cx"> #if USE(GSTREAMER)
</span><del>-    WEBCORE_EXPORT static Ref<DataSegment> create(RefPtr<GstMappedOwnedBuffer>&&);
</del><ins>+    static Ref<SharedBuffer> create(GstMappedOwnedBuffer&);
</ins><span class="cx"> #endif
</span><del>-    WEBCORE_EXPORT static Ref<DataSegment> create(FileSystem::MappedFileData&&);
</del><ins>+    // Calling data() causes all the data segments to be copied into one segment if they are not already.
+    // Iterate the segments using begin() and end() instead.
+    // FIXME: Audit the call sites of this function and replace them with iteration if possible.
+    const uint8_t* data() const;
+    const char* dataAsCharPtr() const { return reinterpret_cast<const char*>(data()); }
+    Vector<uint8_t> copyData() const;
+    Vector<uint8_t> read(size_t offset, size_t length) const;
</ins><span class="cx"> 
</span><del>-    struct Provider {
-        Function<const uint8_t*()> data;
-        Function<size_t()> size;
-    };
</del><ins>+    // Similar to copyData() but avoids copying and will take the data instead when it is safe (The SharedBuffer is not shared).
+    Vector<uint8_t> extractData();
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT static Ref<DataSegment> create(Provider&&);
</del><ins>+    // Creates an ArrayBuffer and copies this SharedBuffer's contents to that
+    // ArrayBuffer without merging segmented buffers into a flat buffer.
+    RefPtr<ArrayBuffer> tryCreateArrayBuffer() const;
</ins><span class="cx"> 
</span><del>-#if USE(FOUNDATION)
-    WEBCORE_EXPORT RetainPtr<NSData> createNSData() const;
-#endif
</del><ins>+    size_t size() const { return m_size; }
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT bool containsMappedFileData() const;
</del><ins>+    bool isEmpty() const { return !size(); }
</ins><span class="cx"> 
</span><del>-private:
-    explicit DataSegment(Vector<uint8_t>&& data)
-        : m_immutableData(WTFMove(data)) { }
</del><ins>+    void append(const SharedBuffer&);
+    void append(const uint8_t*, size_t);
+    void append(const char* data, size_t length) { append(reinterpret_cast<const uint8_t*>(data), length); }
+    void append(Vector<uint8_t>&&);
+
+    void clear();
+
+    Ref<SharedBuffer> copy() const;
+    void copyTo(void* destination, size_t length) const;
+    void copyTo(void* destination, size_t offset, size_t length) const;
+
+    // Data wrapped by a DataSegment should be immutable because it can be referenced by other objects.
+    // To modify or combine the data, allocate a new DataSegment.
+    class DataSegment : public ThreadSafeRefCounted<DataSegment> {
+    public:
+        WEBCORE_EXPORT const uint8_t* data() const;
+        WEBCORE_EXPORT size_t size() const;
+
+        static Ref<DataSegment> create(Vector<uint8_t>&& data)
+        {
+            data.shrinkToFit();
+            return adoptRef(*new DataSegment(WTFMove(data)));
+        }
+
</ins><span class="cx"> #if USE(CF)
</span><del>-    explicit DataSegment(RetainPtr<CFDataRef>&& data)
-        : m_immutableData(WTFMove(data)) { }
</del><ins>+        static Ref<DataSegment> create(RetainPtr<CFDataRef>&& data) { return adoptRef(*new DataSegment(WTFMove(data))); }
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GLIB)
</span><del>-    explicit DataSegment(GRefPtr<GBytes>&& data)
-        : m_immutableData(WTFMove(data)) { }
</del><ins>+        static Ref<DataSegment> create(GRefPtr<GBytes>&& data) { return adoptRef(*new DataSegment(WTFMove(data))); }
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GSTREAMER)
</span><del>-    explicit DataSegment(RefPtr<GstMappedOwnedBuffer>&& data)
-        : m_immutableData(WTFMove(data)) { }
</del><ins>+        static Ref<DataSegment> create(RefPtr<GstMappedOwnedBuffer>&& data) { return adoptRef(*new DataSegment(WTFMove(data))); }
</ins><span class="cx"> #endif
</span><del>-    explicit DataSegment(FileSystem::MappedFileData&& data)
-        : m_immutableData(WTFMove(data)) { }
-    explicit DataSegment(Provider&& provider)
-        : m_immutableData(WTFMove(provider)) { }
</del><ins>+        static Ref<DataSegment> create(FileSystem::MappedFileData&& data) { return adoptRef(*new DataSegment(WTFMove(data))); }
</ins><span class="cx"> 
</span><del>-    std::variant<Vector<uint8_t>,
</del><ins>+        struct Provider {
+            Function<const uint8_t*()> data;
+            Function<size_t()> size;
+        };
+
+        static Ref<DataSegment> create(Provider&& provider) { return adoptRef(*new DataSegment(WTFMove(provider))); }
+
+#if USE(FOUNDATION)
+        RetainPtr<NSData> createNSData() const;
+#endif
+
+        bool containsMappedFileData() const;
+
+    private:
+        DataSegment(Vector<uint8_t>&& data)
+            : m_immutableData(WTFMove(data)) { }
</ins><span class="cx"> #if USE(CF)
</span><del>-        RetainPtr<CFDataRef>,
</del><ins>+        DataSegment(RetainPtr<CFDataRef>&& data)
+            : m_immutableData(WTFMove(data)) { }
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GLIB)
</span><del>-        GRefPtr<GBytes>,
</del><ins>+        DataSegment(GRefPtr<GBytes>&& data)
+            : m_immutableData(WTFMove(data)) { }
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GSTREAMER)
</span><del>-        RefPtr<GstMappedOwnedBuffer>,
</del><ins>+        DataSegment(RefPtr<GstMappedOwnedBuffer>&& data)
+            : m_immutableData(WTFMove(data)) { }
</ins><span class="cx"> #endif
</span><del>-        FileSystem::MappedFileData,
-        Provider> m_immutableData;
-    friend class SharedBuffer;
-    friend class ContiguousSharedBuffer; // For createCFData
-};
</del><ins>+        DataSegment(FileSystem::MappedFileData&& data)
+            : m_immutableData(WTFMove(data)) { }
+        DataSegment(Provider&& provider)
+            : m_immutableData(WTFMove(provider)) { }
</ins><span class="cx"> 
</span><del>-class SharedBuffer : public ThreadSafeRefCounted<SharedBuffer> {
-public:
-    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&&);
-
-#if USE(FOUNDATION)
-    WEBCORE_EXPORT RetainPtr<NSArray> createNSDataArray() const;
-    WEBCORE_EXPORT static Ref<SharedBuffer> create(NSData*);
-#endif
</del><ins>+        std::variant<Vector<uint8_t>,
</ins><span class="cx"> #if USE(CF)
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(CFDataRef);
</del><ins>+            RetainPtr<CFDataRef>,
</ins><span class="cx"> #endif
</span><del>-
</del><span class="cx"> #if USE(GLIB)
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(GBytes*);
</del><ins>+            GRefPtr<GBytes>,
</ins><span class="cx"> #endif
</span><del>-
</del><span class="cx"> #if USE(GSTREAMER)
</span><del>-    WEBCORE_EXPORT static Ref<SharedBuffer> create(GstMappedOwnedBuffer&);
</del><ins>+            RefPtr<GstMappedOwnedBuffer>,
</ins><span class="cx"> #endif
</span><del>-    WEBCORE_EXPORT Vector<uint8_t> copyData() const;
-    WEBCORE_EXPORT Vector<uint8_t> read(size_t offset, size_t length) const;
</del><ins>+            FileSystem::MappedFileData,
+            Provider> m_immutableData;
+        friend class SharedBuffer;
+    };
</ins><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).
-    Vector<uint8_t> extractData();
</del><ins>+    static Ref<SharedBuffer> create(DataSegment::Provider&&);
</ins><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.
-    WEBCORE_EXPORT RefPtr<ArrayBuffer> tryCreateArrayBuffer() const;
</del><ins>+    void forEachSegment(const Function<void(const Span<const uint8_t>&)>&) const;
+    bool startsWith(const Span<const uint8_t>& prefix) const;
</ins><span class="cx"> 
</span><del>-    size_t size() const { return m_size; }
-    bool isEmpty() const { return !size(); }
-    bool isContiguous() const { return m_contiguous; }
-
-    WEBCORE_EXPORT void append(const SharedBuffer&);
-    WEBCORE_EXPORT void append(const uint8_t*, size_t);
-    void append(const char* data, size_t length) { append(reinterpret_cast<const uint8_t*>(data), length); }
-    WEBCORE_EXPORT void append(Vector<uint8_t>&&);
-#if USE(FOUNDATION)
-    WEBCORE_EXPORT void append(NSData *);
-#endif
-#if USE(CF)
-    WEBCORE_EXPORT void append(CFDataRef);
-#endif
-
-    WEBCORE_EXPORT void clear();
-
-    WEBCORE_EXPORT Ref<SharedBuffer> copy() const;
-    WEBCORE_EXPORT void copyTo(void* destination, size_t length) const;
-    WEBCORE_EXPORT void copyTo(void* destination, size_t offset, size_t length) const;
-
-    WEBCORE_EXPORT void forEachSegment(const Function<void(const Span<const uint8_t>&)>&) const;
-    WEBCORE_EXPORT bool startsWith(const Span<const uint8_t>& prefix) const;
-
-    using DataSegment = WebCore::DataSegment; // To keep backward compatibility when using SharedBuffer::DataSegment
-
</del><span class="cx">     struct DataSegmentVectorEntry {
</span><span class="cx">         size_t beginPosition;
</span><span class="cx">         Ref<DataSegment> segment;
</span><span class="lines">@@ -202,102 +210,53 @@
</span><span class="cx">     using DataSegmentVector = Vector<DataSegmentVectorEntry, 1>;
</span><span class="cx">     DataSegmentVector::const_iterator begin() const { return m_segments.begin(); }
</span><span class="cx">     DataSegmentVector::const_iterator end() const { return m_segments.end(); }
</span><del>-    bool hasOneSegment() const { return m_segments.size() == 1; }
</del><ins>+    bool hasOneSegment() const;
</ins><span class="cx"> 
</span><span class="cx">     // begin and end take O(1) time, this takes O(log(N)) time.
</span><del>-    WEBCORE_EXPORT SharedBufferDataView getSomeData(size_t position) const;
</del><ins>+    SharedBufferDataView getSomeData(size_t position) const;
</ins><span class="cx"> 
</span><del>-    WEBCORE_EXPORT String toHexString() const;
</del><ins>+    String toHexString() const;
</ins><span class="cx"> 
</span><span class="cx">     void hintMemoryNotNeededSoon() const;
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT bool operator==(const SharedBuffer&) const;
</del><ins>+    WTF::Persistence::Decoder decoder() const;
+
+    bool operator==(const SharedBuffer&) const;
</ins><span class="cx">     bool operator!=(const SharedBuffer& other) const { return !operator==(other); }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT Ref<ContiguousSharedBuffer> makeContiguous() const;
-
-protected:
-    friend class ContiguousSharedBuffer;
-
-    DataSegmentVector m_segments;
-    bool m_contiguous { false };
-
-    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>+private:
+    explicit SharedBuffer() = default;
+    explicit SharedBuffer(const uint8_t*, size_t);
+    explicit SharedBuffer(const char*, size_t);
+    explicit SharedBuffer(Vector<uint8_t>&&);
+    explicit SharedBuffer(FileSystem::MappedFileData&&);
+    explicit SharedBuffer(DataSegment::Provider&&);
</ins><span class="cx"> #if USE(CF)
</span><del>-    WEBCORE_EXPORT explicit SharedBuffer(CFDataRef);
</del><ins>+    explicit SharedBuffer(CFDataRef);
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GLIB)
</span><del>-    WEBCORE_EXPORT explicit SharedBuffer(GBytes*);
</del><ins>+    explicit SharedBuffer(GBytes*);
</ins><span class="cx"> #endif
</span><span class="cx"> #if USE(GSTREAMER)
</span><del>-    WEBCORE_EXPORT explicit SharedBuffer(GstMappedOwnedBuffer&);
</del><ins>+    explicit SharedBuffer(GstMappedOwnedBuffer&);
</ins><span class="cx"> #endif
</span><del>-    size_t m_size { 0 };
</del><span class="cx"> 
</span><del>-private:
</del><ins>+    void combineIntoOneSegment() const;
+
</ins><span class="cx">     // Combines all the segments into a Vector and returns that vector after clearing the SharedBuffer.
</span><del>-    WEBCORE_EXPORT Vector<uint8_t> takeData();
</del><ins>+    Vector<uint8_t> takeData();
+
</ins><span class="cx">     const DataSegmentVectorEntry* getSegmentForPosition(size_t positition) const;
</span><span class="cx"> 
</span><ins>+    size_t m_size { 0 };
+    mutable DataSegmentVector m_segments;
+
</ins><span class="cx"> #if ASSERT_ENABLED
</span><ins>+    mutable bool m_hasBeenCombinedIntoOneSegment { false };
</ins><span class="cx">     bool internallyConsistent() const;
</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 {
-public:
-    template <typename... Args>
-    static Ref<ContiguousSharedBuffer> create(Args&&... args)
-    {
-        if constexpr (!sizeof...(Args))
-            return adoptRef(*new ContiguousSharedBuffer());
-        else if constexpr (sizeof...(Args) == 1
-            && (std::is_same_v<Args, Ref<DataSegment>> &&...))
-            return adoptRef(*new ContiguousSharedBuffer(std::forward<Args>(args)...));
-        else {
-            auto buffer = SharedBuffer::create(std::forward<Args>(args)...);
-            return adoptRef(*new ContiguousSharedBuffer(WTFMove(buffer)));
-        }
-    }
-
-    // Ensure that you can't call append on a ContiguousSharedBuffer directly.
-    // When called from the base class, it will assert.
-    template <typename... Args>
-    void append(Args&&...) = delete;
-
-    WEBCORE_EXPORT const uint8_t* data() const;
-    const char* dataAsCharPtr() const { return reinterpret_cast<const char*>(data()); }
-    WTF::Persistence::Decoder decoder() const;
-
-    enum class MayUseFileMapping : bool { No, Yes };
-    WEBCORE_EXPORT static RefPtr<ContiguousSharedBuffer> createWithContentsOfFile(const String& filePath, FileSystem::MappedFileMode = FileSystem::MappedFileMode::Shared, MayUseFileMapping = MayUseFileMapping::Yes);
-
-#if USE(FOUNDATION)
-    WEBCORE_EXPORT RetainPtr<NSData> createNSData() const;
-#endif
-#if USE(CF)
-    WEBCORE_EXPORT RetainPtr<CFDataRef> createCFData() const;
-#endif
-#if USE(GLIB)
-    WEBCORE_EXPORT GRefPtr<GBytes> createGBytes() const;
-#endif
-
-private:
-    WEBCORE_EXPORT ContiguousSharedBuffer();
-    WEBCORE_EXPORT explicit ContiguousSharedBuffer(FileSystem::MappedFileData&&);
-    WEBCORE_EXPORT explicit ContiguousSharedBuffer(Ref<DataSegment>&&);
-    WEBCORE_EXPORT explicit ContiguousSharedBuffer(Ref<SharedBuffer>&&);
-
-    WEBCORE_EXPORT static RefPtr<ContiguousSharedBuffer> createFromReadingFile(const String& filePath);
-};
-
</del><span class="cx"> inline Vector<uint8_t> SharedBuffer::extractData()
</span><span class="cx"> {
</span><span class="cx">     if (hasOneRef())
</span><span class="lines">@@ -305,24 +264,23 @@
</span><span class="cx">     return copyData();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-class SharedBufferDataView {
</del><ins>+class WEBCORE_EXPORT SharedBufferDataView {
</ins><span class="cx"> public:
</span><del>-    WEBCORE_EXPORT SharedBufferDataView(Ref<DataSegment>&&, size_t positionWithinSegment, std::optional<size_t> newSize = std::nullopt);
-    WEBCORE_EXPORT SharedBufferDataView(const SharedBufferDataView&, size_t newSize);
-    size_t size() const { return m_size; }
-    const uint8_t* data() const { return m_segment->data() + m_positionWithinSegment; }
</del><ins>+    SharedBufferDataView(Ref<SharedBuffer::DataSegment>&&, size_t positionWithinSegment, std::optional<size_t> newSize = std::nullopt);
+    SharedBufferDataView(const SharedBufferDataView&, size_t newSize);
+    size_t size() const;
+    const uint8_t* data() const;
</ins><span class="cx">     const char* dataAsCharPtr() const { return reinterpret_cast<const char*>(data()); }
</span><del>-
-    WEBCORE_EXPORT Ref<ContiguousSharedBuffer> createSharedBuffer() const;
</del><ins>+    Ref<SharedBuffer> createSharedBuffer() const;
</ins><span class="cx"> #if USE(FOUNDATION)
</span><del>-    WEBCORE_EXPORT RetainPtr<NSData> createNSData() const;
</del><ins>+    RetainPtr<NSData> createNSData() const;
</ins><span class="cx"> #endif
</span><span class="cx"> private:
</span><del>-    const Ref<DataSegment> m_segment;
</del><ins>+    const Ref<SharedBuffer::DataSegment> m_segment;
</ins><span class="cx">     const size_t m_positionWithinSegment;
</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="branchessafari613112branchSourceWebCoreplatformStaticPasteboardcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformStaticPasteboardh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.h       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/StaticPasteboard.h  2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformaudiococoaMediaSessionManagerCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx">         CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoElapsedTime, cfCurrentTime.get());
</span><span class="cx">     }
</span><span class="cx">     if (nowPlayingInfo.artwork && nowPlayingInfo.artwork->imageData) {
</span><del>-        auto nsArtwork = nowPlayingInfo.artwork->imageData->makeContiguous()->createNSData();
</del><ins>+        auto nsArtwork = nowPlayingInfo.artwork->imageData->createNSData();
</ins><span class="cx">         CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkData, nsArtwork.get());
</span><span class="cx">         CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkMIMEType, nowPlayingInfo.artwork->mimeType.createCFString().get());
</span><span class="cx">         CFDictionarySetValue(info.get(), kMRMediaRemoteNowPlayingInfoArtworkIdentifier, String::number(nowPlayingInfo.artwork->src.hash()).createCFString().get());
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformcfKeyedEncoderCFcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformcfKeyedEncoderCFh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/cf/KeyedEncoderCF.h 2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformcfSharedBufferCFcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/cf/SharedBufferCF.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/cf/SharedBufferCF.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/cf/SharedBufferCF.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -41,13 +41,17 @@
</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><del>-    if (hasOneSegment()) {
</del><ins>+    if (m_segments.size() == 1) {
</ins><span class="cx">         if (auto* data = std::get_if<RetainPtr<CFDataRef>>(&m_segments[0].segment->m_immutableData))
</span><span class="cx">             return *data;
</span><span class="cx">     }
</span><del>-    return adoptCF(CFDataCreate(nullptr, data(), size()));
</del><ins>+    auto cfData = adoptCF(CFDataCreateMutable(nullptr, size()));
+    forEachSegment([&](auto& segment) {
+        CFDataAppendBytes(cfData.get(), segment.data(), segment.size());
+    });
+    return cfData;
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -68,7 +72,7 @@
</span><span class="cx"> 
</span><span class="cx"> void SharedBuffer::append(CFDataRef data)
</span><span class="cx"> {
</span><del>-    ASSERT(!m_contiguous);
</del><ins>+    ASSERT(!m_hasBeenCombinedIntoOneSegment);
</ins><span class="cx">     if (data) {
</span><span class="cx">         m_segments.append({m_size, DataSegment::create(data)});
</span><span class="cx">         m_size += CFDataGetLength(data);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformcocoaPasteboardCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/PasteboardCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/PasteboardCocoa.mm 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/PasteboardCocoa.mm    2021-12-15 03:28:23 UTC (rev 287061)
</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(SharedBuffer& tiffBuffer)
</ins><span class="cx"> {
</span><del>-    auto image = adoptNS([[NSBitmapImageRep alloc] initWithData: tiffBuffer.makeContiguous()->createNSData().get()]);
</del><ins>+    auto image = adoptNS([[NSBitmapImageRep alloc] initWithData: tiffBuffer.createNSData().get()]);
</ins><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="branchessafari613112branchSourceWebCoreplatformcocoaSharedBufferCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx"> #import <wtf/cocoa/VectorCocoa.h>
</span><span class="cx"> 
</span><span class="cx"> @interface WebCoreSharedBufferData : NSData
</span><del>-- (instancetype)initWithDataSegment:(const WebCore::DataSegment&)dataSegment position:(NSUInteger)position size:(NSUInteger)size;
</del><ins>+- (instancetype)initWithDataSegment:(const WebCore::SharedBuffer::DataSegment&)dataSegment position:(NSUInteger)position size:(NSUInteger)size;
</ins><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @implementation WebCoreSharedBufferData {
</span><del>-    RefPtr<const WebCore::DataSegment> _dataSegment;
</del><ins>+    RefPtr<const WebCore::SharedBuffer::DataSegment> _dataSegment;
</ins><span class="cx">     NSUInteger _position;
</span><span class="cx">     NSUInteger _size;
</span><span class="cx"> }
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     [super dealloc];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (instancetype)initWithDataSegment:(const WebCore::DataSegment&)dataSegment position:(NSUInteger)position size:(NSUInteger)size
</del><ins>+- (instancetype)initWithDataSegment:(const WebCore::SharedBuffer::DataSegment&)dataSegment position:(NSUInteger)position size:(NSUInteger)size
</ins><span class="cx"> {
</span><span class="cx">     if (!(self = [super init]))
</span><span class="cx">         return nil;
</span><span class="lines">@@ -95,19 +95,20 @@
</span><span class="cx"> 
</span><span class="cx"> void SharedBuffer::append(NSData *data)
</span><span class="cx"> {
</span><del>-    ASSERT(!m_contiguous);
</del><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><ins>+    combineIntoOneSegment();
</ins><span class="cx">     if (!m_segments.size())
</span><span class="cx">         return adoptCF(CFDataCreate(nullptr, nullptr, 0));
</span><ins>+    ASSERT(m_segments.size() == 1);
</ins><span class="cx">     return bridge_cast(m_segments[0].segment->createNSData());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -118,7 +119,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RetainPtr<NSData> DataSegment::createNSData() const
</del><ins>+RetainPtr<NSData> SharedBuffer::DataSegment::createNSData() const
</ins><span class="cx"> {
</span><span class="cx">     return adoptNS([[WebCoreSharedBufferData alloc] initWithDataSegment:*this position:0 size:size()]);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformencryptedmediaCDMUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/CDMUtilities.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     // Parse the buffer contents as JSON, returning the root object (if any).
</span><del>-    String json { buffer.makeContiguous()->data(), static_cast<unsigned>(size) };
</del><ins>+    String json { buffer.data(), static_cast<unsigned>(size) };
</ins><span class="cx"> 
</span><span class="cx">     auto value = JSON::Value::parseJSON(json);
</span><span class="cx">     if (!value)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformencryptedmediaclearkeyCDMClearKeycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -138,8 +138,7 @@
</span><span class="cx">     if (initData.isEmpty() || initData.size() > std::numeric_limits<unsigned>::max())
</span><span class="cx">         return keyIdsMap;
</span><span class="cx"> 
</span><del>-    auto contiguousInitData = initData.makeContiguous();
-    auto* data = contiguousInitData->data();
</del><ins>+    auto* data = initData.data();
</ins><span class="cx">     unsigned initDataSize = initData.size();
</span><span class="cx">     unsigned index = 0;
</span><span class="cx">     unsigned psshSize = 0;
</span><span class="lines">@@ -207,8 +206,7 @@
</span><span class="cx">     if (!keyIdCount || !index)
</span><span class="cx">         return keyIds;
</span><span class="cx"> 
</span><del>-    auto contiguousInitData = initData.makeContiguous();
-    auto* data = contiguousInitData->data();
</del><ins>+    auto* data = initData.data();
</ins><span class="cx"> 
</span><span class="cx">     auto object = JSON::Object::create();
</span><span class="cx">     auto keyIdsArray = JSON::Array::create();
</span><span class="lines">@@ -247,7 +245,7 @@
</span><span class="cx">     // The format is a JSON object containing the following members:
</span><span class="cx">     // "kids"
</span><span class="cx">     // An array of key IDs. Each element of the array is the base64url encoding of the octet sequence containing the key ID value.
</span><del>-    keyIdsArray->pushString(base64URLEncodeToString(initData.makeContiguous()->data(), initData.size()));
</del><ins>+    keyIdsArray->pushString(base64URLEncodeToString(initData.data(), initData.size()));
</ins><span class="cx"> 
</span><span class="cx">     object->setArray("kids", WTFMove(keyIdsArray));
</span><span class="cx">     CString jsonData = object->toJSONString().utf8();
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgenericKeyedEncoderGenericcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgenericKeyedEncoderGenerich"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/generic/KeyedEncoderGeneric.h       2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformglibKeyedEncoderGlibcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformglibKeyedEncoderGlibh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/glib/KeyedEncoderGlib.h     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformglibSharedBufferGlibcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/glib/SharedBufferGlib.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/glib/SharedBufferGlib.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/glib/SharedBufferGlib.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -38,12 +38,12 @@
</span><span class="cx">     return adoptRef(*new SharedBuffer(bytes));
</span><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="branchessafari613112branchSourceWebCoreplatformgraphicsFontcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgraphicsFonth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Font.h     2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgraphicsFontPlatformDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/FontPlatformData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/FontPlatformData.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/FontPlatformData.h 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -74,6 +74,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class FontDescription;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> // This class is conceptually immutable. Once created, no instances should ever change (in an observable way).
</span><span class="cx"> class FontPlatformData {
</span><span class="lines">@@ -223,13 +224,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="branchessafari613112branchSourceWebCoreplatformgraphicsHEVCUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgraphicsHEVCUtilitiesh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/HEVCUtilities.h    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -31,8 +31,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> struct FourCC;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct AVCParameters {
</span><span class="cx">     uint8_t profileIDC { 0 };
</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="branchessafari613112branchSourceWebCoreplatformgraphicsModelcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgraphicsModelh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/Model.h    2021-12-15 03:28:23 UTC (rev 287061)
</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">@@ -60,7 +60,7 @@
</span><span class="cx"> void Model::encode(Encoder& encoder) const
</span><span class="cx"> {
</span><span class="cx">     encoder << static_cast<size_t>(m_data->size());
</span><del>-    encoder.encodeFixedLengthData(m_data->makeContiguous()->data(), m_data->size(), 1);
</del><ins>+    encoder.encodeFixedLengthData(m_data->data(), m_data->size(), 1);
</ins><span class="cx">     encoder << m_mimeType;
</span><span class="cx">     encoder << 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="branchessafari613112branchSourceWebCoreplatformgraphicsWOFFFileFormatcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgraphicsWOFFFileFormath"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.h        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/WOFFFileFormat.h   2021-12-15 03:28:23 UTC (rev 287061)
</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="branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationCDMFairPlayStreamingcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -91,7 +91,7 @@
</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="cx">         return { };
</span><del>-    String json { buffer.makeContiguous()->data(), static_cast<unsigned>(buffer.size()) };
</del><ins>+    String json { buffer.data(), static_cast<unsigned>(buffer.size()) };
</ins><span class="cx"> 
</span><span class="cx">     auto value = JSON::Value::parseJSON(json);
</span><span class="cx">     if (!value)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationFormatDescriptionUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/FormatDescriptionUtilities.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -106,7 +106,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">@@ -122,7 +122,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">@@ -137,7 +137,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="branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcCDMInstanceFairPlayStreamingAVFObjCmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -324,7 +324,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     // Parse the buffer contents as JSON, returning the root object (if any).
</span><del>-    String json { buffer.makeContiguous()->data(), static_cast<unsigned>(size) };
</del><ins>+    String json { buffer.data(), static_cast<unsigned>(size) };
</ins><span class="cx"> 
</span><span class="cx">     return JSON::Value::parseJSON(json);
</span><span class="cx"> }
</span><span class="lines">@@ -709,12 +709,12 @@
</span><span class="cx">     RetainPtr<NSData> initializationData;
</span><span class="cx"> 
</span><span class="cx">     if (initDataType == CDMPrivateFairPlayStreaming::sinfName())
</span><del>-        initializationData = initData->makeContiguous()->createNSData();
</del><ins>+        initializationData = initData->createNSData();
</ins><span class="cx">     else if (initDataType == CDMPrivateFairPlayStreaming::skdName())
</span><del>-        identifier = adoptNS([[NSString alloc] initWithData:initData->makeContiguous()->createNSData().get() encoding:NSUTF8StringEncoding]);
</del><ins>+        identifier = adoptNS([[NSString alloc] initWithData:initData->createNSData().get() encoding:NSUTF8StringEncoding]);
</ins><span class="cx"> #if HAVE(FAIRPLAYSTREAMING_CENC_INITDATA)
</span><span class="cx">     else if (initDataType == InitDataRegistry::cencName()) {
</span><del>-        auto psshString = base64EncodeToString(initData->makeContiguous()->data(), initData->size());
</del><ins>+        auto psshString = base64EncodeToString(initData->data(), initData->size());
</ins><span class="cx">         initializationData = [NSJSONSerialization dataWithJSONObject:@{ @"pssh": (NSString*)psshString } options:NSJSONWritingPrettyPrinted error:nil];
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -770,7 +770,7 @@
</span><span class="cx">         auto expiredSessions = createNSArray(m_expiredSessions, [] (auto& data) {
</span><span class="cx">             return data.get();
</span><span class="cx">         });
</span><del>-        auto appIdentifier = certificate->makeContiguous()->createNSData();
</del><ins>+        auto appIdentifier = certificate->createNSData();
</ins><span class="cx">         [PAL::getAVContentKeySessionClass() removePendingExpiredSessionReports:expiredSessions.get() withAppIdentifier:appIdentifier.get() storageDirectoryAtURL:storageURL];
</span><span class="cx">         callback(false, { }, std::nullopt, std::nullopt, Succeeded);
</span><span class="cx">         return;
</span><span class="lines">@@ -888,7 +888,7 @@
</span><span class="cx">                 if (!payloadVector)
</span><span class="cx">                     return false;
</span><span class="cx">                 auto payloadData = SharedBuffer::create(WTFMove(*payloadVector));
</span><del>-                [request processContentKeyResponse:[PAL::getAVContentKeyResponseClass() contentKeyResponseWithFairPlayStreamingKeyResponseData:payloadData->makeContiguous()->createNSData().get()]];
</del><ins>+                [request processContentKeyResponse:[PAL::getAVContentKeyResponseClass() contentKeyResponseWithFairPlayStreamingKeyResponseData:payloadData->createNSData().get()]];
</ins><span class="cx">             }
</span><span class="cx">             return true;
</span><span class="cx">         };
</span><span class="lines">@@ -901,7 +901,7 @@
</span><span class="cx">         }
</span><span class="cx">     } else {
</span><span class="cx">         DEBUG_LOG_IF_POSSIBLE(LOGIDENTIFIER, "'sinf' initData, processing response");
</span><del>-        [m_currentRequest.value().requests.first() processContentKeyResponse:[PAL::getAVContentKeyResponseClass() contentKeyResponseWithFairPlayStreamingKeyResponseData:responseData->makeContiguous()->createNSData().get()]];
</del><ins>+        [m_currentRequest.value().requests.first() processContentKeyResponse:[PAL::getAVContentKeyResponseClass() contentKeyResponseWithFairPlayStreamingKeyResponseData:responseData->createNSData().get()]];
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // FIXME(rdar://problem/35592277): stash the callback and call it once AVContentKeyResponse supports a success callback.
</span><span class="lines">@@ -934,7 +934,7 @@
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RetainPtr<NSData> appIdentifier = certificate->makeContiguous()->createNSData();
</del><ins>+        RetainPtr<NSData> appIdentifier = certificate->createNSData();
</ins><span class="cx">         KeyStatusVector changedKeys;
</span><span class="cx">         for (NSData* expiredSessionData in [PAL::getAVContentKeySessionClass() pendingExpiredSessionReportsWithAppIdentifier:appIdentifier.get() storageDirectoryAtURL:storageURL]) {
</span><span class="cx">             static const NSString *PlaybackSessionIdKey = @"PlaybackSessionID";
</span><span class="lines">@@ -999,7 +999,7 @@
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RetainPtr<NSData> appIdentifier = certificate->makeContiguous()->createNSData();
</del><ins>+        RetainPtr<NSData> appIdentifier = certificate->createNSData();
</ins><span class="cx">         RetainPtr<NSMutableArray> expiredSessionsArray = adoptNS([[NSMutableArray alloc] init]);
</span><span class="cx">         KeyStatusVector changedKeys;
</span><span class="cx">         for (NSData* expiredSessionData in [PAL::getAVContentKeySessionClass() pendingExpiredSessionReportsWithAppIdentifier:appIdentifier.get() storageDirectoryAtURL:storageURL]) {
</span><span class="lines">@@ -1086,7 +1086,7 @@
</span><span class="cx"> 
</span><span class="cx">     RetainPtr<NSData> appIdentifier;
</span><span class="cx">     if (auto* certificate = m_instance->serverCertificate())
</span><del>-        appIdentifier = certificate->makeContiguous()->createNSData();
</del><ins>+        appIdentifier = certificate->createNSData();
</ins><span class="cx"> 
</span><span class="cx">     auto keyIDs = keyIDsForRequest(request);
</span><span class="cx">     if (keyIDs.isEmpty()) {
</span><span class="lines">@@ -1097,7 +1097,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RetainPtr<NSData> contentIdentifier = keyIDs.first()->makeContiguous()->createNSData();
</del><ins>+    RetainPtr<NSData> contentIdentifier = keyIDs.first()->createNSData();
</ins><span class="cx">     @try {
</span><span class="cx">         [request makeStreamingContentKeyRequestDataForApp:appIdentifier.get() contentIdentifier:contentIdentifier.get() options:nil completionHandler:[this, weakThis = WeakPtr { *this }] (NSData *contentKeyRequestData, NSError *error) mutable {
</span><span class="cx">             callOnMainThread([this, weakThis = WTFMove(weakThis), error = retainPtr(error), contentKeyRequestData = retainPtr(contentKeyRequestData)] {
</span><span class="lines">@@ -1153,7 +1153,7 @@
</span><span class="cx"> 
</span><span class="cx">     RetainPtr<NSData> appIdentifier;
</span><span class="cx">     if (auto* certificate = m_instance->serverCertificate())
</span><del>-        appIdentifier = certificate->makeContiguous()->createNSData();
</del><ins>+        appIdentifier = certificate->createNSData();
</ins><span class="cx"> 
</span><span class="cx">     using RequestsData = Vector<std::pair<RefPtr<SharedBuffer>, RetainPtr<NSData>>>;
</span><span class="cx">     struct CallbackAggregator final : public ThreadSafeRefCounted<CallbackAggregator> {
</span><span class="lines">@@ -1196,7 +1196,7 @@
</span><span class="cx">             auto entry = JSON::Object::create();
</span><span class="cx">             auto& keyID = requestData.first;
</span><span class="cx">             auto& payload = requestData.second;
</span><del>-            entry->setString("keyID", base64EncodeToString(keyID->makeContiguous()->data(), keyID->size()));
</del><ins>+            entry->setString("keyID", base64EncodeToString(keyID->data(), keyID->size()));
</ins><span class="cx">             entry->setString("payload", base64EncodeToString(payload.get().bytes, payload.get().length));
</span><span class="cx">             requestJSON->pushObject(WTFMove(entry));
</span><span class="cx">         }
</span><span class="lines">@@ -1212,7 +1212,7 @@
</span><span class="cx">         for (auto request : m_currentRequest.value().requests) {
</span><span class="cx">             auto keyIDs = keyIDsForRequest(request.get());
</span><span class="cx">             RefPtr<SharedBuffer> keyID = WTFMove(keyIDs.first());
</span><del>-            auto contentIdentifier = keyID->makeContiguous()->createNSData();
</del><ins>+            auto contentIdentifier = keyID->createNSData();
</ins><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 class="cx">                 callOnMainThread([keyID = WTFMove(keyID), aggregator = WTFMove(aggregator), contentKeyRequestData = retainPtr(contentKeyRequestData)] () mutable {
</span><span class="lines">@@ -1249,10 +1249,10 @@
</span><span class="cx"> 
</span><span class="cx">     RetainPtr<NSData> appIdentifier;
</span><span class="cx">     if (auto* certificate = m_instance->serverCertificate())
</span><del>-        appIdentifier = certificate->makeContiguous()->createNSData();
</del><ins>+        appIdentifier = certificate->createNSData();
</ins><span class="cx">     auto keyIDs = keyIDsForRequest(m_currentRequest.value());
</span><span class="cx"> 
</span><del>-    RetainPtr<NSData> contentIdentifier = keyIDs.first()->makeContiguous()->createNSData();
</del><ins>+    RetainPtr<NSData> contentIdentifier = keyIDs.first()->createNSData();
</ins><span class="cx">     @try {
</span><span class="cx">         [request makeStreamingContentKeyRequestDataForApp:appIdentifier.get() contentIdentifier:contentIdentifier.get() options:nil completionHandler:[this, weakThis = WeakPtr { *this }] (NSData *contentKeyRequestData, NSError *error) mutable {
</span><span class="cx">             callOnMainThread([this, weakThis = WTFMove(weakThis), error = retainPtr(error), contentKeyRequestData = retainPtr(contentKeyRequestData)] {
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcImageDecoderAVFObjCmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -309,7 +309,7 @@
</span><span class="cx">     , m_loader(adoptNS([[WebCoreSharedBufferResourceLoaderDelegate alloc] initWithParent:this]))
</span><span class="cx">     , m_decompressionSession(WebCoreDecompressionSession::createRGB())
</span><span class="cx"> {
</span><del>-    [m_loader updateData:data.makeContiguous()->createNSData().get() complete:NO];
</del><ins>+    [m_loader updateData:data.createNSData().get() complete:NO];
</ins><span class="cx"> 
</span><span class="cx">     [m_asset.get().resourceLoader setDelegate:m_loader.get() queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];
</span><span class="cx">     [m_asset loadValuesAsynchronouslyForKeys:@[@"tracks"] completionHandler:[protectedThis = Ref { *this }] () mutable {
</span><span class="lines">@@ -643,7 +643,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ImageDecoderAVFObjC::setData(SharedBuffer& data, bool allDataReceived)
</span><span class="cx"> {
</span><del>-    [m_loader updateData:data.makeContiguous()->createNSData().get() complete:allDataReceived];
</del><ins>+    [m_loader updateData:data.createNSData().get() complete:allDataReceived];
</ins><span class="cx"> 
</span><span class="cx">     if (allDataReceived) {
</span><span class="cx">         m_isAllDataReceived = true;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcSourceBufferParserAVFObjCmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> void SourceBufferParserAVFObjC::appendData(Segment&& segment, CompletionHandler<void()>&& completionHandler, AppendFlags flags)
</span><span class="cx"> {
</span><span class="cx">     auto sharedBuffer = segment.takeSharedBuffer();
</span><del>-    auto nsData = sharedBuffer->makeContiguous()->createNSData();
</del><ins>+    auto nsData = sharedBuffer->createNSData();
</ins><span class="cx">     if (m_parserStateWasReset || flags == AppendFlags::Discontinuity)
</span><span class="cx">         [m_parser appendStreamData:nsData.get() withFlags:AVStreamDataParserStreamDataDiscontinuity];
</span><span class="cx">     else
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -214,8 +214,9 @@
</span><span class="cx"> void PlatformResourceMediaLoader::dataReceived(PlatformMediaResource&, Ref<SharedBuffer>&& buffer)
</span><span class="cx"> {
</span><span class="cx">     if (!m_buffer)
</span><del>-        m_buffer = SharedBuffer::create();
-    m_buffer->append(buffer.get());
</del><ins>+        m_buffer = WTFMove(buffer);
+    else
+        m_buffer->append(WTFMove(buffer));
</ins><span class="cx">     m_parent.newDataStoredInSharedBuffer(*m_buffer);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -227,7 +228,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">@@ -237,7 +238,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></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicscairoFontCustomPlatformDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class FontCreationContext;
</span><span class="cx"> class FontDescription;
</span><span class="cx"> class FontPlatformData;
</span><span class="lines">@@ -55,7 +54,7 @@
</span><span class="cx">     RefPtr<cairo_font_face_t> m_fontFace;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer&, const String&);
</del><ins>+std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer&, const String&);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicscgImageDecoderCGcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -231,7 +231,7 @@
</span><span class="cx"> #if !PLATFORM(COCOA)
</span><span class="cx"> size_t sharedBufferGetBytesAtPosition(void* info, void* buffer, off_t position, size_t count)
</span><span class="cx"> {
</span><del>-    ContiguousSharedBuffer* sharedBuffer = static_cast<ContiguousSharedBuffer*>(info);
</del><ins>+    SharedBuffer* sharedBuffer = static_cast<SharedBuffer*>(info);
</ins><span class="cx">     size_t sourceSize = sharedBuffer->size();
</span><span class="cx">     if (position >= sourceSize)
</span><span class="cx">         return 0;
</span><span class="lines">@@ -253,7 +253,7 @@
</span><span class="cx"> {
</span><span class="cx">     RetainPtr<CFStringRef> utiHint;
</span><span class="cx">     if (data.size() >= 32)
</span><del>-        utiHint = adoptCF(CGImageSourceGetTypeWithData(data.makeContiguous()->createCFData().get(), nullptr, nullptr));
</del><ins>+        utiHint = adoptCF(CGImageSourceGetTypeWithData(data.createCFData().get(), nullptr, nullptr));
</ins><span class="cx">     
</span><span class="cx">     if (utiHint) {
</span><span class="cx">         const void* key = kCGImageSourceTypeIdentifierHint;
</span><span class="lines">@@ -570,16 +570,15 @@
</span><span class="cx">     // On Mac the NSData inside the SharedBuffer can be secretly appended to without the SharedBuffer's knowledge.
</span><span class="cx">     // We use SharedBuffer's ability to wrap itself inside CFData to get around this, ensuring that ImageIO is
</span><span class="cx">     // really looking at the SharedBuffer.
</span><del>-    CGImageSourceUpdateData(m_nativeDecoder.get(), data.makeContiguous()->createCFData().get(), allDataReceived);
</del><ins>+    CGImageSourceUpdateData(m_nativeDecoder.get(), data.createCFData().get(), allDataReceived);
</ins><span class="cx"> #else
</span><span class="cx">     // Create a CGDataProvider to wrap the SharedBuffer.
</span><del>-    auto contiguousData = data.makeContiguous();
-    contiguousData.get().ref();
</del><ins>+    data.ref();
</ins><span class="cx">     // We use the GetBytesAtPosition callback rather than the GetBytePointer one because SharedBuffer
</span><span class="cx">     // does not provide a way to lock down the byte pointer and guarantee that it won't move, which
</span><span class="cx">     // is a requirement for using the GetBytePointer callback.
</span><span class="cx">     CGDataProviderDirectCallbacks providerCallbacks = { 0, 0, 0, sharedBufferGetBytesAtPosition, sharedBufferRelease };
</span><del>-    RetainPtr<CGDataProviderRef> dataProvider = adoptCF(CGDataProviderCreateDirect(contiguousData.ptr(), data.size(), &providerCallbacks));
</del><ins>+    RetainPtr<CGDataProviderRef> dataProvider = adoptCF(CGDataProviderCreateDirect(&data, data.size(), &providerCallbacks));
</ins><span class="cx">     CGImageSourceUpdateDataProvider(m_nativeDecoder.get(), dataProvider.get(), allDataReceived);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicscgPDFDocumentImagecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -319,7 +319,7 @@
</span><span class="cx"> 
</span><span class="cx"> void PDFDocumentImage::createPDFDocument()
</span><span class="cx"> {
</span><del>-    RetainPtr<CGDataProviderRef> dataProvider = adoptCF(CGDataProviderCreateWithCFData(data()->makeContiguous()->createCFData().get()));
</del><ins>+    RetainPtr<CGDataProviderRef> dataProvider = adoptCF(CGDataProviderCreateWithCFData(data()->createCFData().get()));
</ins><span class="cx">     m_document = adoptCF(CGPDFDocumentCreateWithProvider(dataProvider.get()));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicscocoaFontPlatformDataCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     return CFEqual(m_font.get(), other.m_font.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> FontPlatformData::platformOpenTypeTable(uint32_t) const
</del><ins>+RefPtr<SharedBuffer> FontPlatformData::platformOpenTypeTable(uint32_t) const
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicscocoaSourceBufferParserWebMcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -367,7 +367,7 @@
</span><span class="cx"> 
</span><span class="cx">     static void FreeDataSegment(void* refcon, void*, size_t)
</span><span class="cx">     {
</span><del>-        auto* buffer = reinterpret_cast<DataSegment*>(refcon);
</del><ins>+        auto* buffer = reinterpret_cast<SharedBuffer::DataSegment*>(refcon);
</ins><span class="cx">         buffer->deref();
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicscoretextFontPlatformDataCoreTextcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -151,10 +151,10 @@
</span><span class="cx">     return objectForEqualityCheck(ctFont());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
</del><ins>+RefPtr<SharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
</ins><span class="cx"> {
</span><span class="cx">     if (RetainPtr<CFDataRef> data = adoptCF(CTFontCopyTable(ctFont(), table, kCTFontTableOptionNoOptions)))
</span><del>-        return ContiguousSharedBuffer::create(data.get());
</del><ins>+        return SharedBuffer::create(data.get());
</ins><span class="cx"> 
</span><span class="cx">     return platformOpenTypeTable(table);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsfreetypeFontCustomPlatformDataFreeTypecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer& buffer, const String&)
</del><ins>+std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer& buffer, const String&)
</ins><span class="cx"> {
</span><span class="cx">     static FT_Library library;
</span><span class="cx">     if (!library && !initializeFreeTypeLibrary(library)) {
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsfreetypeFontPlatformDataFreeTypecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -249,7 +249,7 @@
</span><span class="cx">         && FT_Select_Charmap(freeTypeFace, ft_encoding_apple_roman));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
</del><ins>+RefPtr<SharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
</ins><span class="cx"> {
</span><span class="cx">     CairoFtFaceLocker cairoFtFaceLocker(m_scaledFont.get());
</span><span class="cx">     FT_Face freeTypeFace = cairoFtFaceLocker.ftFace();
</span><span class="lines">@@ -268,7 +268,7 @@
</span><span class="cx">     if (error || tableSize != expectedTableSize)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</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"> #if USE(HARFBUZZ) && !ENABLE(OPENTYPE_MATH)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerGStreamerCommoncpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -424,9 +424,9 @@
</span><span class="cx">     return { data(), size() };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> GstMappedOwnedBuffer::createSharedBuffer()
</del><ins>+Ref<SharedBuffer> GstMappedOwnedBuffer::createSharedBuffer()
</ins><span class="cx"> {
</span><del>-    return ContiguousSharedBuffer::create(*this);
</del><ins>+    return SharedBuffer::create(*this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool isGStreamerPluginAvailable(const char* name)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerGStreamerCommonh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class IntSize;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> inline bool webkitGstCheckVersion(guint major, guint minor, guint micro)
</span><span class="cx"> {
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">         unmapEarly();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref<ContiguousSharedBuffer> createSharedBuffer();
</del><ins>+    Ref<SharedBuffer> createSharedBuffer();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     GstMappedOwnedBuffer(GRefPtr<GstBuffer>&& buffer)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerImageDecoderGStreamercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -428,9 +428,8 @@
</span><span class="cx"> 
</span><span class="cx"> void ImageDecoderGStreamer::pushEncodedData(const SharedBuffer& buffer)
</span><span class="cx"> {
</span><del>-    auto contiguousBuffer = buffer.makeContiguous();
</del><span class="cx">     m_eos = false;
</span><del>-    auto thread = Thread::create("ImageDecoderGStreamer", [this, data = contiguousBuffer->data(), size = buffer.size()] {
</del><ins>+    auto thread = Thread::create("ImageDecoderGStreamer", [this, data = buffer.data(), size = buffer.size()] {
</ins><span class="cx">         m_innerDecoder = ImageDecoderGStreamer::InnerDecoder::create(*this, data, size);
</span><span class="cx">         m_innerDecoder->run();
</span><span class="cx">     }, ThreadType::Graphics);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsgstreamerMediaPlayerPrivateGStreamercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -3669,7 +3669,7 @@
</span><span class="cx"> 
</span><span class="cx">         GST_DEBUG("scheduling initializationDataEncountered %s event of size %zu", initData.payloadContainerType().utf8().data(),
</span><span class="cx">             initData.payload()->size());
</span><del>-        GST_MEMDUMP("init datas", reinterpret_cast<const uint8_t*>(initData.payload()->makeContiguous()->data()), initData.payload()->size());
</del><ins>+        GST_MEMDUMP("init datas", reinterpret_cast<const uint8_t*>(initData.payload()->data()), initData.payload()->size());
</ins><span class="cx">         weakThis->m_player->initializationDataEncountered(initData.payloadContainerType(), initData.payload()->tryCreateArrayBuffer());
</span><span class="cx">     });
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsgstreameremeGStreamerEMEUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct GMarkupParseContextUserData {
</span><span class="cx">     bool isParsingPssh { false };
</span><del>-    RefPtr<ContiguousSharedBuffer> pssh;
</del><ins>+    RefPtr<SharedBuffer> pssh;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static void markupStartElement(GMarkupParseContext*, const gchar* elementName, const gchar**, const gchar**, gpointer userDataPtr, GError**)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">     if (userData->isParsingPssh) {
</span><span class="cx">         std::optional<Vector<uint8_t>> pssh = base64Decode(text, textLength);
</span><span class="cx">         if (pssh.has_value())
</span><del>-            userData->pssh = ContiguousSharedBuffer::create(WTFMove(*pssh));
</del><ins>+            userData->pssh = SharedBuffer::create(WTFMove(*pssh));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -71,9 +71,9 @@
</span><span class="cx"> 
</span><span class="cx"> static GMarkupParser markupParser { markupStartElement, markupEndElement, markupText, markupPassthrough, markupError };
</span><span class="cx"> 
</span><del>-RefPtr<SharedBuffer> InitData::extractCencIfNeeded(RefPtr<ContiguousSharedBuffer>&& unparsedPayload)
</del><ins>+RefPtr<SharedBuffer> InitData::extractCencIfNeeded(RefPtr<SharedBuffer>&& unparsedPayload)
</ins><span class="cx"> {
</span><del>-    RefPtr<ContiguousSharedBuffer> payload = WTFMove(unparsedPayload);
</del><ins>+    RefPtr<SharedBuffer> payload = WTFMove(unparsedPayload);
</ins><span class="cx">     if (!payload || !payload->size())
</span><span class="cx">         return payload;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsgstreameremeGStreamerEMEUtilitiesh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> 
</span><span class="cx">     InitData(const String& systemId, RefPtr<SharedBuffer>&& payload)
</span><span class="cx">         : m_systemId(systemId)
</span><del>-        , m_payload(extractCencIfNeeded(payload ? payload->makeContiguous() : RefPtr<ContiguousSharedBuffer>()))
</del><ins>+        , m_payload(extractCencIfNeeded(WTFMove(payload)))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">         return "cenc"_s;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static RefPtr<SharedBuffer> extractCencIfNeeded(RefPtr<ContiguousSharedBuffer>&&);
</del><ins>+    static RefPtr<SharedBuffer> extractCencIfNeeded(RefPtr<SharedBuffer>&&);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     String m_systemId;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsmacFontCustomPlatformDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     return FontPlatformData(font.get(), size, bold, italic, orientation, widthVariant, fontDescription.textRenderingMode(), &creationData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer& buffer, const String& itemInCollection)
</del><ins>+std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer& buffer, const String& itemInCollection)
</ins><span class="cx"> {
</span><span class="cx">     RetainPtr<CFDataRef> bufferData = buffer.createCFData();
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsmacFontCustomPlatformDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     FontPlatformData::CreationData creationData;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-WEBCORE_EXPORT std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer&, const String&);
</del><ins>+WEBCORE_EXPORT std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer&, const String&);
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsmacPDFDocumentImageMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/PDFDocumentImageMac.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/PDFDocumentImageMac.mm      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/mac/PDFDocumentImageMac.mm 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> 
</span><span class="cx"> void PDFDocumentImage::createPDFDocument()
</span><span class="cx"> {
</span><del>-    m_document = adoptNS([allocPDFDocumentInstance() initWithData:data()->makeContiguous()->createNSData().get()]);
</del><ins>+    m_document = adoptNS([allocPDFDocumentInstance() initWithData:data()->createNSData().get()]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PDFDocumentImage::computeBoundsForCurrentPage()
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">     OpenType::UInt16 italicsCorrectionCount;
</span><span class="cx">     OpenType::MathValueRecord italicsCorrection[1]; // There are italicsCorrectionCount italic correction values.
</span><span class="cx"> 
</span><del>-    int16_t getItalicCorrection(const ContiguousSharedBuffer& buffer, Glyph glyph) const
</del><ins>+    int16_t getItalicCorrection(const SharedBuffer& buffer, Glyph glyph) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = uint16_t(italicsCorrectionCount);
</span><span class="cx">         if (!isValidEnd(buffer, &italicsCorrection[count]))
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     OpenType::Offset extendedShapeCoverageOffset;
</span><span class="cx">     OpenType::Offset mathKernInfoOffset;
</span><span class="cx"> 
</span><del>-    const MathItalicsCorrectionInfo* mathItalicsCorrectionInfo(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const MathItalicsCorrectionInfo* mathItalicsCorrectionInfo(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t offset = mathItalicsCorrectionInfoOffset;
</span><span class="cx">         if (offset)
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">         PartFlagsExtender = 0x01
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    void getAssemblyParts(const ContiguousSharedBuffer& buffer, Vector<OpenTypeMathData::AssemblyPart>& assemblyParts) const
</del><ins>+    void getAssemblyParts(const SharedBuffer& buffer, Vector<OpenTypeMathData::AssemblyPart>& assemblyParts) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = partCount;
</span><span class="cx">         if (!isValidEnd(buffer, &partRecords[count]))
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">         OpenType::UInt16 advanceMeasurement;
</span><span class="cx">     } mathGlyphVariantRecords[1]; // There are variantCount MathGlyphVariantRecord's.
</span><span class="cx"> 
</span><del>-    void getSizeVariants(const ContiguousSharedBuffer& buffer, Vector<Glyph>& variants) const
</del><ins>+    void getSizeVariants(const SharedBuffer& buffer, Vector<Glyph>& variants) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = variantCount;
</span><span class="cx">         if (!isValidEnd(buffer, &mathGlyphVariantRecords[count]))
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">             variants[i] = mathGlyphVariantRecords[i].variantGlyph;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void getAssemblyParts(const ContiguousSharedBuffer& buffer, Vector<OpenTypeMathData::AssemblyPart>& assemblyParts) const
</del><ins>+    void getAssemblyParts(const SharedBuffer& buffer, Vector<OpenTypeMathData::AssemblyPart>& assemblyParts) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t offset = glyphAssemblyOffset;
</span><span class="cx">         const GlyphAssembly* glyphAssembly = validateOffset<GlyphAssembly>(buffer, offset);
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">     OpenType::UInt16 horizontalGlyphCount;
</span><span class="cx">     OpenType::Offset mathGlyphConstructionsOffset[1]; // There are verticalGlyphCount vertical glyph contructions and horizontalGlyphCount vertical glyph contructions.
</span><span class="cx"> 
</span><del>-    const MathGlyphConstruction* mathGlyphConstruction(const ContiguousSharedBuffer& buffer, Glyph glyph, bool isVertical) const
</del><ins>+    const MathGlyphConstruction* mathGlyphConstruction(const SharedBuffer& buffer, Glyph glyph, bool isVertical) const
</ins><span class="cx">     {
</span><span class="cx">         uint32_t count = uint16_t(verticalGlyphCount) + uint16_t(horizontalGlyphCount);
</span><span class="cx">         if (!isValidEnd(buffer, &mathGlyphConstructionsOffset[count]))
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx">     OpenType::Offset mathGlyphInfoOffset;
</span><span class="cx">     OpenType::Offset mathVariantsOffset;
</span><span class="cx"> 
</span><del>-    const MathConstants* mathConstants(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const MathConstants* mathConstants(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t offset = mathConstantsOffset;
</span><span class="cx">         if (offset)
</span><span class="lines">@@ -212,7 +212,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const MathGlyphInfo* mathGlyphInfo(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const MathGlyphInfo* mathGlyphInfo(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t offset = mathGlyphInfoOffset;
</span><span class="cx">         if (offset)
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const MathVariants* mathVariants(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const MathVariants* mathVariants(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t offset = mathVariantsOffset;
</span><span class="cx">         if (offset)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeMathDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeMathData.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class FontPlatformData;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class Font;
</span><span class="cx"> 
</span><span class="cx"> class OpenTypeMathData : public RefCounted<OpenTypeMathData> {
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">     explicit OpenTypeMathData(const FontPlatformData&);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(OPENTYPE_MATH)
</span><del>-    RefPtr<ContiguousSharedBuffer> m_mathBuffer;
</del><ins>+    RefPtr<SharedBuffer> m_mathBuffer;
</ins><span class="cx"> #elif USE(HARFBUZZ)
</span><span class="cx">     HbUniquePtr<hb_font_t> m_mathFont;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeTypesh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> typedef uint32_t Tag;
</span><span class="cx"> #define OT_MAKE_TAG(ch1, ch2, ch3, ch4) ((((uint32_t)(ch4)) << 24) | (((uint32_t)(ch3)) << 16) | (((uint32_t)(ch2)) << 8) | ((uint32_t)(ch1)))
</span><span class="cx"> 
</span><del>-template <typename T> static const T* validateTable(const RefPtr<ContiguousSharedBuffer>& buffer, size_t count = 1)
</del><ins>+template <typename T> static const T* validateTable(const RefPtr<SharedBuffer>& buffer, size_t count = 1)
</ins><span class="cx"> {
</span><span class="cx">     if (!buffer || buffer->size() < sizeof(T) * count)
</span><span class="cx">         return 0;
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct TableBase {
</span><span class="cx"> protected:
</span><del>-    static bool isValidEnd(const ContiguousSharedBuffer& buffer, const void* position)
</del><ins>+    static bool isValidEnd(const SharedBuffer& buffer, const void* position)
</ins><span class="cx">     {
</span><span class="cx">         if (position < buffer.data())
</span><span class="cx">             return false;
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">         return offset <= buffer.size(); // "<=" because end is included as valid
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    template <typename T> static const T* validatePtr(const ContiguousSharedBuffer& buffer, const void* position)
</del><ins>+    template <typename T> static const T* validatePtr(const SharedBuffer& buffer, const void* position)
</ins><span class="cx">     {
</span><span class="cx">         const T* casted = reinterpret_cast<const T*>(position);
</span><span class="cx">         if (!isValidEnd(buffer, &casted[1]))
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">         return casted;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    template <typename T> const T* validateOffset(const ContiguousSharedBuffer& buffer, uint16_t offset) const
</del><ins>+    template <typename T> const T* validateOffset(const SharedBuffer& buffer, uint16_t offset) const
</ins><span class="cx">     {
</span><span class="cx">         return validatePtr<T>(buffer, reinterpret_cast<const int8_t*>(this) + offset);
</span><span class="cx">     }
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx"> #if ENABLE(OPENTYPE_MATH)
</span><span class="cx"> struct TableWithCoverage : TableBase {
</span><span class="cx"> protected:
</span><del>-    bool getCoverageIndex(const ContiguousSharedBuffer& buffer, const CoverageTable* coverage, Glyph glyph, uint32_t& coverageIndex) const
</del><ins>+    bool getCoverageIndex(const SharedBuffer& buffer, const CoverageTable* coverage, Glyph glyph, uint32_t& coverageIndex) const
</ins><span class="cx">     {
</span><span class="cx">         switch (coverage->coverageFormat) {
</span><span class="cx">         case 1: { // Coverage Format 1
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -199,7 +199,7 @@
</span><span class="cx"> 
</span><span class="cx"> // adds fontName to the font table in fontData, and writes the new font table to rewrittenFontTable
</span><span class="cx"> // returns the size of the name table (which is used by renameAndActivateFont), or 0 on early abort
</span><del>-bool renameFont(const ContiguousSharedBuffer& fontData, const String& fontName, Vector<uint8_t>& rewrittenFontData)
</del><ins>+bool renameFont(const SharedBuffer& fontData, const String& fontName, Vector<uint8_t>& rewrittenFontData)
</ins><span class="cx"> {
</span><span class="cx">     size_t originalDataSize = fontData.size();
</span><span class="cx">     const sfntHeader* sfnt = reinterpret_cast<const sfntHeader*>(fontData.data());
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Rename the font and install the new font data into the system
</span><del>-RefPtr<FontMemoryResource> renameAndActivateFont(const ContiguousSharedBuffer& fontData, const String& fontName)
</del><ins>+RefPtr<FontMemoryResource> renameAndActivateFont(const SharedBuffer& fontData, const String& fontName)
</ins><span class="cx"> {
</span><span class="cx">     Vector<uint8_t> rewrittenFontData;
</span><span class="cx">     if (!renameFont(fontData, fontName, rewrittenFontData))
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeUtilitiesh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> struct BigEndianUShort;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> struct EOTPrefix;
</span><span class="cx"> class FontMemoryResource;
</span><span class="cx"> class SharedBuffer;
</span><span class="lines">@@ -55,8 +54,8 @@
</span><span class="cx">     Vector<uint8_t, 512> m_buffer;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-bool renameFont(const ContiguousSharedBuffer&, const String&, Vector<uint8_t>&);
-RefPtr<FontMemoryResource> renameAndActivateFont(const ContiguousSharedBuffer&, const String&);
</del><ins>+bool renameFont(const SharedBuffer&, const String&, Vector<uint8_t>&);
+RefPtr<FontMemoryResource> renameAndActivateFont(const SharedBuffer&, const String&);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicsopentypeOpenTypeVerticalDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">     OpenType::UInt16 substFormat;
</span><span class="cx">     OpenType::Offset coverageOffset;
</span><span class="cx"> 
</span><del>-    const CoverageTable* coverage(const ContiguousSharedBuffer& buffer) const { return validateOffset<CoverageTable>(buffer, coverageOffset); }
</del><ins>+    const CoverageTable* coverage(const SharedBuffer& buffer) const { return validateOffset<CoverageTable>(buffer, coverageOffset); }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> struct SingleSubstitution2SubTable : SubstitutionSubTable {
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     OpenType::Offset subTableOffsets[1];
</span><span class="cx">     // OpenType::UInt16 markFilteringSet; this field comes after variable length, so offset is determined dynamically.
</span><span class="cx"> 
</span><del>-    bool getSubstitutions(HashMap<Glyph, Glyph>* map, const ContiguousSharedBuffer& buffer) const
</del><ins>+    bool getSubstitutions(HashMap<Glyph, Glyph>* map, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t countSubTable = subTableCount;
</span><span class="cx">         if (!isValidEnd(buffer, &subTableOffsets[countSubTable]))
</span><span class="lines">@@ -194,7 +194,7 @@
</span><span class="cx">     OpenType::UInt16 lookupCount;
</span><span class="cx">     OpenType::Offset lookupOffsets[1];
</span><span class="cx"> 
</span><del>-    const LookupTable* lookup(uint16_t index, const ContiguousSharedBuffer& buffer) const
</del><ins>+    const LookupTable* lookup(uint16_t index, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = lookupCount;
</span><span class="cx">         if (index >= count || !isValidEnd(buffer, &lookupOffsets[count]))
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx">     OpenType::UInt16 lookupCount;
</span><span class="cx">     OpenType::UInt16 lookupListIndex[1];
</span><span class="cx"> 
</span><del>-    bool getGlyphSubstitutions(const LookupList* lookups, HashMap<Glyph, Glyph>* map, const ContiguousSharedBuffer& buffer) const
</del><ins>+    bool getGlyphSubstitutions(const LookupList* lookups, HashMap<Glyph, Glyph>* map, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = lookupCount;
</span><span class="cx">         if (!isValidEnd(buffer, &lookupListIndex[count]))
</span><span class="lines">@@ -229,7 +229,7 @@
</span><span class="cx">         OpenType::Offset featureOffset;
</span><span class="cx">     } features[1];
</span><span class="cx"> 
</span><del>-    const FeatureTable* feature(uint16_t index, OpenType::Tag tag, const ContiguousSharedBuffer& buffer) const
</del><ins>+    const FeatureTable* feature(uint16_t index, OpenType::Tag tag, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = featureCount;
</span><span class="cx">         if (index >= count || !isValidEnd(buffer, &features[count]))
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const FeatureTable* findFeature(OpenType::Tag tag, const ContiguousSharedBuffer& buffer) const
</del><ins>+    const FeatureTable* findFeature(OpenType::Tag tag, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         for (uint16_t i = 0; i < featureCount; ++i) {
</span><span class="cx">             if (isValidEnd(buffer, &features[i]) && features[i].featureTag == tag)
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx">     OpenType::UInt16 featureCount;
</span><span class="cx">     OpenType::UInt16 featureIndex[1];
</span><span class="cx"> 
</span><del>-    const FeatureTable* feature(OpenType::Tag featureTag, const FeatureList* features, const ContiguousSharedBuffer& buffer) const
</del><ins>+    const FeatureTable* feature(OpenType::Tag featureTag, const FeatureList* features, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = featureCount;
</span><span class="cx">         if (!isValidEnd(buffer, &featureIndex[count]))
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx">         OpenType::Offset langSysOffset;
</span><span class="cx">     } langSysRecords[1];
</span><span class="cx"> 
</span><del>-    const LangSysTable* defaultLangSys(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const LangSysTable* defaultLangSys(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = langSysCount;
</span><span class="cx">         if (!isValidEnd(buffer, &langSysRecords[count]))
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx">         OpenType::Offset scriptOffset;
</span><span class="cx">     } scripts[1];
</span><span class="cx"> 
</span><del>-    const ScriptTable* script(OpenType::Tag tag, const ContiguousSharedBuffer& buffer) const
</del><ins>+    const ScriptTable* script(OpenType::Tag tag, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = scriptCount;
</span><span class="cx">         if (!isValidEnd(buffer, &scripts[count]))
</span><span class="lines">@@ -310,7 +310,7 @@
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const ScriptTable* defaultScript(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const ScriptTable* defaultScript(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         uint16_t count = scriptCount;
</span><span class="cx">         if (!count || !isValidEnd(buffer, &scripts[count]))
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx">         return validateOffset<ScriptTable>(buffer, scripts[0].scriptOffset);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const LangSysTable* defaultLangSys(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const LangSysTable* defaultLangSys(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         const ScriptTable* scriptTable = defaultScript(buffer);
</span><span class="cx">         if (!scriptTable)
</span><span class="lines">@@ -336,11 +336,11 @@
</span><span class="cx">     OpenType::Offset featureListOffset;
</span><span class="cx">     OpenType::Offset lookupListOffset;
</span><span class="cx"> 
</span><del>-    const ScriptList* scriptList(const ContiguousSharedBuffer& buffer) const { return validateOffset<ScriptList>(buffer, scriptListOffset); }
-    const FeatureList* featureList(const ContiguousSharedBuffer& buffer) const { return validateOffset<FeatureList>(buffer, featureListOffset); }
-    const LookupList* lookupList(const ContiguousSharedBuffer& buffer) const { return validateOffset<LookupList>(buffer, lookupListOffset); }
</del><ins>+    const ScriptList* scriptList(const SharedBuffer& buffer) const { return validateOffset<ScriptList>(buffer, scriptListOffset); }
+    const FeatureList* featureList(const SharedBuffer& buffer) const { return validateOffset<FeatureList>(buffer, featureListOffset); }
+    const LookupList* lookupList(const SharedBuffer& buffer) const { return validateOffset<LookupList>(buffer, lookupListOffset); }
</ins><span class="cx"> 
</span><del>-    const LangSysTable* defaultLangSys(const ContiguousSharedBuffer& buffer) const
</del><ins>+    const LangSysTable* defaultLangSys(const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         const ScriptList* scripts = scriptList(buffer);
</span><span class="cx">         if (!scripts)
</span><span class="lines">@@ -348,7 +348,7 @@
</span><span class="cx">         return scripts->defaultLangSys(buffer);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const FeatureTable* feature(OpenType::Tag featureTag, const ContiguousSharedBuffer& buffer) const
</del><ins>+    const FeatureTable* feature(OpenType::Tag featureTag, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         const LangSysTable* langSys = defaultLangSys(buffer);
</span><span class="cx">         const FeatureList* features = featureList(buffer);
</span><span class="lines">@@ -365,7 +365,7 @@
</span><span class="cx">         return feature;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool getVerticalGlyphSubstitutions(HashMap<Glyph, Glyph>* map, const ContiguousSharedBuffer& buffer) const
</del><ins>+    bool getVerticalGlyphSubstitutions(HashMap<Glyph, Glyph>* map, const SharedBuffer& buffer) const
</ins><span class="cx">     {
</span><span class="cx">         const FeatureTable* verticalFeatureTable = feature(OpenType::VertFeatureTag, buffer);
</span><span class="cx">         if (!verticalFeatureTable)
</span><span class="lines">@@ -381,7 +381,7 @@
</span><span class="cx"> 
</span><span class="cx"> static bool loadHmtxTable(const FontPlatformData& platformData, Vector<uint16_t>& advanceWidths)
</span><span class="cx"> {
</span><del>-    auto buffer = platformData.openTypeTable(OpenType::HheaTag);
</del><ins>+    RefPtr<SharedBuffer> buffer = platformData.openTypeTable(OpenType::HheaTag);
</ins><span class="cx">     const OpenType::HheaTable* hhea = OpenType::validateTable<OpenType::HheaTable>(buffer);
</span><span class="cx">     if (!hhea)
</span><span class="cx">         return false;
</span><span class="lines">@@ -424,7 +424,7 @@
</span><span class="cx"> void OpenTypeVerticalData::loadMetrics(const FontPlatformData& platformData)
</span><span class="cx"> {
</span><span class="cx">     // Load vhea first. This table is required for fonts that support vertical flow.
</span><del>-    auto buffer = platformData.openTypeTable(OpenType::VheaTag);
</del><ins>+    RefPtr<SharedBuffer> buffer = platformData.openTypeTable(OpenType::VheaTag);
</ins><span class="cx">     const OpenType::VheaTable* vhea = OpenType::validateTable<OpenType::VheaTable>(buffer);
</span><span class="cx">     if (!vhea)
</span><span class="cx">         return;
</span><span class="lines">@@ -486,7 +486,7 @@
</span><span class="cx"> 
</span><span class="cx"> void OpenTypeVerticalData::loadVerticalGlyphSubstitutions(const FontPlatformData& platformData)
</span><span class="cx"> {
</span><del>-    auto buffer = platformData.openTypeTable(OpenType::GSUBTag);
</del><ins>+    RefPtr<SharedBuffer> buffer = platformData.openTypeTable(OpenType::GSUBTag);
</ins><span class="cx">     const OpenType::GSUBTable* gsub = OpenType::validateTable<OpenType::GSUBTable>(buffer);
</span><span class="cx">     if (gsub)
</span><span class="cx">         gsub->getVerticalGlyphSubstitutions(&m_verticalGlyphMap, *buffer.get());
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicswinFontCustomPlatformDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">     return fontName;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer& buffer, const String& itemInCollection)
</del><ins>+std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer& buffer, const String& itemInCollection)
</ins><span class="cx"> {
</span><span class="cx">     String fontName = createUniqueFontName();
</span><span class="cx">     auto fontResource = renameAndActivateFont(buffer, fontName);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicswinFontCustomPlatformDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -36,13 +36,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class FontCreationContext;
</span><span class="cx"> class FontDescription;
</span><span class="cx"> class FontMemoryResource;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> struct FontSelectionSpecifiedCapabilities;
</span><span class="cx"> struct FontVariantSettings;
</span><del>-class SharedBuffer;
</del><span class="cx"> 
</span><span class="cx"> template <typename T> class FontTaggedSettings;
</span><span class="cx"> typedef FontTaggedSettings<int> FontFeatureSettings;
</span><span class="lines">@@ -65,7 +64,7 @@
</span><span class="cx">     FontPlatformData::CreationData creationData;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer&, const String&);
</del><ins>+std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer&, const String&);
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicswinFontCustomPlatformDataCairocpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">     return fontName;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(ContiguousSharedBuffer& buffer, const String& itemInCollection)
</del><ins>+std::unique_ptr<FontCustomPlatformData> createFontCustomPlatformData(SharedBuffer& buffer, const String& itemInCollection)
</ins><span class="cx"> {
</span><span class="cx">     String fontName = createUniqueFontName();
</span><span class="cx">     auto fontResource = renameAndActivateFont(buffer, fontName);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicswinFontPlatformDataCairoWincpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">         && m_useGDI == other.m_useGDI;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
</del><ins>+RefPtr<SharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
</ins><span class="cx"> {
</span><span class="cx">     return platformOpenTypeTable(table);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgraphicswinFontPlatformDataWincpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -59,18 +59,18 @@
</span><span class="cx">     RestoreDC(hdc, -1);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> FontPlatformData::platformOpenTypeTable(uint32_t table) const
</del><ins>+RefPtr<SharedBuffer> FontPlatformData::platformOpenTypeTable(uint32_t table) const
</ins><span class="cx"> {
</span><span class="cx">     HWndDC hdc(0);
</span><span class="cx">     HGDIOBJ oldFont = SelectObject(hdc, hfont());
</span><span class="cx"> 
</span><span class="cx">     DWORD size = GetFontData(hdc, table, 0, 0, 0);
</span><del>-    RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+    RefPtr<SharedBuffer> buffer;
</ins><span class="cx">     if (size != GDI_ERROR) {
</span><span class="cx">         Vector<uint8_t> data(size);
</span><span class="cx">         DWORD result = GetFontData(hdc, table, 0, (PVOID)data.data(), size);
</span><span class="cx">         ASSERT_UNUSED(result, result == size);
</span><del>-        buffer = ContiguousSharedBuffer::create(WTFMove(data));
</del><ins>+        buffer = SharedBuffer::create(WTFMove(data));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     SelectObject(hdc, oldFont);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformgtkSelectionDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/gtk/SelectionData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/gtk/SelectionData.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/gtk/SelectionData.h 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -60,8 +60,8 @@
</span><span class="cx">     void setCanSmartReplace(bool canSmartReplace) { m_canSmartReplace = canSmartReplace; }
</span><span class="cx">     bool canSmartReplace() const { return m_canSmartReplace; }
</span><span class="cx"> 
</span><del>-    void setCustomData(Ref<ContiguousSharedBuffer>&& buffer) { m_customData = WTFMove(buffer); }
-    ContiguousSharedBuffer* customData() const { return m_customData.get(); }
</del><ins>+    void setCustomData(Ref<SharedBuffer>&& buffer) { m_customData = WTFMove(buffer); }
+    SharedBuffer* customData() const { return m_customData.get(); }
</ins><span class="cx">     bool hasCustomData() const { return !!m_customData; }
</span><span class="cx">     void clearCustomData() { m_customData = nullptr; }
</span><span class="cx"> 
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     Vector<String> m_filenames;
</span><span class="cx">     RefPtr<Image> m_image;
</span><span class="cx">     bool m_canSmartReplace { false };
</span><del>-    RefPtr<ContiguousSharedBuffer> m_customData;
</del><ins>+    RefPtr<SharedBuffer> m_customData;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformimagedecodersScalableImageDecoderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/ScalableImageDecoder.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/ScalableImageDecoder.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/ScalableImageDecoder.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -76,9 +76,10 @@
</span><span class="cx">         if (m_encodedDataStatus == EncodedDataStatus::Error)
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        auto contiguousData = data.makeContiguous();
-        if (contiguousData->data())
-            m_data = contiguousData->begin()->segment.copyRef();
</del><ins>+        if (data.data()) {
+            // SharedBuffer::data() combines all segments into one in case there's more than one.
+            m_data = data.begin()->segment.copyRef();
+        }
</ins><span class="cx">         if (m_encodedDataStatus == EncodedDataStatus::TypeAvailable) {
</span><span class="cx">             m_decodingSizeFromSetData = true;
</span><span class="cx">             tryDecodeSize(allDataReceived);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformimagedecodersjpegJPEGImageDecodercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">         && marker->data[11] == '\0';
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr<ContiguousSharedBuffer> readICCProfile(jpeg_decompress_struct* info)
</del><ins>+static RefPtr<SharedBuffer> readICCProfile(jpeg_decompress_struct* info)
</ins><span class="cx"> {
</span><span class="cx">     auto buffer = SharedBuffer::create();
</span><span class="cx">     for (jpeg_saved_marker_ptr marker = info->marker_list; marker; marker = marker->next) {
</span><span class="lines">@@ -242,7 +242,7 @@
</span><span class="cx">     if (buffer->isEmpty())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return buffer->makeContiguous();
</del><ins>+    return buffer;
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -726,7 +726,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(LCMS)
</span><del>-void JPEGImageDecoder::setICCProfile(RefPtr<ContiguousSharedBuffer>&& buffer)
</del><ins>+void JPEGImageDecoder::setICCProfile(RefPtr<SharedBuffer>&& buffer)
</ins><span class="cx"> {
</span><span class="cx">     if (!buffer)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformimagedecodersjpegJPEGImageDecoderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/image-decoders/jpeg/JPEGImageDecoder.h      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> 
</span><span class="cx">         void setOrientation(ImageOrientation orientation) { m_orientation = orientation; }
</span><span class="cx"> #if USE(LCMS)
</span><del>-        void setICCProfile(RefPtr<ContiguousSharedBuffer>&&);
</del><ins>+        void setICCProfile(RefPtr<SharedBuffer>&&);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     private:
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformiosPasteboardIOSmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PasteboardIOS.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PasteboardIOS.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PasteboardIOS.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -240,7 +240,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(MACCATALYST)
</span><span class="cx">     if ([type isEqualToString:(__bridge NSString *)kUTTypeFlatRTFD]) {
</span><del>-        RefPtr<ContiguousSharedBuffer> buffer = strategy.readBufferFromPasteboard(itemIndex, kUTTypeFlatRTFD, m_pasteboardName, context());
</del><ins>+        RefPtr<SharedBuffer> buffer = strategy.readBufferFromPasteboard(itemIndex, kUTTypeFlatRTFD, m_pasteboardName, context());
</ins><span class="cx">         if (m_changeCount != changeCount())
</span><span class="cx">             return ReaderResult::PasteboardWasChangedExternally;
</span><span class="cx">         return buffer && reader.readRTFD(*buffer) ? ReaderResult::ReadType : ReaderResult::DidNotReadType;
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ([type isEqualToString:(__bridge NSString *)kUTTypeRTF]) {
</span><del>-        RefPtr<ContiguousSharedBuffer> buffer = strategy.readBufferFromPasteboard(itemIndex, kUTTypeRTF, m_pasteboardName, context());
</del><ins>+        RefPtr<SharedBuffer> buffer = strategy.readBufferFromPasteboard(itemIndex, kUTTypeRTF, m_pasteboardName, context());
</ins><span class="cx">         if (m_changeCount != changeCount())
</span><span class="cx">             return ReaderResult::PasteboardWasChangedExternally;
</span><span class="cx">         return buffer && reader.readRTF(*buffer) ? ReaderResult::ReadType : ReaderResult::DidNotReadType;
</span><span class="lines">@@ -255,7 +255,7 @@
</span><span class="cx"> #endif // !PLATFORM(MACCATALYST)
</span><span class="cx"> 
</span><span class="cx">     if ([supportedImageTypes() containsObject:type]) {
</span><del>-        RefPtr<ContiguousSharedBuffer> buffer = strategy.readBufferFromPasteboard(itemIndex, type, m_pasteboardName, context());
</del><ins>+        RefPtr<SharedBuffer> buffer = strategy.readBufferFromPasteboard(itemIndex, type, m_pasteboardName, context());
</ins><span class="cx">         if (m_changeCount != changeCount())
</span><span class="cx">             return ReaderResult::PasteboardWasChangedExternally;
</span><span class="cx">         return buffer && reader.readImage(buffer.releaseNonNull(), type, itemInfo.preferredPresentationSize) ? ReaderResult::ReadType : ReaderResult::DidNotReadType;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformiosPlatformPasteboardIOSmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -79,10 +79,10 @@
</span><span class="cx">     types = makeVector<String>([m_pasteboard pasteboardTypes]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> PlatformPasteboard::bufferForType(const String& type) const
</del><ins>+RefPtr<SharedBuffer> PlatformPasteboard::bufferForType(const String& type) const
</ins><span class="cx"> {
</span><span class="cx">     if (NSData *data = [m_pasteboard dataForPasteboardType:type])
</span><del>-        return ContiguousSharedBuffer::create(data);
</del><ins>+        return SharedBuffer::create(data);
</ins><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -338,7 +338,7 @@
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int64_t PlatformPasteboard::setBufferForType(ContiguousSharedBuffer*, const String&)
</del><ins>+int64_t PlatformPasteboard::setBufferForType(SharedBuffer*, const String&)
</ins><span class="cx"> {
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="lines">@@ -463,7 +463,7 @@
</span><span class="cx"> 
</span><span class="cx">     ASSERT(content.clientTypes.size() == content.clientData.size());
</span><span class="cx">     for (size_t i = 0, size = content.clientTypes.size(); i < size; ++i)
</span><del>-        [representationsToRegister addData:content.clientData[i]->makeContiguous()->createNSData().get() forType:content.clientTypes[i]];
</del><ins>+        [representationsToRegister addData:content.clientData[i]->createNSData().get() forType:content.clientTypes[i]];
</ins><span class="cx"> 
</span><span class="cx">     if (content.dataInWebArchiveFormat) {
</span><span class="cx">         auto webArchiveData = content.dataInWebArchiveFormat->createNSData();
</span><span class="lines">@@ -479,7 +479,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (content.dataInAttributedStringFormat) {
</span><del>-        if (NSAttributedString *attributedString = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet setWithObject:NSAttributedString.class] fromData:content.dataInAttributedStringFormat->makeContiguous()->createNSData().get() error:nullptr])
</del><ins>+        if (NSAttributedString *attributedString = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet setWithObject:NSAttributedString.class] fromData:content.dataInAttributedStringFormat->createNSData().get() error:nullptr])
</ins><span class="cx">             [representationsToRegister addRepresentingObject:attributedString];
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -521,7 +521,7 @@
</span><span class="cx">         if (!isDeclaredUTI(utiOrMIMEType))
</span><span class="cx">             utiOrMIMEType = UTIFromMIMEType(utiOrMIMEType);
</span><span class="cx"> 
</span><del>-        auto imageData = pasteboardImage.resourceData->makeContiguous()->createNSData();
</del><ins>+        auto imageData = pasteboardImage.resourceData->createNSData();
</ins><span class="cx">         [representationsToRegister addData:imageData.get() forType:(NSString *)utiOrMIMEType];
</span><span class="cx">         [representationsToRegister setPreferredPresentationSize:pasteboardImage.imageSize];
</span><span class="cx">         [representationsToRegister setSuggestedName:pasteboardImage.suggestedName];
</span><span class="lines">@@ -609,7 +609,7 @@
</span><span class="cx"> #endif // PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA
</span><span class="cx"> 
</span><span class="cx">     if (NSData *serializedCustomData = [m_pasteboard dataForPasteboardType:@(PasteboardCustomData::cocoaType())]) {
</span><del>-        auto data = PasteboardCustomData::fromSharedBuffer(ContiguousSharedBuffer::create(serializedCustomData).get());
</del><ins>+        auto data = PasteboardCustomData::fromSharedBuffer(SharedBuffer::create(serializedCustomData).get());
</ins><span class="cx">         if (data.origin() == origin) {
</span><span class="cx">             for (auto& type : data.orderedTypes())
</span><span class="cx">                 domPasteboardTypes.add(type);
</span><span class="lines">@@ -672,7 +672,7 @@
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        auto buffer = std::get<Ref<ContiguousSharedBuffer>>(value);
</del><ins>+        auto buffer = std::get<Ref<SharedBuffer>>(value);
</ins><span class="cx">         [representationsToRegister addData:buffer->createNSData().get() forType:(NSString *)cocoaType];
</span><span class="cx">     });
</span><span class="cx"> 
</span><span class="lines">@@ -746,7 +746,7 @@
</span><span class="cx">     return strings;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> PlatformPasteboard::readBuffer(std::optional<size_t> index, const String& type) const
</del><ins>+RefPtr<SharedBuffer> PlatformPasteboard::readBuffer(std::optional<size_t> index, const String& type) const
</ins><span class="cx"> {
</span><span class="cx">     if (!index)
</span><span class="cx">         return bufferForType(type);
</span><span class="lines">@@ -761,7 +761,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (![pasteboardItem count])
</span><span class="cx">         return nullptr;
</span><del>-    return ContiguousSharedBuffer::create([pasteboardItem objectAtIndex:0]);
</del><ins>+    return SharedBuffer::create([pasteboardItem objectAtIndex:0]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String PlatformPasteboard::readString(size_t index, const String& type) const
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformmacPasteboardMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PasteboardMac.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PasteboardMac.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PasteboardMac.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -250,7 +250,7 @@
</span><span class="cx"> 
</span><span class="cx"> static NSFileWrapper* fileWrapper(const PasteboardImage& pasteboardImage)
</span><span class="cx"> {
</span><del>-    auto wrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:pasteboardImage.resourceData->makeContiguous()->createNSData().get()]);
</del><ins>+    auto wrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:pasteboardImage.resourceData->createNSData().get()]);
</ins><span class="cx">     [wrapper setPreferredFilename:suggestedFilenameWithMIMEType(pasteboardImage.url.url, pasteboardImage.resourceMIMEType)];
</span><span class="cx">     return wrapper.autorelease();
</span><span class="cx"> }
</span><span class="lines">@@ -263,7 +263,7 @@
</span><span class="cx">     if (!RTFDData)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    newChangeCount = platformStrategies()->pasteboardStrategy()->setBufferForType(ContiguousSharedBuffer::create(RTFDData).ptr(), legacyRTFDPasteboardType(), pasteboardName, context);
</del><ins>+    newChangeCount = platformStrategies()->pasteboardStrategy()->setBufferForType(SharedBuffer::create(RTFDData).ptr(), legacyRTFDPasteboardType(), pasteboardName, context);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Pasteboard::write(const PasteboardImage& pasteboardImage)
</span><span class="lines">@@ -285,7 +285,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_changeCount = writeURLForTypes(types, m_pasteboardName, pasteboardImage.url, context());
</span><del>-    m_changeCount = platformStrategies()->pasteboardStrategy()->setBufferForType(ContiguousSharedBuffer::create(imageData).ptr(), legacyTIFFPasteboardType(), m_pasteboardName, context());
</del><ins>+    m_changeCount = platformStrategies()->pasteboardStrategy()->setBufferForType(SharedBuffer::create(imageData).ptr(), legacyTIFFPasteboardType(), m_pasteboardName, context());
</ins><span class="cx">     if (auto archiveData = pasteboardImage.dataInWebArchiveFormat) {
</span><span class="cx">         m_changeCount = platformStrategies()->pasteboardStrategy()->setBufferForType(archiveData.get(), WebArchivePboardType, m_pasteboardName, context());
</span><span class="cx"> 
</span><span class="lines">@@ -344,7 +344,7 @@
</span><span class="cx">     return strategy.stringForType(type, pasteboardName, context);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr<ContiguousSharedBuffer> readBufferAtPreferredItemIndex(const String& type, std::optional<size_t> itemIndex, PasteboardStrategy& strategy, const String& pasteboardName, const PasteboardContext* context)
</del><ins>+static RefPtr<SharedBuffer> readBufferAtPreferredItemIndex(const String& type, std::optional<size_t> itemIndex, PasteboardStrategy& strategy, const String& pasteboardName, const PasteboardContext* context)
</ins><span class="cx"> {
</span><span class="cx">     if (itemIndex)
</span><span class="cx">         return strategy.readBufferFromPasteboard(*itemIndex, type, pasteboardName, context);
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx">     
</span><span class="cx">     if (types.contains(String(legacyRTFDPasteboardType()))) {
</span><span class="cx">         if (auto data = readBufferAtPreferredItemIndex(legacyRTFDPasteboardType(), itemIndex, strategy, m_pasteboardName, context())) {
</span><del>-            if (auto attributedString = adoptNS([[NSAttributedString alloc] initWithRTFD:data->makeContiguous()->createNSData().get() documentAttributes:nil])) {
</del><ins>+            if (auto attributedString = adoptNS([[NSAttributedString alloc] initWithRTFD:data->createNSData().get() documentAttributes:nil])) {
</ins><span class="cx">                 text.text = [attributedString string];
</span><span class="cx">                 text.isURL = false;
</span><span class="cx">                 return;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformmacPlatformPasteboardMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PlatformPasteboardMac.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PlatformPasteboardMac.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/mac/PlatformPasteboardMac.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -68,12 +68,12 @@
</span><span class="cx">     types = makeVector<String>([m_pasteboard types]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> PlatformPasteboard::bufferForType(const String& pasteboardType) const
</del><ins>+RefPtr<SharedBuffer> PlatformPasteboard::bufferForType(const String& pasteboardType) const
</ins><span class="cx"> {
</span><span class="cx">     NSData *data = [m_pasteboard dataForType:pasteboardType];
</span><span class="cx">     if (!data)
</span><span class="cx">         return nullptr;
</span><del>-    return ContiguousSharedBuffer::create(adoptNS([data copy]).get());
</del><ins>+    return SharedBuffer::create(adoptNS([data copy]).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int PlatformPasteboard::numberOfFiles() const
</span><span class="lines">@@ -218,7 +218,7 @@
</span><span class="cx"> {
</span><span class="cx">     ListHashSet<String> domPasteboardTypes;
</span><span class="cx">     if (NSData *serializedCustomData = [m_pasteboard dataForType:@(PasteboardCustomData::cocoaType())]) {
</span><del>-        auto data = PasteboardCustomData::fromSharedBuffer(ContiguousSharedBuffer::create(serializedCustomData).get());
</del><ins>+        auto data = PasteboardCustomData::fromSharedBuffer(SharedBuffer::create(serializedCustomData).get());
</ins><span class="cx">         if (data.origin() == origin) {
</span><span class="cx">             for (auto& type : data.orderedTypes())
</span><span class="cx">                 domPasteboardTypes.add(type);
</span><span class="lines">@@ -263,8 +263,8 @@
</span><span class="cx">         if (platformType.isEmpty())
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(stringOrBuffer)) {
-            if (auto platformData = std::get<Ref<ContiguousSharedBuffer>>(stringOrBuffer)->createNSData())
</del><ins>+        if (std::holds_alternative<Ref<SharedBuffer>>(stringOrBuffer)) {
+            if (auto platformData = std::get<Ref<SharedBuffer>>(stringOrBuffer)->createNSData())
</ins><span class="cx">                 [m_pasteboard setData:platformData.get() forType:platformType];
</span><span class="cx">         } else if (std::holds_alternative<String>(stringOrBuffer)) {
</span><span class="cx">             auto string = std::get<String>(stringOrBuffer);
</span><span class="lines">@@ -341,7 +341,7 @@
</span><span class="cx">     return [m_pasteboard declareTypes:createNSArray(pasteboardTypes).get() owner:nil];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int64_t PlatformPasteboard::setBufferForType(ContiguousSharedBuffer* buffer, const String& pasteboardType)
</del><ins>+int64_t PlatformPasteboard::setBufferForType(SharedBuffer* buffer, const String& pasteboardType)
</ins><span class="cx"> {
</span><span class="cx">     if (!canWritePasteboardType(pasteboardType))
</span><span class="cx">         return 0;
</span><span class="lines">@@ -446,7 +446,7 @@
</span><span class="cx">     return { };
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> PlatformPasteboard::readBuffer(std::optional<size_t> index, const String& type) const
</del><ins>+RefPtr<SharedBuffer> PlatformPasteboard::readBuffer(std::optional<size_t> index, const String& type) const
</ins><span class="cx"> {
</span><span class="cx">     if (!index)
</span><span class="cx">         return bufferForType(type);
</span><span class="lines">@@ -457,7 +457,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (NSData *data = [item dataForType:type]) {
</span><span class="cx">         auto nsData = adoptNS(data.copy);
</span><del>-        return ContiguousSharedBuffer::create(nsData.get());
</del><ins>+        return SharedBuffer::create(nsData.get());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return nullptr;
</span><span class="lines">@@ -507,8 +507,8 @@
</span><span class="cx">         if (!platformType)
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        if (std::holds_alternative<Ref<ContiguousSharedBuffer>>(stringOrBuffer)) {
-            if (auto platformData = std::get<Ref<ContiguousSharedBuffer>>(stringOrBuffer)->createNSData())
</del><ins>+        if (std::holds_alternative<Ref<SharedBuffer>>(stringOrBuffer)) {
+            if (auto platformData = std::get<Ref<SharedBuffer>>(stringOrBuffer)->createNSData())
</ins><span class="cx">                 [item setData:platformData.get() forType:platformType];
</span><span class="cx">         } else if (std::holds_alternative<String>(stringOrBuffer)) {
</span><span class="cx">             auto string = std::get<String>(stringOrBuffer);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkFormDatacpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -412,13 +412,13 @@
</span><span class="cx">     return *m_lengthInBytes;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> FormData::asSharedBuffer() const
</del><ins>+RefPtr<SharedBuffer> FormData::asSharedBuffer() const
</ins><span class="cx"> {
</span><span class="cx">     for (auto& element : m_elements) {
</span><span class="cx">         if (!std::holds_alternative<Vector<uint8_t>>(element.data))
</span><span class="cx">             return nullptr;
</span><span class="cx">     }
</span><del>-    return ContiguousSharedBuffer::create(flatten());
</del><ins>+    return SharedBuffer::create(flatten());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> URL FormData::asBlobURL() const
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkFormDatah"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.h       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/FormData.h  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> class BlobRegistryImpl;
</span><span class="cx"> class DOMFormData;
</span><span class="cx"> class File;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> 
</span><span class="cx"> struct FormDataElement {
</span><span class="cx">     struct EncodedFileData;
</span><span class="lines">@@ -232,7 +232,7 @@
</span><span class="cx">     const Vector<FormDataElement>& elements() const { return m_elements; }
</span><span class="cx">     const Vector<char>& boundary() const { return m_boundary; }
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT RefPtr<ContiguousSharedBuffer> asSharedBuffer() const;
</del><ins>+    WEBCORE_EXPORT RefPtr<SharedBuffer> asSharedBuffer() const;
</ins><span class="cx"> 
</span><span class="cx">     bool alwaysStream() const { return m_alwaysStream; }
</span><span class="cx">     void setAlwaysStream(bool alwaysStream) { m_alwaysStream = alwaysStream; }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkResourceHandleClientcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/ResourceHandleClient.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/ResourceHandleClient.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/ResourceHandleClient.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> 
</span><span class="cx"> void ResourceHandleClient::didReceiveBuffer(ResourceHandle* handle, Ref<SharedBuffer>&& buffer, int encodedDataLength)
</span><span class="cx"> {
</span><del>-    didReceiveData(handle, buffer->makeContiguous()->data(), buffer->size(), encodedDataLength);
</del><ins>+    didReceiveData(handle, buffer->data(), buffer->size(), encodedDataLength);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">         
</span><span class="cx">         LOG(Network, "CFNet - ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData(handle=%p) (%s)", handle, handle->firstRequest().url().string().utf8().data());
</span><span class="cx"> 
</span><del>-        handle->client()->didReceiveBuffer(handle, ContiguousSharedBuffer::create(data.get()), originalLength);
</del><ins>+        handle->client()->didReceiveBuffer(handle, SharedBuffer::create(data.get()), originalLength);
</ins><span class="cx">     };
</span><span class="cx">     
</span><span class="cx">     if (m_messageQueue)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkcocoaWebCoreNSURLSessionmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -919,7 +919,7 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT_UNUSED(resource, !resource || resource == _resource);
</span><span class="cx">     [self.session addDelegateOperation:[strongSelf = RetainPtr { self }, data = WTFMove(data)] {
</span><del>-        auto nsData = data->makeContiguous()->createNSData();
</del><ins>+        auto nsData = data->createNSData();
</ins><span class="cx">         strongSelf.get().countOfBytesReceived += data->size();
</span><span class="cx">         id<NSURLSessionDataDelegate> dataDelegate = (id<NSURLSessionDataDelegate>)strongSelf.get().session.delegate;
</span><span class="cx">         if ([dataDelegate respondsToSelector:@selector(URLSession:dataTask:didReceiveData:)])
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkcurlCurlMultipartHandlecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     if (m_state == State::End)
</span><span class="cx">         return; // The handler is closed down so ignore everything.
</span><span class="cx"> 
</span><del>-    m_buffer.append(buffer.makeContiguous()->data(), buffer.size());
</del><ins>+    m_buffer.append(buffer.data(), buffer.size());
</ins><span class="cx"> 
</span><span class="cx">     while (processContent()) { }
</span><span class="cx"> }
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     if (m_state != State::End) {
</span><span class="cx">         // It seems we are still not at the end of the processing.
</span><span class="cx">         // Push out the remaining data.
</span><del>-        m_client.didReceiveDataFromMultipart(ContiguousSharedBuffer::create(WTFMove(m_buffer)));
</del><ins>+        m_client.didReceiveDataFromMultipart(SharedBuffer::create(m_buffer.data(), m_buffer.size()));
</ins><span class="cx">         m_state = State::End;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -234,13 +234,13 @@
</span><span class="cx"> 
</span><span class="cx">         if (!checkForBoundary(boundaryStart, lastPartialMatch) && boundaryStart == notFound) {
</span><span class="cx">             // Did not find the boundary start, all data up to the lastPartialMatch is ok.
</span><del>-            m_client.didReceiveDataFromMultipart(ContiguousSharedBuffer::create(m_buffer.data(), lastPartialMatch));
</del><ins>+            m_client.didReceiveDataFromMultipart(SharedBuffer::create(m_buffer.data(), lastPartialMatch));
</ins><span class="cx">             m_buffer.remove(0, lastPartialMatch);
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // There was a boundary start (or end we'll check that later), push out part of the data.
</span><del>-        m_client.didReceiveDataFromMultipart(ContiguousSharedBuffer::create(m_buffer.data(), boundaryStart));
</del><ins>+        m_client.didReceiveDataFromMultipart(SharedBuffer::create(m_buffer.data(), boundaryStart));
</ins><span class="cx">         m_buffer.remove(0, boundaryStart + m_boundary.length());
</span><span class="cx">         m_state = State::EndBoundary;
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkcurlCurlRequestcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlRequest.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlRequest.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlRequest.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -790,7 +790,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_downloadFileHandle != FileSystem::invalidPlatformFileHandle)
</span><del>-        FileSystem::writeToFile(m_downloadFileHandle, buffer.makeContiguous()->data(), buffer.size());
</del><ins>+        FileSystem::writeToFile(m_downloadFileHandle, buffer.data(), buffer.size());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CurlRequest::closeDownloadFile()
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkcurlCurlResourceHandleDelegatecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlResourceHandleDelegate.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlResourceHandleDelegate.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/curl/CurlResourceHandleDelegate.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -149,9 +149,8 @@
</span><span class="cx">     if (cancelledOrClientless())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto contiguousBuffer = buffer->makeContiguous();
-    CurlCacheManager::singleton().didReceiveData(m_handle, contiguousBuffer->data(), buffer->size());
-    client()->didReceiveBuffer(&m_handle, WTFMove(contiguousBuffer), buffer->size());
</del><ins>+    CurlCacheManager::singleton().didReceiveData(m_handle, buffer->data(), buffer->size());
+    client()->didReceiveBuffer(&m_handle, WTFMove(buffer), buffer->size());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CurlResourceHandleDelegate::curlDidComplete(CurlRequest&, NetworkLoadMetrics&& metrics)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformnetworkmacWebCoreResourceHandleAsOperationQueueDelegatemm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -300,7 +300,7 @@
</span><span class="cx">         // FIXME: https://bugs.webkit.org/show_bug.cgi?id=19793
</span><span class="cx">         // -1 means we do not provide any data about transfer size to inspector so it would use
</span><span class="cx">         // Content-Length headers or content size to show transfer size.
</span><del>-        m_handle->client()->didReceiveBuffer(m_handle, ContiguousSharedBuffer::create(data.get()), -1);
</del><ins>+        m_handle->client()->didReceiveBuffer(m_handle, SharedBuffer::create(data.get()), -1);
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     [self callFunctionOnMainThread:WTFMove(work)];
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreplatformwinPasteboardWincpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/platform/win/PasteboardWin.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/platform/win/PasteboardWin.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/platform/win/PasteboardWin.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct PasteboardFileCounter final : PasteboardFileReader {
</span><span class="cx">     void readFilename(const String&) final { ++count; }
</span><del>-    void readBuffer(const String&, const String&, Ref<ContiguousSharedBuffer>&&) final { ++count; }
</del><ins>+    void readBuffer(const String&, const String&, Ref<SharedBuffer>&&) final { ++count; }
</ins><span class="cx"> 
</span><span class="cx">     unsigned count { 0 };
</span><span class="cx"> };
</span><span class="lines">@@ -978,8 +978,8 @@
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (data->size())
-        CopyMemory(fileContents, data->makeContiguous()->data(), data->size());
</del><ins>+    if (data->data())
+        CopyMemory(fileContents, data->data(), data->size());
</ins><span class="cx"> 
</span><span class="cx">     GlobalUnlock(memObj);
</span><span class="cx"> 
</span><span class="lines">@@ -1030,8 +1030,8 @@
</span><span class="cx">         // Write the data to this temp file.
</span><span class="cx">         DWORD written;
</span><span class="cx">         BOOL tempWriteSucceeded = FALSE;
</span><del>-        if (data->size())
-            tempWriteSucceeded = WriteFile(tempFileHandle, data->makeContiguous()->data(), data->size(), &written, 0);
</del><ins>+        if (data->data())
+            tempWriteSucceeded = WriteFile(tempFileHandle, data->data(), data->size(), &written, 0);
</ins><span class="cx">         CloseHandle(tempFileHandle);
</span><span class="cx">         if (!tempWriteSucceeded)
</span><span class="cx">             return 0;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoretestingMockCDMFactorycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/testing/MockCDMFactory.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/testing/MockCDMFactory.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/testing/MockCDMFactory.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -213,11 +213,10 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr<SharedBuffer> MockCDM::sanitizeResponse(const SharedBuffer& response) const
</span><span class="cx"> {
</span><del>-    auto buffer = response.makeContiguous();
-    if (!charactersAreAllASCII(buffer->data(), response.size()))
</del><ins>+    if (!charactersAreAllASCII(response.data(), response.size()))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Vector<String> responseArray = String(buffer->data(), response.size()).split(' ');
</del><ins>+    Vector<String> responseArray = String(response.data(), response.size()).split(' ');
</ins><span class="cx"> 
</span><span class="cx">     if (!responseArray.contains(String("valid-response"_s)))
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -272,7 +271,7 @@
</span><span class="cx"> 
</span><span class="cx"> void MockCDMInstance::setServerCertificate(Ref<SharedBuffer>&& certificate, SuccessCallback&& callback)
</span><span class="cx"> {
</span><del>-    StringView certificateStringView(certificate->makeContiguous()->data(), certificate->size());
</del><ins>+    StringView certificateStringView(certificate->data(), certificate->size());
</ins><span class="cx"> 
</span><span class="cx">     callback(equalIgnoringASCIICase(certificateStringView, "valid") ? Succeeded : Failed);
</span><span class="cx"> }
</span><span class="lines">@@ -332,7 +331,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Vector<String> responseVector = String(response->makeContiguous()->data(), response->size()).split(' ');
</del><ins>+    Vector<String> responseVector = String(response->data(), response->size()).split(' ');
</ins><span class="cx"> 
</span><span class="cx">     if (responseVector.contains(String("invalid-format"_s))) {
</span><span class="cx">         callback(false, std::nullopt, std::nullopt, std::nullopt, SuccessValue::Failed);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreworkersWorkerFontLoadRequestcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/workers/WorkerFontLoadRequest.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/workers/WorkerFontLoadRequest.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/workers/WorkerFontLoadRequest.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -78,15 +78,11 @@
</span><span class="cx"> bool WorkerFontLoadRequest::ensureCustomFontData(const AtomString&)
</span><span class="cx"> {
</span><span class="cx">     if (!m_fontCustomPlatformData && !m_errorOccurred && !m_isLoading) {
</span><ins>+        convertWOFFToSfntIfNecessary(m_data);
</ins><span class="cx">         if (m_data) {
</span><del>-            RefPtr<ContiguousSharedBuffer> contiguousData = m_data->makeContiguous();
-            convertWOFFToSfntIfNecessary(contiguousData);
-            m_data = contiguousData;
-            if (contiguousData) {
-                m_fontCustomPlatformData = createFontCustomPlatformData(*contiguousData, m_url.fragmentIdentifier().toString());
-                if (!m_fontCustomPlatformData)
-                    m_errorOccurred = true;
-            }
</del><ins>+            m_fontCustomPlatformData = createFontCustomPlatformData(*m_data, m_url.fragmentIdentifier().toString());
+            if (!m_fontCustomPlatformData)
+                m_errorOccurred = true;
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreworkersservicecontextServiceWorkerFetchcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     auto body = response->consumeBody();
</span><span class="cx">     WTF::switchOn(body, [&] (Ref<FormData>& formData) {
</span><span class="cx">         client->didReceiveFormDataAndFinish(WTFMove(formData));
</span><del>-    }, [&] (Ref<ContiguousSharedBuffer>& buffer) {
</del><ins>+    }, [&] (Ref<SharedBuffer>& buffer) {
</ins><span class="cx">         client->didReceiveData(WTFMove(buffer));
</span><span class="cx">         client->didFinish();
</span><span class="cx">     }, [&] (std::nullptr_t&) {
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCoreworkersserviceserverSWScriptStoragecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/workers/service/server/SWScriptStorage.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/workers/service/server/SWScriptStorage.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/workers/service/server/SWScriptStorage.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -127,8 +127,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Do we need to disable file mapping in more cases to avoid having too many file descriptors open?
</span><del>-    RefPtr<SharedBuffer> buffer = ContiguousSharedBuffer::createWithContentsOfFile(scriptPath, FileSystem::MappedFileMode::Private, shouldUseFileMapping(*fileSize) ? ContiguousSharedBuffer::MayUseFileMapping::Yes : ContiguousSharedBuffer::MayUseFileMapping::No);
-    return buffer;
</del><ins>+    return SharedBuffer::createWithContentsOfFile(scriptPath, FileSystem::MappedFileMode::Private, shouldUseFileMapping(*fileSize) ? SharedBuffer::MayUseFileMapping::Yes : SharedBuffer::MayUseFileMapping::No);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SWScriptStorage::clear(const ServiceWorkerRegistrationKey& registrationKey)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCorexmlXSLTProcessorLibxsltcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/xml/XSLTProcessorLibxslt.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/xml/XSLTProcessorLibxslt.cpp      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/xml/XSLTProcessorLibxslt.cpp 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">         ResourceError error;
</span><span class="cx">         ResourceResponse response;
</span><span class="cx"> 
</span><del>-        RefPtr<ContiguousSharedBuffer> data;
</del><ins>+        RefPtr<SharedBuffer> data;
</ins><span class="cx"> 
</span><span class="cx">         bool requestAllowed = globalCachedResourceLoader->frame() && globalCachedResourceLoader->document()->securityOrigin().canRequest(url);
</span><span class="cx">         if (requestAllowed) {
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebCorexmlparserXMLDocumentParserLibxml2cpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -464,7 +464,7 @@
</span><span class="cx">         return &globalDescriptor;
</span><span class="cx"> 
</span><span class="cx">     ResourceResponse response;
</span><del>-    RefPtr<ContiguousSharedBuffer> data;
</del><ins>+    RefPtr<SharedBuffer> data;
</ins><span class="cx"> 
</span><span class="cx">     {
</span><span class="cx">         ResourceError error;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/ChangeLog (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/ChangeLog  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/ChangeLog     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -129,138 +129,6 @@
</span><span class="cx">         * WebProcess/WebPage/wc/GraphicsLayerWC.cpp:
</span><span class="cx">         (WebKit::GraphicsLayerWC::setContentsDisplayDelegate):
</span><span class="cx"> 
</span><del>-2021-12-13  Jean-Yves Avenard  <jya@apple.com>
-
-        Distinguish contiguous SharedBuffer from non-contiguous one and guarantee immutability
-        https://bugs.webkit.org/show_bug.cgi?id=233030
-        rdar://85333814
-
-        Reviewed by Darin Adler.
-
-        * GPUProcess/webrtc/RemoteMediaRecorder.cpp:
-        (WebKit::RemoteMediaRecorder::fetchData):
-        * NetworkProcess/NetworkResourceLoader.cpp:
-        (WebKit::sendReplyToSynchronousRequest):
-        * NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
-        (WebKit::ServiceWorkerSoftUpdateLoader::didReceiveBuffer):
-        * NetworkProcess/cache/CacheStorageEngineCache.cpp:
-        (WebKit::CacheStorage::Cache::encode):
-        (WebKit::CacheStorage::Cache::decode):
-        * NetworkProcess/cache/NetworkCacheEntry.cpp:
-        (WebKit::NetworkCache::Entry::encodeAsStorageRecord const):
-        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
-        (WebKit::NetworkDataTaskSoup::didReadDataURL):
-        * Platform/IPC/SharedBufferCopy.cpp:
-        (IPC::SharedBufferCopy::decode):
-        * Platform/IPC/SharedBufferCopy.h:
-        (IPC::SharedBufferCopy::SharedBufferCopy):
-        (IPC::SharedBufferCopy::buffer):
-        (IPC::SharedBufferCopy::buffer const):
-        * Platform/SharedMemory.cpp:
-        (WebKit::SharedMemory::createSharedBuffer const):
-        * Platform/SharedMemory.h:
-        * Shared/APIWebArchiveResource.mm:
-        (API::WebArchiveResource::data):
-        * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
-        (IPC::ArgumentCoder<Ref<WebCore::Font>>::decodePlatformData):
-        * Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:
-        (WebKit::CGDisplayListImageBufferBackend::createImageBufferBackendHandle const):
-        * Shared/ShareableResource.cpp:
-        (WebKit::ShareableResource::wrapInSharedBuffer):
-        (WebKit::ShareableResource::Handle::tryWrapInSharedBuffer const):
-        * Shared/ShareableResource.h:
-        * Shared/WebCoreArgumentCoders.cpp:
-        (IPC::decodeSharedBuffer):
-        (IPC::encodeTypesAndData):
-        (IPC::decodeTypesAndData):
-        (IPC::ArgumentCoder<DOMCacheEngine::Record>::encode):
-        (IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):
-        (IPC::ArgumentCoder<PasteboardCustomData::Entry>::decode):
-        (IPC::ArgumentCoder<WebCore::SerializedAttachmentData>::decode):
-        (IPC::ArgumentCoder<RefPtr<WebCore::SharedBuffer>>::decode):
-        (IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::decode):
-        (IPC::ArgumentCoder<RefPtr<WebCore::ContiguousSharedBuffer>>::encode):
-        (IPC::ArgumentCoder<RefPtr<WebCore::ContiguousSharedBuffer>>::decode):
-        (IPC::ArgumentCoder<Ref<WebCore::ContiguousSharedBuffer>>::encode):
-        (IPC::ArgumentCoder<Ref<WebCore::ContiguousSharedBuffer>>::decode):
-        (IPC::ArgumentCoder<WebCore::ScriptBuffer>::decode):
-        * Shared/WebCoreArgumentCoders.h:
-        * Shared/gtk/ArgumentCodersGtk.cpp:
-        (IPC::ArgumentCoder<SelectionData>::decode):
-        * Shared/win/WebCoreArgumentCodersWin.cpp:
-        (IPC::ArgumentCoder<Ref<Font>>::decodePlatformData):
-        * UIProcess/API/APIAttachment.cpp:
-        (API::Attachment::createSerializedRepresentation const):
-        (API::Attachment::updateFromSerializedRepresentation):
-        * UIProcess/API/APIAttachment.h:
-        * UIProcess/API/APIContentRuleListStore.cpp:
-        (API::getData):
-        * UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
-        (API::Attachment::createSerializedRepresentation const):
-        (API::Attachment::updateFromSerializedRepresentation):
-        * UIProcess/API/Cocoa/WKWebView.mm:
-        (-[WKWebView _storeAppHighlight:]):
-        * UIProcess/API/gtk/DropTargetGtk3.cpp:
-        (WebKit::DropTarget::dataReceived):
-        * UIProcess/Cocoa/NavigationState.mm:
-        (WebKit::NavigationState::NavigationClient::didFinishLoadForQuickLookDocumentInMainFrame):
-        * UIProcess/Cocoa/WebViewImpl.mm:
-        (WebKit::WebViewImpl::writeSelectionToPasteboard):
-        (WebKit::WebViewImpl::setPromisedDataForImage):
-        (WebKit::WebViewImpl::provideDataForPasteboard):
-        (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
-        (WebKit::WebViewImpl::requestDOMPasteAccess):
-        * UIProcess/PageClient.h:
-        * UIProcess/WebPageProxy.h:
-        * UIProcess/WebURLSchemeTask.cpp:
-        (WebKit::WebURLSchemeTask::didComplete):
-        * UIProcess/ios/PageClientImplIOS.h:
-        * UIProcess/ios/PageClientImplIOS.mm:
-        (WebKit::PageClientImpl::saveImageToLibrary):
-        * UIProcess/ios/WKContentViewInteraction.mm:
-        (-[WKContentView canPerformActionForWebView:withSender:]):
-        (allPasteboardItemOriginsMatchOrigin):
-        (-[WKContentView actionSheetAssistant:shareElementWithImage:rect:]):
-        * UIProcess/ios/WebPageProxyIOS.mm:
-        (WebKit::WebPageProxy::dataSelectionForPasteboard):
-        * UIProcess/mac/WebPageProxyMac.mm:
-        (WebKit::WebPageProxy::dataSelectionForPasteboard):
-        * WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
-        (API::InjectedBundle::EditorClient::getPasteboardDataForRange):
-        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
-        (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]):
-        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
-        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
-        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
-        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
-        (WebKit::releaseSharedBuffer):
-        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
-        * WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
-        (WebKit::ARKitInlinePreviewModelPlayerMac::createFile):
-        * WebProcess/Network/NetworkProcessConnection.cpp:
-        (WebKit::NetworkProcessConnection::didCacheResource):
-        * WebProcess/Network/WebResourceLoader.cpp:
-        (WebKit::WebResourceLoader::didReceiveData):
-        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
-        (WebKit::WebEditorClient::getClientPasteboardData):
-        * WebProcess/WebCoreSupport/WebEditorClient.h:
-        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
-        (WebKit::WebFrameLoaderClient::finishedLoading):
-        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
-        (WebKit::WebPlatformStrategies::bufferForType):
-        (WebKit::WebPlatformStrategies::readBufferFromClipboard):
-        (WebKit::WebPlatformStrategies::readBufferFromPasteboard):
-        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
-        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
-        (WebKit::WebDragClient::declareAndWriteDragImage):
-        * WebProcess/WebPage/WebFrame.cpp:
-        (WebKit::WebFrame::source const):
-        * WebProcess/WebPage/mac/WebPageMac.mm:
-        (WebKit::WebPage::getDataSelectionForPasteboard):
-        * WebProcess/cocoa/VideoFullscreenManager.mm:
-        (WebKit::VideoFullscreenManager::supportsVideoFullscreen const):
-        (WebKit::VideoFullscreenManager::supportsVideoFullscreenStandby const):
-
</del><span class="cx"> 2021-12-12  Sihui Liu  <sihui_liu@apple.com>
</span><span class="cx"> 
</span><span class="cx">         Merge StorageManager with NetworkStorageManager to manage WebStorage by origin
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitGPUProcesswebrtcRemoteMediaRecordercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -107,8 +107,7 @@
</span><span class="cx"> void RemoteMediaRecorder::fetchData(CompletionHandler<void(IPC::DataReference&&, double)>&& completionHandler)
</span><span class="cx"> {
</span><span class="cx">     m_writer->fetchData([completionHandler = WTFMove(completionHandler)](auto&& data, auto timeCode) mutable {
</span><del>-        auto buffer = data ? data->makeContiguous() : RefPtr<WebCore::ContiguousSharedBuffer>();
-        auto* pointer = buffer ? buffer->data() : nullptr;
</del><ins>+        auto* pointer = data ? data->data() : nullptr;
</ins><span class="cx">         completionHandler(IPC::DataReference { pointer, data ? data->size() : 0 }, timeCode);
</span><span class="cx">     });
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcessNetworkResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> 
</span><span class="cx">     Vector<uint8_t> responseBuffer;
</span><span class="cx">     if (buffer && buffer->size())
</span><del>-        responseBuffer.append(buffer->makeContiguous()->data(), buffer->size());
</del><ins>+        responseBuffer.append(buffer->data(), buffer->size());
</ins><span class="cx"> 
</span><span class="cx">     data.response.setDeprecatedNetworkLoadMetrics(Box<NetworkLoadMetrics>::create(metrics));
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcessServiceWorkerServiceWorkerNavigationPreloadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx"> void ServiceWorkerNavigationPreloader::didReceiveBuffer(Ref<SharedBuffer>&& buffer, int reportedEncodedDataLength)
</span><span class="cx"> {
</span><span class="cx">     if (m_bodyCallback)
</span><del>-        m_bodyCallback(buffer->makeContiguous(), reportedEncodedDataLength);
</del><ins>+        m_bodyCallback(WTFMove(buffer), reportedEncodedDataLength);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ServiceWorkerNavigationPreloader::didFinishLoading(const NetworkLoadMetrics& networkLoadMetrics)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcessServiceWorkerServiceWorkerNavigationPreloaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx">     using ResponseCallback = Function<void()>;
</span><span class="cx">     void waitForResponse(ResponseCallback&&);
</span><del>-    using BodyCallback = Function<void(RefPtr<WebCore::ContiguousSharedBuffer>&&, int reportedEncodedDataLength)>;
</del><ins>+    using BodyCallback = Function<void(RefPtr<WebCore::SharedBuffer>&&, int reportedEncodedDataLength)>;
</ins><span class="cx">     void waitForBody(BodyCallback&&);
</span><span class="cx"> 
</span><span class="cx">     const WebCore::ResourceError& error() const { return m_error; }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcessServiceWorkerServiceWorkerSoftUpdateLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (auto size = buffer->size())
</span><del>-        m_script.append(m_decoder->decode(buffer->makeContiguous()->data(), size));
</del><ins>+        m_script.append(m_decoder->decode(buffer->data(), size));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ServiceWorkerSoftUpdateLoader::didFinishLoading(const WebCore::NetworkLoadMetrics&)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcesscacheCacheStorageEngineCachecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -581,7 +581,7 @@
</span><span class="cx">     Data body;
</span><span class="cx">     WTF::switchOn(record.responseBody, [](const Ref<WebCore::FormData>& formData) {
</span><span class="cx">         // FIXME: Store form data body.
</span><del>-    }, [&](const Ref<WebCore::ContiguousSharedBuffer>& buffer) {
</del><ins>+    }, [&](const Ref<WebCore::SharedBuffer>& buffer) {
</ins><span class="cx">         body = { buffer->data(), buffer->size() };
</span><span class="cx">     }, [](const std::nullptr_t&) {
</span><span class="cx">     });
</span><span class="lines">@@ -673,7 +673,7 @@
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="cx">     auto record = WTFMove(result->record);
</span><del>-    record.responseBody = WebCore::ContiguousSharedBuffer::create(storage.body.data(), storage.body.size());
</del><ins>+    record.responseBody = WebCore::SharedBuffer::create(storage.body.data(), storage.body.size());
</ins><span class="cx"> 
</span><span class="cx">     return record;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcesscacheNetworkCacheEntrycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/cache/NetworkCacheEntry.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -101,10 +101,8 @@
</span><span class="cx"> 
</span><span class="cx">     Data header(encoder.buffer(), encoder.bufferSize());
</span><span class="cx">     Data body;
</span><del>-    if (m_buffer) {
-        m_buffer = m_buffer->makeContiguous();
-        body = { static_cast<WebCore::ContiguousSharedBuffer*>(m_buffer.get())->data(), m_buffer->size() };
-    }
</del><ins>+    if (m_buffer)
+        body = { m_buffer->data(), m_buffer->size() };
</ins><span class="cx"> 
</span><span class="cx">     return { m_key, m_timeStamp, header, body, { } };
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitNetworkProcesssoupNetworkDataTaskSoupcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp        2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp   2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -1761,7 +1761,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_response = ResourceResponse::dataURLResponse(m_currentRequest.url(), result.value());
</span><del>-    auto bytes = ContiguousSharedBuffer::create(WTFMove(result->data))->createGBytes();
</del><ins>+    auto bytes = SharedBuffer::create(WTFMove(result->data))->createGBytes();
</ins><span class="cx">     m_inputStream = adoptGRef(g_memory_input_stream_new_from_bytes(bytes.get()));
</span><span class="cx">     dispatchDidReceiveResponse();
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitPlatformIPCSharedBufferCopycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -51,9 +51,9 @@
</span><span class="cx">     IPC::DataReference data;
</span><span class="cx">     if (!decoder.decode(data))
</span><span class="cx">         return std::nullopt;
</span><del>-    RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+    RefPtr<SharedBuffer> buffer;
</ins><span class="cx">     if (data.size())
</span><del>-        buffer = ContiguousSharedBuffer::create(data.data(), data.size());
</del><ins>+        buffer = SharedBuffer::create(data.data(), data.size());
</ins><span class="cx">     return { WTFMove(buffer) };
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitPlatformIPCSharedBufferCopyh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Platform/IPC/SharedBufferCopy.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -39,19 +39,18 @@
</span><span class="cx"> public:
</span><span class="cx">     SharedBufferCopy() = default;
</span><span class="cx"> 
</span><del>-    SharedBufferCopy(RefPtr<WebCore::ContiguousSharedBuffer>&& buffer)
</del><ins>+    SharedBufferCopy(RefPtr<WebCore::SharedBuffer>&& buffer)
</ins><span class="cx">         : m_buffer(WTFMove(buffer)) { }
</span><del>-    SharedBufferCopy(Ref<WebCore::ContiguousSharedBuffer>&& buffer)
</del><ins>+    SharedBufferCopy(Ref<WebCore::SharedBuffer>&& buffer)
</ins><span class="cx">         : m_buffer(WTFMove(buffer)) { }
</span><del>-    SharedBufferCopy(RefPtr<WebCore::SharedBuffer>&& buffer)
-        : m_buffer(buffer ? buffer->makeContiguous() : RefPtr<WebCore::ContiguousSharedBuffer>()) { }
-    SharedBufferCopy(Ref<WebCore::SharedBuffer>&& buffer)
-        : m_buffer(buffer->makeContiguous()) { }
</del><span class="cx">     SharedBufferCopy(const WebCore::SharedBuffer& buffer)
</span><del>-        : m_buffer(buffer.makeContiguous()) { }
</del><ins>+        : m_buffer(WebCore::SharedBuffer::create())
+    {
+        m_buffer->append(buffer);
+    }
</ins><span class="cx"> 
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer>& buffer() { return m_buffer; }
-    const RefPtr<WebCore::ContiguousSharedBuffer>& buffer() const { return m_buffer; }
</del><ins>+    RefPtr<WebCore::SharedBuffer>& buffer() { return m_buffer; }
+    const RefPtr<WebCore::SharedBuffer>& buffer() const { return m_buffer; }
</ins><span class="cx"> 
</span><span class="cx">     const uint8_t* data() const { return m_buffer ? m_buffer->data() : nullptr; }
</span><span class="cx">     size_t size() const { return m_buffer ? m_buffer->size() : 0; }
</span><span class="lines">@@ -61,7 +60,7 @@
</span><span class="cx">     static WARN_UNUSED_RETURN std::optional<SharedBufferCopy> decode(Decoder&);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> m_buffer;
</del><ins>+    RefPtr<WebCore::SharedBuffer> m_buffer;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace IPC
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitPlatformSharedMemorycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -48,10 +48,10 @@
</span><span class="cx">     return sharedMemory;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref<ContiguousSharedBuffer> SharedMemory::createSharedBuffer(size_t dataSize) const
</del><ins>+Ref<SharedBuffer> SharedMemory::createSharedBuffer(size_t dataSize) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(dataSize <= size());
</span><del>-    return ContiguousSharedBuffer::create(DataSegment::Provider {
</del><ins>+    return SharedBuffer::create({
</ins><span class="cx">         [protectedThis = Ref { *this }] () -> const uint8_t* {
</span><span class="cx">             return static_cast<const uint8_t*>(protectedThis->data());
</span><span class="cx">         },
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitPlatformSharedMemoryh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Platform/SharedMemory.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class SharedBuffer;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -154,7 +153,7 @@
</span><span class="cx">     // Return the system page size in bytes.
</span><span class="cx">     static unsigned systemPageSize();
</span><span class="cx"> 
</span><del>-    Ref<WebCore::ContiguousSharedBuffer> createSharedBuffer(size_t) const;
</del><ins>+    Ref<WebCore::SharedBuffer> createSharedBuffer(size_t) const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx"> #if OS(DARWIN)
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedAPIWebArchiveResourcemm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/APIWebArchiveResource.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/APIWebArchiveResource.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/APIWebArchiveResource.mm       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> 
</span><span class="cx"> Ref<API::Data> WebArchiveResource::data()
</span><span class="cx"> {
</span><del>-    RetainPtr<CFDataRef> cfData = m_archiveResource->data().makeContiguous()->createCFData();
</del><ins>+    RetainPtr<CFDataRef> cfData = m_archiveResource->data().createCFData();
</ins><span class="cx"> 
</span><span class="cx">     // Balanced by CFRelease in releaseWebArchiveResourceData.
</span><span class="cx">     CFRetain(cfData.get());
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedCocoaWebCoreArgumentCodersCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -569,7 +569,8 @@
</span><span class="cx">         if (!fontFaceData)
</span><span class="cx">             return std::nullopt;
</span><span class="cx"> 
</span><del>-        auto localFontFaceData = fontFaceData.value()->makeContiguous();
</del><ins>+        // Upon receipt, copy the data for security, so the sender can't scribble over it while we're using it.
+        auto localFontFaceData = WebCore::SharedBuffer::create(fontFaceData.value()->data(), fontFaceData.value()->size());
</ins><span class="cx"> 
</span><span class="cx">         std::optional<String> itemInCollection;
</span><span class="cx">         decoder >> itemInCollection;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedRemoteLayerTreeCGDisplayListImageBufferBackendcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">     RELEASE_LOG(RemoteLayerTree, "CGDisplayListImageBufferBackend of size %dx%d encoded display list of %ld bytes", size.width(), size.height(), CFDataGetLength(data.get()));
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    return ImageBufferBackendHandle { IPC::SharedBufferCopy { WebCore::ContiguousSharedBuffer::create(data.get()) } };
</del><ins>+    return ImageBufferBackendHandle { IPC::SharedBufferCopy { WebCore::SharedBuffer::create(data.get()) } };
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WebCore::GraphicsContext& CGDisplayListImageBufferBackend::context() const
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedShareableResourcecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -55,15 +55,15 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> ShareableResource::wrapInSharedBuffer()
</del><ins>+RefPtr<SharedBuffer> ShareableResource::wrapInSharedBuffer()
</ins><span class="cx"> {
</span><del>-    return ContiguousSharedBuffer::create(DataSegment::Provider {
</del><ins>+    return SharedBuffer::create(SharedBuffer::DataSegment::Provider {
</ins><span class="cx">         [self = Ref { *this }]() { return self->data(); },
</span><span class="cx">         [self = Ref { *this }]() { return self->size(); }
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<ContiguousSharedBuffer> ShareableResource::Handle::tryWrapInSharedBuffer() const
</del><ins>+RefPtr<SharedBuffer> ShareableResource::Handle::tryWrapInSharedBuffer() const
</ins><span class="cx"> {
</span><span class="cx">     RefPtr<ShareableResource> resource = ShareableResource::map(*this);
</span><span class="cx">     if (!resource) {
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedShareableResourceh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/ShareableResource.h    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">         void encode(IPC::Encoder&) const;
</span><span class="cx">         static WARN_UNUSED_RETURN bool decode(IPC::Decoder&, Handle&);
</span><span class="cx"> 
</span><del>-        RefPtr<WebCore::ContiguousSharedBuffer> tryWrapInSharedBuffer() const;
</del><ins>+        RefPtr<WebCore::SharedBuffer> tryWrapInSharedBuffer() const;
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         friend class ShareableResource;
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     ShareableResource(Ref<SharedMemory>&&, unsigned offset, unsigned size);
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> wrapInSharedBuffer();
</del><ins>+    RefPtr<WebCore::SharedBuffer> wrapInSharedBuffer();
</ins><span class="cx"> 
</span><span class="cx">     Ref<SharedMemory> m_sharedMemory;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedWebCoreArgumentCoderscpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -191,7 +191,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static WARN_UNUSED_RETURN bool decodeSharedBuffer(Decoder& decoder, RefPtr<ContiguousSharedBuffer>& buffer)
</del><ins>+static WARN_UNUSED_RETURN bool decodeSharedBuffer(Decoder& decoder, RefPtr<SharedBuffer>& buffer)
</ins><span class="cx"> {
</span><span class="cx">     std::optional<bool> isNull;
</span><span class="cx">     decoder >> isNull;
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!bufferSize) {
</span><del>-        buffer = ContiguousSharedBuffer::create();
</del><ins>+        buffer = SharedBuffer::create();
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">     if (!decoder.decodeFixedLengthData(data.data(), data.size(), 1))
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    buffer = ContiguousSharedBuffer::create(WTFMove(data));
</del><ins>+    buffer = SharedBuffer::create(WTFMove(data));
</ins><span class="cx"> #else
</span><span class="cx">     SharedMemory::IPCHandle ipcHandle;
</span><span class="cx">     if (!decoder.decode(ipcHandle))
</span><span class="lines">@@ -240,7 +240,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void encodeTypesAndData(Encoder& encoder, const Vector<String>& types, const Vector<RefPtr<ContiguousSharedBuffer>>& data)
</del><ins>+static void encodeTypesAndData(Encoder& encoder, const Vector<String>& types, const Vector<RefPtr<SharedBuffer>>& data)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(types.size() == data.size());
</span><span class="cx">     encoder << types;
</span><span class="lines">@@ -249,7 +249,7 @@
</span><span class="cx">         encodeSharedBuffer(encoder, buffer.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static WARN_UNUSED_RETURN bool decodeTypesAndData(Decoder& decoder, Vector<String>& types, Vector<RefPtr<ContiguousSharedBuffer>>& data)
</del><ins>+static WARN_UNUSED_RETURN bool decodeTypesAndData(Decoder& decoder, Vector<String>& types, Vector<RefPtr<SharedBuffer>>& data)
</ins><span class="cx"> {
</span><span class="cx">     if (!decoder.decode(types))
</span><span class="cx">         return false;
</span><span class="lines">@@ -261,10 +261,10 @@
</span><span class="cx">     ASSERT(dataSize == types.size());
</span><span class="cx"> 
</span><span class="cx">     for (uint64_t i = 0; i < dataSize; i++) {
</span><del>-        RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+        RefPtr<SharedBuffer> buffer;
</ins><span class="cx">         if (!decodeSharedBuffer(decoder, buffer))
</span><span class="cx">             return false;
</span><del>-        data.append(buffer);
</del><ins>+        data.append(WTFMove(buffer));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return true;
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx">     encoder << record.updateResponseCounter;
</span><span class="cx">     encoder << record.responseBodySize;
</span><span class="cx"> 
</span><del>-    WTF::switchOn(record.responseBody, [&](const Ref<ContiguousSharedBuffer>& buffer) {
</del><ins>+    WTF::switchOn(record.responseBody, [&](const Ref<SharedBuffer>& buffer) {
</ins><span class="cx">         encoder << true;
</span><span class="cx">         encodeSharedBuffer(encoder, buffer.ptr());
</span><span class="cx">     }, [&](const Ref<FormData>& formData) {
</span><span class="lines">@@ -414,7 +414,7 @@
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="cx">     if (hasSharedBufferBody) {
</span><del>-        RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+        RefPtr<SharedBuffer> buffer;
</ins><span class="cx">         if (!decodeSharedBuffer(decoder, buffer))
</span><span class="cx">             return std::nullopt;
</span><span class="cx">         if (buffer)
</span><span class="lines">@@ -1550,10 +1550,10 @@
</span><span class="cx">     if (hasString)
</span><span class="cx">         encoder << std::get<String>(platformData);
</span><span class="cx"> 
</span><del>-    bool hasBuffer = std::holds_alternative<Ref<ContiguousSharedBuffer>>(platformData);
</del><ins>+    bool hasBuffer = std::holds_alternative<Ref<SharedBuffer>>(platformData);
</ins><span class="cx">     encoder << hasBuffer;
</span><span class="cx">     if (hasBuffer)
</span><del>-        encodeSharedBuffer(encoder, std::get<Ref<ContiguousSharedBuffer>>(platformData).ptr());
</del><ins>+        encodeSharedBuffer(encoder, std::get<Ref<SharedBuffer>>(platformData).ptr());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool ArgumentCoder<PasteboardCustomData::Entry>::decode(Decoder& decoder, PasteboardCustomData::Entry& data)
</span><span class="lines">@@ -1583,7 +1583,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (hasBuffer) {
</span><del>-        RefPtr<ContiguousSharedBuffer> value;
</del><ins>+        RefPtr<SharedBuffer> value;
</ins><span class="cx">         if (!decodeSharedBuffer(decoder, value) || !value)
</span><span class="cx">             return false;
</span><span class="cx">         data.platformData = { value.releaseNonNull() };
</span><span class="lines">@@ -2976,7 +2976,7 @@
</span><span class="cx">     if (!decoder.decode(data))
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><del>-    return { { WTFMove(identifier), WTFMove(mimeType), WebCore::ContiguousSharedBuffer::create(data.data(), data.size()) } };
</del><ins>+    return {{ WTFMove(identifier), WTFMove(mimeType), WebCore::SharedBuffer::create(data.data(), data.size()) }};
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(ATTACHMENT_ELEMENT)
</span><span class="lines">@@ -3017,7 +3017,7 @@
</span><span class="cx"> 
</span><span class="cx"> std::optional<RefPtr<SharedBuffer>> ArgumentCoder<RefPtr<WebCore::SharedBuffer>>::decode(Decoder& decoder)
</span><span class="cx"> {
</span><del>-    RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+    RefPtr<SharedBuffer> buffer;
</ins><span class="cx">     if (!decodeSharedBuffer(decoder, buffer))
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="lines">@@ -3031,7 +3031,7 @@
</span><span class="cx"> 
</span><span class="cx"> std::optional<Ref<SharedBuffer>> ArgumentCoder<Ref<WebCore::SharedBuffer>>::decode(Decoder& decoder)
</span><span class="cx"> {
</span><del>-    RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+    RefPtr<SharedBuffer> buffer;
</ins><span class="cx">     if (!decodeSharedBuffer(decoder, buffer) || !buffer)
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span><span class="lines">@@ -3038,34 +3038,6 @@
</span><span class="cx">     return buffer.releaseNonNull();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ArgumentCoder<RefPtr<WebCore::ContiguousSharedBuffer>>::encode(Encoder& encoder, const RefPtr<WebCore::ContiguousSharedBuffer>& buffer)
-{
-    encodeSharedBuffer(encoder, buffer.get());
-}
-
-std::optional<RefPtr<ContiguousSharedBuffer>> ArgumentCoder<RefPtr<WebCore::ContiguousSharedBuffer>>::decode(Decoder& decoder)
-{
-    RefPtr<ContiguousSharedBuffer> buffer;
-    if (!decodeSharedBuffer(decoder, buffer))
-        return std::nullopt;
-
-    return buffer;
-}
-
-void ArgumentCoder<Ref<WebCore::ContiguousSharedBuffer>>::encode(Encoder& encoder, const Ref<WebCore::ContiguousSharedBuffer>& buffer)
-{
-    encodeSharedBuffer(encoder, buffer.ptr());
-}
-
-std::optional<Ref<ContiguousSharedBuffer>> ArgumentCoder<Ref<WebCore::ContiguousSharedBuffer>>::decode(Decoder& decoder)
-{
-    RefPtr<ContiguousSharedBuffer> buffer;
-    if (!decodeSharedBuffer(decoder, buffer) || !buffer)
-        return std::nullopt;
-
-    return buffer.releaseNonNull();
-}
-
</del><span class="cx"> #if ENABLE(SHAREABLE_RESOURCE) && PLATFORM(COCOA)
</span><span class="cx"> static ShareableResource::Handle tryConvertToShareableResourceHandle(const ScriptBuffer& script)
</span><span class="cx"> {
</span><span class="lines">@@ -3123,7 +3095,7 @@
</span><span class="cx">         return decodeScriptBufferAsShareableResourceHandle(decoder);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+    RefPtr<SharedBuffer> buffer;
</ins><span class="cx">     if (!decodeSharedBuffer(decoder, buffer))
</span><span class="cx">         return std::nullopt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedWebCoreArgumentCodersh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/WebCoreArgumentCoders.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -114,7 +114,6 @@
</span><span class="cx"> class BlobPart;
</span><span class="cx"> class CertificateInfo;
</span><span class="cx"> class Color;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class Credential;
</span><span class="cx"> class CubicBezierTimingFunction;
</span><span class="cx"> class Cursor;
</span><span class="lines">@@ -762,16 +761,6 @@
</span><span class="cx">     static std::optional<Ref<WebCore::SharedBuffer>> decode(Decoder&);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-template<> struct ArgumentCoder<RefPtr<WebCore::ContiguousSharedBuffer>> {
-    static void encode(Encoder&, const RefPtr<WebCore::ContiguousSharedBuffer>&);
-    static std::optional<RefPtr<WebCore::ContiguousSharedBuffer>> decode(Decoder&);
-};
-
-template<> struct ArgumentCoder<Ref<WebCore::ContiguousSharedBuffer>> {
-    static void encode(Encoder&, const Ref<WebCore::ContiguousSharedBuffer>&);
-    static std::optional<Ref<WebCore::ContiguousSharedBuffer>> decode(Decoder&);
-};
-
</del><span class="cx"> template<> struct ArgumentCoder<WebCore::ScriptBuffer> {
</span><span class="cx">     static void encode(Encoder&, const WebCore::ScriptBuffer&);
</span><span class="cx">     static std::optional<WebCore::ScriptBuffer> decode(Decoder&);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedgtkArgumentCodersGtkcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/gtk/ArgumentCodersGtk.cpp      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -159,10 +159,10 @@
</span><span class="cx">     if (!decoder.decode(hasCustomData))
</span><span class="cx">         return std::nullopt;
</span><span class="cx">     if (hasCustomData) {
</span><del>-        RefPtr<ContiguousSharedBuffer> buffer;
</del><ins>+        RefPtr<SharedBuffer> buffer;
</ins><span class="cx">         if (!decoder.decode(buffer))
</span><span class="cx">             return std::nullopt;
</span><del>-        selection.setCustomData(Ref<ContiguousSharedBuffer>(*buffer));
</del><ins>+        selection.setCustomData(Ref<SharedBuffer>(*buffer));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool canSmartReplace;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitSharedwinWebCoreArgumentCodersWincpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">     FontPlatformData::CreationData* creationData = nullptr;
</span><span class="cx"> 
</span><span class="cx">     if (includesCreationData.value()) {
</span><del>-        std::optional<Ref<ContiguousSharedBuffer>> fontFaceData;
</del><ins>+        std::optional<Ref<SharedBuffer>> fontFaceData;
</ins><span class="cx">         decoder >> fontFaceData;
</span><span class="cx">         if (!fontFaceData)
</span><span class="cx">             return std::nullopt;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessAPIAPIAttachmentcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.cpp    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.cpp       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -103,12 +103,12 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<WebCore::ContiguousSharedBuffer> Attachment::createSerializedRepresentation() const
</del><ins>+RefPtr<WebCore::SharedBuffer> Attachment::createSerializedRepresentation() const
</ins><span class="cx"> {
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Attachment::updateFromSerializedRepresentation(Ref<WebCore::ContiguousSharedBuffer>&&, const WTF::String&)
</del><ins>+void Attachment::updateFromSerializedRepresentation(Ref<WebCore::SharedBuffer>&&, const WTF::String&)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessAPIAPIAttachmenth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIAttachment.h 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> OBJC_CLASS NSString;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class SharedBuffer;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -89,8 +88,8 @@
</span><span class="cx">     void setHasEnclosingImage(bool hasEnclosingImage) { m_hasEnclosingImage = hasEnclosingImage; }
</span><span class="cx">     bool hasEnclosingImage() const { return m_hasEnclosingImage; }
</span><span class="cx"> 
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> createSerializedRepresentation() const;
-    void updateFromSerializedRepresentation(Ref<WebCore::ContiguousSharedBuffer>&&, const WTF::String& contentType);
</del><ins>+    RefPtr<WebCore::SharedBuffer> createSerializedRepresentation() const;
+    void updateFromSerializedRepresentation(Ref<WebCore::SharedBuffer>&&, const WTF::String& contentType);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     explicit Attachment(const WTF::String& identifier, WebKit::WebPageProxy&);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessAPIAPIContentRuleListStorecpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx"> {
</span><span class="cx">     data.apply(function);
</span><span class="cx"> }
</span><del>-template<> void getData(const WebCore::ContiguousSharedBuffer& data, const Function<bool(Span<const uint8_t>)>& function)
</del><ins>+template<> void getData(const WebCore::SharedBuffer& data, const Function<bool(Span<const uint8_t>)>& function)
</ins><span class="cx"> {
</span><span class="cx">     function({ data.data(), data.size() });
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessAPICocoaAPIAttachmentCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/APIAttachmentCocoa.mm     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">     return !m_fileWrapper && !m_fileWrapperGenerator;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<WebCore::ContiguousSharedBuffer> Attachment::createSerializedRepresentation() const
</del><ins>+RefPtr<WebCore::SharedBuffer> Attachment::createSerializedRepresentation() const
</ins><span class="cx"> {
</span><span class="cx">     auto fileWrapper = this->fileWrapper();
</span><span class="cx"> 
</span><span class="lines">@@ -170,10 +170,10 @@
</span><span class="cx">     if (!serializedData)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    return WebCore::ContiguousSharedBuffer::create(serializedData);
</del><ins>+    return WebCore::SharedBuffer::create(serializedData);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Attachment::updateFromSerializedRepresentation(Ref<WebCore::ContiguousSharedBuffer>&& serializedRepresentation, const WTF::String& contentType)
</del><ins>+void Attachment::updateFromSerializedRepresentation(Ref<WebCore::SharedBuffer>&& serializedRepresentation, const WTF::String& contentType)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_webPage)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -1600,7 +1600,7 @@
</span><span class="cx">     if (highlight.text)
</span><span class="cx">         text = highlight.text.value();
</span><span class="cx"> 
</span><del>-    auto wkHighlight = adoptNS([[_WKAppHighlight alloc] initWithHighlight:highlight.highlight->makeContiguous()->createNSData().get() text:text image:nil]);
</del><ins>+    auto wkHighlight = adoptNS([[_WKAppHighlight alloc] initWithHighlight:highlight.highlight->createNSData().get() text:text image:nil]);
</ins><span class="cx"> 
</span><span class="cx">     if ([delegate respondsToSelector:@selector(_webView:storeAppHighlight:inNewGroup:requestOriginatedInApp:)])
</span><span class="cx">         [delegate _webView:self storeAppHighlight:wkHighlight.get() inNewGroup:highlight.isNewGroup == WebCore::CreateNewGroupForHighlight::Yes requestOriginatedInApp:highlight.requestOriginatedInApp == WebCore::HighlightRequestOriginatedInApp::Yes];
</span><span class="lines">@@ -2223,7 +2223,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)_requestResource:(NSURLRequest *)request completionHandler:(void(^)(NSData *, NSURLResponse *, NSError *))completionHandler
</span><span class="cx"> {
</span><del>-    _page->requestResource(request, [completionHandler = makeBlockPtr(completionHandler)] (Ref<WebCore::ContiguousSharedBuffer>&& buffer, WebCore::ResourceResponse&& response, WebCore::ResourceError&& error) {
</del><ins>+    _page->requestResource(request, [completionHandler = makeBlockPtr(completionHandler)] (Ref<WebCore::SharedBuffer>&& buffer, WebCore::ResourceResponse&& response, WebCore::ResourceError&& error) {
</ins><span class="cx">         if (error.isNull())
</span><span class="cx">             return completionHandler(buffer->createNSData().get(), response.nsURLResponse(), nil);
</span><span class="cx">         completionHandler(nil, nil, error.nsError());
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessAPIgtkDropTargetGtk3cpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/gtk/DropTargetGtk3.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/gtk/DropTargetGtk3.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/API/gtk/DropTargetGtk3.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx">         int length;
</span><span class="cx">         const auto* customData = gtk_selection_data_get_data_with_length(data, &length);
</span><span class="cx">         if (length > 0)
</span><del>-            m_selectionData->setCustomData(ContiguousSharedBuffer::create(customData, static_cast<size_t>(length)));
</del><ins>+            m_selectionData->setCustomData(SharedBuffer::create(customData, static_cast<size_t>(length)));
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessCocoaNavigationStatemm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/NavigationState.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/NavigationState.mm 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/NavigationState.mm    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -1232,7 +1232,7 @@
</span><span class="cx">     if (!navigationDelegate)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get()) _webView:m_navigationState->m_webView didFinishLoadForQuickLookDocumentInMainFrame:buffer.makeContiguous()->createNSData().get()];
</del><ins>+    [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get()) _webView:m_navigationState->m_webView didFinishLoadForQuickLookDocumentInMainFrame:buffer.createNSData().get()];
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessCocoaWebProcessProxyCocoamm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -302,12 +302,12 @@
</span><span class="cx">         if (noErr != AudioComponentFetchServerRegistrations(&registrations) || !registrations)
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        RunLoop::main().dispatch([weakThis = WTFMove(weakThis), registrations = adoptCF(registrations)] () {
</del><ins>+        RunLoop::main().dispatch([weakThis = WTFMove(weakThis), registrations = adoptCF(registrations)] () mutable {
</ins><span class="cx">             if (!weakThis)
</span><span class="cx">                 return;
</span><span class="cx"> 
</span><del>-            auto registrationData = WebCore::ContiguousSharedBuffer::create(registrations.get());
-            weakThis->send(Messages::WebProcess::ConsumeAudioComponentRegistrations({ WTFMove(registrationData) }), 0);
</del><ins>+            auto registrationData = WebCore::SharedBuffer::create(registrations.get());
+            weakThis->send(Messages::WebProcess::ConsumeAudioComponentRegistrations({ registrationData }), 0);
</ins><span class="cx">         });
</span><span class="cx">     });
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessCocoaWebViewImplmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -2983,7 +2983,7 @@
</span><span class="cx">         if ([[types objectAtIndex:i] isEqualTo:WebCore::legacyStringPasteboardType()])
</span><span class="cx">             [pasteboard setString:m_page->stringSelectionForPasteboard() forType:WebCore::legacyStringPasteboardType()];
</span><span class="cx">         else {
</span><del>-            RefPtr<WebCore::ContiguousSharedBuffer> buffer = m_page->dataSelectionForPasteboard([types objectAtIndex:i]);
</del><ins>+            RefPtr<WebCore::SharedBuffer> buffer = m_page->dataSelectionForPasteboard([types objectAtIndex:i]);
</ins><span class="cx">             [pasteboard setData:buffer ? buffer->createNSData().get() : nil forType:[types objectAtIndex:i]];
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -4477,7 +4477,7 @@
</span><span class="cx">     setFileAndURLTypes(filename, extension, title, url, visibleURL, pasteboard);
</span><span class="cx"> 
</span><span class="cx">     if (archiveBuffer) {
</span><del>-        auto nsData = archiveBuffer->makeContiguous()->createNSData();
</del><ins>+        auto nsData = archiveBuffer->createNSData();
</ins><span class="cx"> ALLOW_DEPRECATED_DECLARATIONS_BEGIN
</span><span class="cx">         [pasteboard setData:nsData.get() forType:(__bridge NSString *)kUTTypeWebArchive];
</span><span class="cx"> ALLOW_DEPRECATED_DECLARATIONS_END
</span><span class="lines">@@ -4508,7 +4508,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if ([type isEqual:m_promisedImage->uti()] && m_promisedImage->data()) {
</span><del>-        if (auto platformData = m_promisedImage->data()->makeContiguous()->createNSData())
</del><ins>+        if (auto platformData = m_promisedImage->data()->createNSData())
</ins><span class="cx">             [pasteboard setData:(__bridge NSData *)platformData.get() forType:type];
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -4561,7 +4561,7 @@
</span><span class="cx">     RetainPtr<NSData> data;
</span><span class="cx"> 
</span><span class="cx">     if (m_promisedImage) {
</span><del>-        data = m_promisedImage->data()->makeContiguous()->createNSData();
</del><ins>+        data = m_promisedImage->data()->createNSData();
</ins><span class="cx">         wrapper = adoptNS([[NSFileWrapper alloc] initRegularFileWithContents:data.get()]);
</span><span class="cx">     } else
</span><span class="cx">         wrapper = adoptNS([[NSFileWrapper alloc] initWithURL:[NSURL URLWithString:m_promisedURL] options:NSFileWrapperReadingImmediate error:nil]);
</span><span class="lines">@@ -4613,7 +4613,7 @@
</span><span class="cx">     hideDOMPasteMenuWithResult(WebCore::DOMPasteAccessResponse::DeniedForGesture);
</span><span class="cx"> 
</span><span class="cx">     NSData *data = [pasteboardForAccessCategory(pasteAccessCategory) dataForType:@(WebCore::PasteboardCustomData::cocoaType())];
</span><del>-    auto buffer = WebCore::ContiguousSharedBuffer::create(data);
</del><ins>+    auto buffer = WebCore::SharedBuffer::create(data);
</ins><span class="cx">     if (WebCore::PasteboardCustomData::fromSharedBuffer(buffer.get()).origin() == originIdentifier) {
</span><span class="cx">         m_page->grantAccessToCurrentPasteboardData(pasteboardNameForAccessCategory(pasteAccessCategory));
</span><span class="cx">         completion(WebCore::DOMPasteAccessResponse::GrantedForGesture);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessNetworkNetworkProcessProxycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -335,10 +335,10 @@
</span><span class="cx">     return m_downloadProxyMap->createDownloadProxy(dataStore, processPool, resourceRequest, frameInfo, originatingPage);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NetworkProcessProxy::requestResource(WebPageProxyIdentifier pageID, PAL::SessionID sessionID, WebCore::ResourceRequest&& request, CompletionHandler<void(Ref<WebCore::ContiguousSharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&& completionHandler)
</del><ins>+void NetworkProcessProxy::requestResource(WebPageProxyIdentifier pageID, PAL::SessionID sessionID, WebCore::ResourceRequest&& request, CompletionHandler<void(Ref<WebCore::SharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&& completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     sendWithAsyncReply(Messages::NetworkProcess::RequestResource(pageID, sessionID, request, IPC::FormDataReference(request.httpBody())), [completionHandler = WTFMove(completionHandler)] (IPC::DataReference&& data, WebCore::ResourceResponse&& response, WebCore::ResourceError&& error) mutable {
</span><del>-        auto buffer = ContiguousSharedBuffer::create(data.data(), data.size());
</del><ins>+        auto buffer = SharedBuffer::create(data.data(), data.size());
</ins><span class="cx">         completionHandler(WTFMove(buffer), WTFMove(response), WTFMove(error));
</span><span class="cx">     });
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessNetworkNetworkProcessProxyh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -65,7 +65,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> class AuthenticationChallenge;
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class ProtectionSpace;
</span><span class="cx"> class ResourceRequest;
</span><span class="cx"> enum class ShouldSample : bool;
</span><span class="lines">@@ -124,7 +123,7 @@
</span><span class="cx">     void getNetworkProcessConnection(WebProcessProxy&, Messages::WebProcessProxy::GetNetworkProcessConnectionDelayedReply&&);
</span><span class="cx"> 
</span><span class="cx">     DownloadProxy& createDownloadProxy(WebsiteDataStore&, WebProcessPool&, const WebCore::ResourceRequest&, const FrameInfoData&, WebPageProxy* originatingPage);
</span><del>-    void requestResource(WebPageProxyIdentifier, PAL::SessionID, WebCore::ResourceRequest&&, CompletionHandler<void(Ref<WebCore::ContiguousSharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&&);
</del><ins>+    void requestResource(WebPageProxyIdentifier, PAL::SessionID, WebCore::ResourceRequest&&, CompletionHandler<void(Ref<WebCore::SharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&&);
</ins><span class="cx"> 
</span><span class="cx">     void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, CompletionHandler<void(WebsiteData)>&&);
</span><span class="cx">     void deleteWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, WallTime modifiedSince, CompletionHandler<void()>&& completionHandler);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessPageClienth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/PageClient.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/PageClient.h     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/PageClient.h        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -469,7 +469,7 @@
</span><span class="cx">     virtual bool isFocusingElement() = 0;
</span><span class="cx">     virtual bool interpretKeyEvent(const NativeWebKeyboardEvent&, bool isCharEvent) = 0;
</span><span class="cx">     virtual void positionInformationDidChange(const InteractionInformationAtPosition&) = 0;
</span><del>-    virtual void saveImageToLibrary(Ref<WebCore::ContiguousSharedBuffer>&&) = 0;
</del><ins>+    virtual void saveImageToLibrary(Ref<WebCore::SharedBuffer>&&) = 0;
</ins><span class="cx">     virtual void showPlaybackTargetPicker(bool hasVideo, const WebCore::IntRect& elementRect, WebCore::RouteSharingPolicy, const String&) = 0;
</span><span class="cx">     virtual void showDataDetectorsUIForPositionInformation(const InteractionInformationAtPosition&) = 0;
</span><span class="cx">     virtual void disableDoubleTapGesturesDuringTapIfNecessary(WebKit::TapIdentifier) = 0;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.cpp    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -6377,7 +6377,7 @@
</span><span class="cx">     download.setDidStartCallback(WTFMove(completionHandler));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::requestResource(WebCore::ResourceRequest&& request, CompletionHandler<void(Ref<WebCore::ContiguousSharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&& completionHandler)
</del><ins>+void WebPageProxy::requestResource(WebCore::ResourceRequest&& request, CompletionHandler<void(Ref<WebCore::SharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&& completionHandler)
</ins><span class="cx"> {
</span><span class="cx">     websiteDataStore().networkProcess().requestResource(identifier(), sessionID(), WTFMove(request), WTFMove(completionHandler));
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.h   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebPageProxy.h      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -259,7 +259,7 @@
</span><span class="cx"> class ProtectionSpace;
</span><span class="cx"> class RunLoopObserver;
</span><span class="cx"> class SelectionData;
</span><del>-class ContiguousSharedBuffer;
</del><ins>+class SharedBuffer;
</ins><span class="cx"> class SpeechRecognitionRequest;
</span><span class="cx"> class TextIndicator;
</span><span class="cx"> class ValidationBubble;
</span><span class="lines">@@ -1183,7 +1183,7 @@
</span><span class="cx">     void registerUIProcessAccessibilityTokens(const IPC::DataReference& elemenToken, const IPC::DataReference& windowToken);
</span><span class="cx">     bool readSelectionFromPasteboard(const String& pasteboardName);
</span><span class="cx">     String stringSelectionForPasteboard();
</span><del>-    RefPtr<WebCore::ContiguousSharedBuffer> dataSelectionForPasteboard(const String& pasteboardType);
</del><ins>+    RefPtr<WebCore::SharedBuffer> dataSelectionForPasteboard(const String& pasteboardType);
</ins><span class="cx">     void makeFirstResponder();
</span><span class="cx">     void assistiveTechnologyMakeFirstResponder();
</span><span class="cx"> 
</span><span class="lines">@@ -1375,7 +1375,7 @@
</span><span class="cx">     void handleDownloadRequest(DownloadProxy&);
</span><span class="cx">     void resumeDownload(const API::Data& resumeData, const String& path, CompletionHandler<void(DownloadProxy*)>&&);
</span><span class="cx">     void downloadRequest(WebCore::ResourceRequest&&, CompletionHandler<void(DownloadProxy*)>&&);
</span><del>-    void requestResource(WebCore::ResourceRequest&&, CompletionHandler<void(Ref<WebCore::ContiguousSharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&&);
</del><ins>+    void requestResource(WebCore::ResourceRequest&&, CompletionHandler<void(Ref<WebCore::SharedBuffer>&&, WebCore::ResourceResponse&&, WebCore::ResourceError&&)>&&);
</ins><span class="cx"> 
</span><span class="cx">     void advanceToNextMisspelling(bool startBeforeSelection);
</span><span class="cx">     void changeSpellingToWord(const String& word);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessWebURLSchemeTaskcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebURLSchemeTask.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebURLSchemeTask.cpp     2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/WebURLSchemeTask.cpp        2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -219,7 +219,7 @@
</span><span class="cx">     if (isSync()) {
</span><span class="cx">         Vector<uint8_t> data;
</span><span class="cx">         if (m_syncData)
</span><del>-            data = { m_syncData->makeContiguous()->data(), m_syncData->size() };
</del><ins>+            data = { m_syncData->data(), m_syncData->size() };
</ins><span class="cx"> 
</span><span class="cx">         m_syncCompletionHandler(m_syncResponse, error, WTFMove(data));
</span><span class="cx">         m_syncData = nullptr;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessiosPageClientImplIOSh"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.h  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.h     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx">     void selectionDidChange() override;
</span><span class="cx">     bool interpretKeyEvent(const NativeWebKeyboardEvent&, bool isCharEvent) override;
</span><span class="cx">     void positionInformationDidChange(const InteractionInformationAtPosition&) override;
</span><del>-    void saveImageToLibrary(Ref<WebCore::ContiguousSharedBuffer>&&) override;
</del><ins>+    void saveImageToLibrary(Ref<WebCore::SharedBuffer>&&) override;
</ins><span class="cx">     void showPlaybackTargetPicker(bool hasVideo, const WebCore::IntRect& elementRect, WebCore::RouteSharingPolicy, const String&) override;
</span><span class="cx">     void showDataDetectorsUIForPositionInformation(const InteractionInformationAtPosition&) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessiosPageClientImplIOSmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -357,7 +357,7 @@
</span><span class="cx">     [m_contentView _positionInformationDidChange:info];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageClientImpl::saveImageToLibrary(Ref<ContiguousSharedBuffer>&& imageBuffer)
</del><ins>+void PageClientImpl::saveImageToLibrary(Ref<SharedBuffer>&& imageBuffer)
</ins><span class="cx"> {
</span><span class="cx">     RetainPtr<NSData> imageData = imageBuffer->createNSData();
</span><span class="cx">     UIImageDataWriteToSavedPhotosAlbum(imageData.get(), nil, NULL, NULL);
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessiosWKContentViewInteractionmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm  2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm     2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -3842,7 +3842,7 @@
</span><span class="cx"> 
</span><span class="cx">         NSArray *allCustomPasteboardData = [pasteboard dataForPasteboardType:@(WebCore::PasteboardCustomData::cocoaType()) inItemSet:indices];
</span><span class="cx">         for (NSData *data in allCustomPasteboardData) {
</span><del>-            auto buffer = WebCore::ContiguousSharedBuffer::create(data);
</del><ins>+            auto buffer = WebCore::SharedBuffer::create(data);
</ins><span class="cx">             if (WebCore::PasteboardCustomData::fromSharedBuffer(buffer.get()).origin() == focusedDocumentOrigin)
</span><span class="cx">                 return YES;
</span><span class="cx">         }
</span><span class="lines">@@ -6650,7 +6650,7 @@
</span><span class="cx">         if (!data.length)
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        auto buffer = WebCore::ContiguousSharedBuffer::create(data);
</del><ins>+        auto buffer = WebCore::SharedBuffer::create(data);
</ins><span class="cx">         if (WebCore::PasteboardCustomData::fromSharedBuffer(buffer.get()).origin() != originIdentifier)
</span><span class="cx">             return NO;
</span><span class="cx"> 
</span><span class="lines">@@ -7623,7 +7623,7 @@
</span><span class="cx"> {
</span><span class="cx">     WebCore::ShareDataWithParsedURL shareData;
</span><span class="cx">     NSString* fileName = [NSString stringWithFormat:@"%@.png", (NSString*)WEB_UI_STRING("Shared Image", "Default name for the file created for a shared image with no explicit name.")];
</span><del>-    shareData.files = { { fileName, WebCore::ContiguousSharedBuffer::create(UIImagePNGRepresentation(image)) } };
</del><ins>+    shareData.files = { { fileName, WebCore::SharedBuffer::create(UIImagePNGRepresentation(image)) } };
</ins><span class="cx">     [self _showShareSheet:shareData inRect: { [self convertRect:boundingRect toView:self.webView] } completionHandler:nil];
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessiosWebPageProxyIOSmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx">     return String();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<WebCore::ContiguousSharedBuffer> WebPageProxy::dataSelectionForPasteboard(const String&)
</del><ins>+RefPtr<WebCore::SharedBuffer> WebPageProxy::dataSelectionForPasteboard(const String&)
</ins><span class="cx"> {
</span><span class="cx">     notImplemented();
</span><span class="cx">     return nullptr;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitUIProcessmacWebPageProxyMacmm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm   2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm      2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -227,7 +227,7 @@
</span><span class="cx">     return value;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr<WebCore::ContiguousSharedBuffer> WebPageProxy::dataSelectionForPasteboard(const String& pasteboardType)
</del><ins>+RefPtr<WebCore::SharedBuffer> WebPageProxy::dataSelectionForPasteboard(const String& pasteboardType)
</ins><span class="cx"> {
</span><span class="cx">     if (!hasRunningProcess())
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitWebProcessInjectedBundleAPIAPIInjectedBundleEditorClienth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h      2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h 2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-class ContiguousSharedBuffer;
</del><span class="cx"> class DocumentFragment;
</span><span class="cx"> class Node;
</span><ins>+class SharedBuffer;
</ins><span class="cx"> class StyleProperties;
</span><span class="cx"> struct SimpleRange;
</span><span class="cx"> }
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     virtual void didChange(WebKit::WebPage&, const WTF::String&) { }
</span><span class="cx">     virtual void didChangeSelection(WebKit::WebPage&, const WTF::String&) { }
</span><span class="cx">     virtual void willWriteToPasteboard(WebKit::WebPage&, const std::optional<WebCore::SimpleRange>&) { }
</span><del>-    virtual void getPasteboardDataForRange(WebKit::WebPage&, const std::optional<WebCore::SimpleRange>&, Vector<WTF::String>&, Vector<RefPtr<WebCore::ContiguousSharedBuffer>>&) { }
</del><ins>+    virtual void getPasteboardDataForRange(WebKit::WebPage&, const std::optional<WebCore::SimpleRange>&, Vector<WTF::String>&, Vector<RefPtr<WebCore::SharedBuffer>>&) { }
</ins><span class="cx">     virtual void didWriteToPasteboard(WebKit::WebPage&) { }
</span><span class="cx">     virtual bool performTwoStepDrop(WebKit::WebPage&, WebCore::DocumentFragment&, const WebCore::SimpleRange&, bool) { return false; }
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitWebProcessInjectedBundleAPImacWKWebProcessPlugInBrowserContextControllermm"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm    2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm       2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -634,7 +634,7 @@
</span><span class="cx">             [m_controller->_editingDelegate.get() _webProcessPlugInBrowserContextController:m_controller willWriteRangeToPasteboard:wrapper(WebKit::createHandle(range).get())];
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        void getPasteboardDataForRange(WebKit::WebPage&, const std::optional<WebCore::SimpleRange>& range, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::ContiguousSharedBuffer>>& pasteboardData) final
</del><ins>+        void getPasteboardDataForRange(WebKit::WebPage&, const std::optional<WebCore::SimpleRange>& range, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer>>& pasteboardData) final
</ins><span class="cx">         {
</span><span class="cx">             if (!m_delegateMethods.getPasteboardDataForRange)
</span><span class="cx">                 return;
</span><span class="lines">@@ -642,7 +642,7 @@
</span><span class="cx">             auto dataByType = [m_controller->_editingDelegate.get() _webProcessPlugInBrowserContextController:m_controller pasteboardDataForRange:wrapper(WebKit::createHandle(range).get())];
</span><span class="cx">             for (NSString *type in dataByType) {
</span><span class="cx">                 pasteboardTypes.append(type);
</span><del>-                pasteboardData.append(WebCore::ContiguousSharedBuffer::create(dataByType[type]));
</del><ins>+                pasteboardData.append(WebCore::SharedBuffer::create(dataByType[type]));
</ins><span class="cx">             };
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitWebProcessInjectedBundleInjectedBundlePageEditorClientcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp       2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp  2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx">         m_client.willWriteToPasteboard(toAPI(&page), toAPI(createHandle(range).get()), m_client.base.clientInfo);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InjectedBundlePageEditorClient::getPasteboardDataForRange(WebPage& page, const std::optional<SimpleRange>& range, Vector<String>& pasteboardTypes, Vector<RefPtr<ContiguousSharedBuffer>>& pasteboardData)
</del><ins>+void InjectedBundlePageEditorClient::getPasteboardDataForRange(WebPage& page, const std::optional<SimpleRange>& range, Vector<String>& pasteboardTypes, Vector<RefPtr<SharedBuffer>>& pasteboardData)
</ins><span class="cx"> {
</span><span class="cx">     if (m_client.getPasteboardDataForRange) {
</span><span class="cx">         WKArrayRef types = nullptr;
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">             pasteboardTypes.append(type->string());
</span><span class="cx"> 
</span><span class="cx">         for (auto item : dataArray->elementsOfType<API::Data>()) {
</span><del>-            auto buffer = ContiguousSharedBuffer::create(item->bytes(), item->size());
</del><ins>+            auto buffer = SharedBuffer::create(item->bytes(), item->size());
</ins><span class="cx">             pasteboardData.append(WTFMove(buffer));
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitWebProcessInjectedBundleInjectedBundlePageEditorClienth"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h (287060 => 287061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h 2021-12-15 03:00:46 UTC (rev 287060)
+++ branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h    2021-12-15 03:28:23 UTC (rev 287061)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">     void didChange(WebPage&, const String& notificationName) final;
</span><span class="cx">     void didChangeSelection(WebPage&, const String& notificationName) final;
</span><span class="cx">     void willWriteToPasteboard(WebPage&, const std::optional<WebCore::SimpleRange>&) final;
</span><del>-    void getPasteboardDataForRange(WebPage&, const std::optional<WebCore::SimpleRange>&, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::ContiguousSharedBuffer>>& pasteboardData) final;
</del><ins>+    void getPasteboardDataForRange(WebPage&, const std::optional<WebCore::SimpleRange>&, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer>>& pasteboardData) final;
</ins><span class="cx">     void didWriteToPasteboard(WebPage&) final;
</span><span class="cx">     bool performTwoStepDrop(WebPage&, WebCore::DocumentFragment&, const WebCore::SimpleRange& destination, bool isMove) final;
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchessafari613112branchSourceWebKitWebProcessInjectedBundleInjectedBundlePageLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: branches/safari-613.1.12-branch/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp (287060 =>&nb