Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 78d2561b2bf73ecfc596b303f3321e6789c1f659 https://github.com/WebKit/WebKit/commit/78d2561b2bf73ecfc596b303f3321e6789c1f659 Author: Alicia Boya Garcia <ab...@igalia.com> Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths: M Source/WTF/wtf/FileSystem.cpp M Source/WTF/wtf/FileSystem.h M Source/WTF/wtf/glib/FileSystemGlib.cpp M Source/WTF/wtf/posix/FileSystemPOSIX.cpp M Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp M Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp Log Message: ----------- [WTF][GLib] Rework FileSystem::openFile() https://bugs.webkit.org/show_bug.cgi?id=254813 Reviewed by Michael Catanzaro and Adrian Perez de Castro. Fixes REGRESSION(259689@main). The previous implementation failed when asked to create a file in ReadWrite mode. This patch also increases the test coverage for FileSystem::openFile(). Previously, few argument combinations where tested, which caused the regression to go unnoticed. Read requests no longer create a read-write stream. To accomodate that, PlatformFileHandle in GLib is now the generic GSeekable* rather than GFileIOStream* (which implies a read-write file handle). This patch also introduces WTF::FileSystem::posixFileDescriptor() for non-Windows platforms, which allows decoupling of the GIO API in a few places in WebKit. * Source/WTF/wtf/FileSystem.cpp: (WTF::FileSystemImpl::MappedFileData::mapFileHandle): * Source/WTF/wtf/FileSystem.h: * Source/WTF/wtf/glib/FileSystemGlib.cpp: (WTF::FileSystemImpl::genericGIOFileClose): (WTF::FileSystemImpl::genericGIOFileQueryInfo): (WTF::FileSystemImpl::genericGIOGetInputStream): (WTF::FileSystemImpl::genericGIOGetOutputStream): (WTF::FileSystemImpl::genericGIOGetFileDescriptorBased): (WTF::FileSystemImpl::posixFileDescriptor): (WTF::FileSystemImpl::fileSize): (WTF::FileSystemImpl::fileID): (WTF::FileSystemImpl::openTemporaryFile): (WTF::FileSystemImpl::openFile): (WTF::FileSystemImpl::closeFile): (WTF::FileSystemImpl::seekFile): (WTF::FileSystemImpl::truncateFile): (WTF::FileSystemImpl::flushFile): (WTF::FileSystemImpl::writeToFile): (WTF::FileSystemImpl::readFromFile): (WTF::FileSystemImpl::lockFile): (WTF::FileSystemImpl::unlockFile): * Source/WTF/wtf/posix/FileSystemPOSIX.cpp: (WTF::FileSystemImpl::posixFileDescriptor): * Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp: (WebKit::NetworkCache::Data::tryCreateSharedMemory const): * Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): Canonical link: https://commits.webkit.org/263367@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes