Changeset 286937 in webkit for trunk/Source/WebCore/css/CSSFontFaceSource.cpp
- Timestamp:
- Dec 13, 2021, 12:30:29 AM (3 years ago)
- Author:
- Jean-Yves Avenard
- Message:
-
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.
Source/WebCore:
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):
Source/WebKit:
- 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):
Source/WebKitLegacy/mac:
- DOM/DOMUIKitExtensions.mm:
(-[DOMHTMLImageElement dataRepresentation:]):
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::getClientPasteboardData):
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::bufferForType):
(WebPlatformStrategies::readBufferFromPasteboard):
- WebView/WebDataSource.mm:
(-[WebDataSource data]):
- WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation documentSource]):
- WebView/WebHTMLView.mm:
(createShareMenuItem):
- WebView/WebResource.mm:
(-[WebResource encodeWithCoder:]):
(-[WebResource data]):
(-[WebResource _stringValue]):
Source/WebKitLegacy/win:
- MemoryStream.cpp:
(MemoryStream::MemoryStream):
(MemoryStream::createInstance):
- MemoryStream.h:
- WebArchive.cpp:
(WebArchive::data):
- WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::getClientPasteboardData):
- WebCoreSupport/WebEditorClient.h:
- WebDataSource.cpp:
(WebDataSource::data):
- WebResource.cpp:
(WebResource::createInstance):
- WebResource.h:
Tools:
- TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/css/CSSFontFaceSource.cpp
r286625 r286937 168 168 SVGFontElement& fontElement = downcast<SVGFontElement>(*m_svgFontFaceElement->parentNode()); 169 169 if (auto otfFont = convertSVGToOTFFont(fontElement)) 170 m_generatedOTFBuffer = SharedBuffer::create(WTFMove(otfFont.value()));170 m_generatedOTFBuffer = ContiguousSharedBuffer::create(WTFMove(otfFont.value())); 171 171 if (m_generatedOTFBuffer) { 172 172 m_inDocumentCustomPlatformData = createFontCustomPlatformData(*m_generatedOTFBuffer, String()); … … 177 177 ASSERT(!m_immediateFontCustomPlatformData); 178 178 bool wrapping; 179 auto buffer = SharedBuffer::create(static_cast<const char*>(m_immediateSource->baseAddress()), m_immediateSource->byteLength());179 auto buffer = ContiguousSharedBuffer::create(static_cast<const char*>(m_immediateSource->baseAddress()), m_immediateSource->byteLength()); 180 180 m_immediateFontCustomPlatformData = CachedFont::createCustomFontData(buffer.get(), String(), wrapping); 181 181 success = static_cast<bool>(m_immediateFontCustomPlatformData);