WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch for landing
bug-238801-20220406130059.patch (text/plain), 22.24 KB, created by
Zan Dobersek
on 2022-04-06 04:01:01 PDT
(
hide
)
Description:
Patch for landing
Filename:
MIME Type:
Creator:
Zan Dobersek
Created:
2022-04-06 04:01:01 PDT
Size:
22.24 KB
patch
obsolete
>Subversion Revision: 292453 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index e437508aaf38b5fe4a13998e9a58a2b3b3fbe130..ad9322f043240926af1f6306f8ac5288be47090d 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,66 @@ >+2022-04-06 Zan Dobersek <zdobersek@igalia.com> >+ >+ [Unix] Adopt UnixFileDescriptor in IPC::Attachment >+ https://bugs.webkit.org/show_bug.cgi?id=238801 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Adopt WTF::UnixFileDescriptor for usage in IPC::Attachment, in place of >+ a raw integer value. This simplifies move operations and destruction of >+ this value. >+ >+ The two relevant constructors are changed to expect a UnixFileDescriptor >+ rvalue, and they're also made explicit. The file descriptor object is >+ accessible through both a const and a non-const getter, which allows the >+ user to read or release the file descriptor contained there. There's >+ also a release method that returns the contained UnixFileDescriptor. >+ >+ The releaseFileDescriptor() and fileDescriptor() methods, previously >+ releasing or returning the contained integer value of the descriptor. >+ Call sites for these methods as well as the old-form constructors are >+ adjusted to the new variants. >+ >+ * Platform/IPC/Attachment.h: >+ (IPC::Attachment::isNull const): >+ (IPC::Attachment::fd const): >+ (IPC::Attachment::release): >+ (IPC::Attachment::releaseFileDescriptor): Deleted. >+ (IPC::Attachment::fileDescriptor const): Deleted. >+ * Platform/IPC/unix/AttachmentUnix.cpp: >+ (IPC::Attachment::Attachment): >+ (IPC::Attachment::operator=): >+ (IPC::Attachment::~Attachment): Deleted. >+ * Platform/IPC/unix/ConnectionUnix.cpp: >+ (IPC::Connection::processMessage): >+ (IPC::Connection::sendOutputMessage): >+ (IPC::Connection::createConnectionIdentifierPair): >+ * Platform/unix/SharedMemoryUnix.cpp: >+ (WebKit::SharedMemory::Handle::isNull const): >+ (WebKit::SharedMemory::map): >+ (WebKit::SharedMemory::createHandle): >+ * Shared/WebCoreArgumentCoders.cpp: >+ (IPC::ArgumentCoder<UnixFileDescriptor>::encode): >+ (IPC::ArgumentCoder<UnixFileDescriptor>::decode): >+ * Shared/glib/UserMessage.cpp: >+ (WebKit::UserMessage::encode const): >+ (WebKit::UserMessage::decode): >+ * UIProcess/API/wpe/PageClientImpl.cpp: >+ (WebKit::PageClientImpl::hostFileDescriptor): >+ * UIProcess/glib/WebProcessPoolGLib.cpp: >+ (WebKit::WebProcessPool::platformInitializeWebProcess): >+ * WebProcess/GPU/GPUProcessConnectionInfo.h: >+ (WebKit::GPUProcessConnectionInfo::identifier const): >+ (WebKit::GPUProcessConnectionInfo::releaseIdentifier): >+ * WebProcess/Inspector/WebInspector.cpp: >+ (WebKit::WebInspector::setFrontendConnection): >+ * WebProcess/Network/NetworkProcessConnectionInfo.h: >+ (WebKit::NetworkProcessConnectionInfo::identifier const): >+ (WebKit::NetworkProcessConnectionInfo::releaseIdentifier): >+ * WebProcess/WebPage/WebPage.h: >+ (WebKit::WebPage::hostFileDescriptor const): >+ * WebProcess/glib/WebProcessGLib.cpp: >+ (WebKit::WebProcess::platformInitializeWebProcess): >+ > 2022-04-06 Youenn Fablet <youenn@apple.com> > > Remove Notification::m_relatedNotificationIdentifier >diff --git a/Source/WebKit/Platform/IPC/Attachment.h b/Source/WebKit/Platform/IPC/Attachment.h >index 90e47f0bd918255af9a29276ef35f8b0e370a89d..4e4bdeea1758fcc43b73502b30daa61302afe840 100644 >--- a/Source/WebKit/Platform/IPC/Attachment.h >+++ b/Source/WebKit/Platform/IPC/Attachment.h >@@ -40,6 +40,7 @@ > #if USE(UNIX_DOMAIN_SOCKETS) > #include <variant> > #include <wtf/Function.h> >+#include <wtf/unix/UnixFileDescriptor.h> > #endif > > namespace IPC { >@@ -63,10 +64,11 @@ public: > }; > > #if USE(UNIX_DOMAIN_SOCKETS) >+ explicit Attachment(UnixFileDescriptor&&, size_t); >+ explicit Attachment(UnixFileDescriptor&&); >+ > Attachment(Attachment&&); > Attachment& operator=(Attachment&&); >- Attachment(int fileDescriptor, size_t); >- Attachment(int fileDescriptor); > ~Attachment(); > > using SocketDescriptor = int; >@@ -84,10 +86,12 @@ public: > Type type() const { return m_type; } > > #if USE(UNIX_DOMAIN_SOCKETS) >+ bool isNull() const { return !m_fd; } > size_t size() const { return m_size; } > >- int releaseFileDescriptor() { int temp = m_fileDescriptor; m_fileDescriptor = -1; return temp; } >- int fileDescriptor() const { return m_fileDescriptor; } >+ const UnixFileDescriptor& fd() const { return m_fd; } >+ UnixFileDescriptor release() { return std::exchange(m_fd, UnixFileDescriptor { }); } >+ > const CustomWriter& customWriter() const { return m_customWriter; } > #elif OS(DARWIN) > void release(); >@@ -106,7 +110,7 @@ private: > Type m_type; > > #if USE(UNIX_DOMAIN_SOCKETS) >- int m_fileDescriptor { -1 }; >+ UnixFileDescriptor m_fd; > size_t m_size; > CustomWriter m_customWriter; > #elif OS(DARWIN) >diff --git a/Source/WebKit/Platform/IPC/unix/AttachmentUnix.cpp b/Source/WebKit/Platform/IPC/unix/AttachmentUnix.cpp >index bb79bf2b3afe407d9867fd82401776d4d29b89f8..0e44faf9b3eb0d080309afb960eed4644e7512b6 100644 >--- a/Source/WebKit/Platform/IPC/unix/AttachmentUnix.cpp >+++ b/Source/WebKit/Platform/IPC/unix/AttachmentUnix.cpp >@@ -31,34 +31,32 @@ > > namespace IPC { > >-Attachment::Attachment(int fileDescriptor, size_t size) >+Attachment::Attachment(UnixFileDescriptor&& fd, size_t size) > : m_type(MappedMemoryType) >- , m_fileDescriptor(fileDescriptor) >+ , m_fd(WTFMove(fd)) > , m_size(size) > { > } > >-Attachment::Attachment(int fileDescriptor) >+Attachment::Attachment(UnixFileDescriptor&& fd) > : m_type(SocketType) >- , m_fileDescriptor(fileDescriptor) >+ , m_fd(WTFMove(fd)) > , m_size(0) > { > } > > Attachment::Attachment(Attachment&& attachment) > : m_type(attachment.m_type) >- , m_fileDescriptor(attachment.m_fileDescriptor) >+ , m_fd(WTFMove(attachment.m_fd)) > , m_size(attachment.m_size) > , m_customWriter(WTFMove(attachment.m_customWriter)) > { > attachment.m_type = Uninitialized; >- attachment.m_fileDescriptor = -1; > attachment.m_size = 0; > } > > Attachment::Attachment(CustomWriter&& writer) > : m_type(CustomWriterType) >- , m_fileDescriptor(-1) > , m_size(0) > , m_customWriter(WTFMove(writer)) > { >@@ -68,8 +66,7 @@ Attachment& Attachment::operator=(Attachment&& attachment) > { > m_type = attachment.m_type; > attachment.m_type = Uninitialized; >- m_fileDescriptor = attachment.m_fileDescriptor; >- attachment.m_fileDescriptor = -1; >+ m_fd = WTFMove(attachment.m_fd); > m_size = attachment.m_size; > attachment.m_size = 0; > m_customWriter = WTFMove(attachment.m_customWriter); >@@ -77,10 +74,6 @@ Attachment& Attachment::operator=(Attachment&& attachment) > return *this; > } > >-Attachment::~Attachment() >-{ >- if (m_fileDescriptor != -1) >- closeWithRetry(m_fileDescriptor); >-} >+Attachment::~Attachment() = default; > > } // namespace IPC >diff --git a/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp b/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp >index 181169765d8b750dd5e2484061e5a83d20e2a38a..42185f29bdad20909e98273fb33645f262916efa 100644 >--- a/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp >+++ b/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp >@@ -204,12 +204,12 @@ bool Connection::processMessage() > case Attachment::MappedMemoryType: > if (!attachmentInfo[i].isNull()) > fd = m_fileDescriptors[fdIndex++]; >- attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].size()); >+ attachments[attachmentCount - i - 1] = Attachment(UnixFileDescriptor(fd, UnixFileDescriptor::Adopt), attachmentInfo[i].size()); > break; > case Attachment::SocketType: > if (!attachmentInfo[i].isNull()) > fd = m_fileDescriptors[fdIndex++]; >- attachments[attachmentCount - i - 1] = Attachment(fd); >+ attachments[attachmentCount - i - 1] = Attachment(UnixFileDescriptor(fd, UnixFileDescriptor::Adopt)); > break; > case Attachment::CustomWriterType: > attachments[attachmentCount - i - 1] = Attachment(Attachment::CustomWriter(m_socketDescriptor)); >@@ -230,7 +230,7 @@ bool Connection::processMessage() > } > > WebKit::SharedMemory::Handle handle; >- handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].size())); >+ handle.adoptAttachment(Attachment(UnixFileDescriptor(m_fileDescriptors[attachmentFileDescriptorCount - 1], UnixFileDescriptor::Adopt), attachmentInfo[attachmentCount].size())); > > oolMessageBody = WebKit::SharedMemory::map(handle, WebKit::SharedMemory::Protection::ReadOnly); > if (!oolMessageBody) { >@@ -489,7 +489,7 @@ bool Connection::sendOutputMessage(UnixMessage& outputMessage) > > size_t attachmentFDBufferLength = std::count_if(attachments.begin(), attachments.end(), > [](const Attachment& attachment) { >- return attachment.fileDescriptor() != -1; >+ return !attachment.isNull(); > }); > > if (attachmentFDBufferLength) { >@@ -517,9 +517,9 @@ bool Connection::sendOutputMessage(UnixMessage& outputMessage) > attachmentInfo[i].setSize(attachments[i].size()); > FALLTHROUGH; > case Attachment::SocketType: >- if (attachments[i].fileDescriptor() != -1) { >+ if (!attachments[i].isNull()) { > ASSERT(fdPtr); >- fdPtr[fdIndex++] = attachments[i].fileDescriptor(); >+ fdPtr[fdIndex++] = attachments[i].fd().value(); > } else > attachmentInfo[i].setNull(); > break; >@@ -638,6 +638,6 @@ void Connection::didReceiveSyncReply(OptionSet<SendSyncOption>) > std::optional<Connection::ConnectionIdentifierPair> Connection::createConnectionIdentifierPair() > { > Connection::SocketPair socketPair = Connection::createPlatformConnection(); >- return ConnectionIdentifierPair { socketPair.server, Attachment { socketPair.client } }; >+ return ConnectionIdentifierPair { socketPair.server, Attachment { UnixFileDescriptor { socketPair.client, UnixFileDescriptor::Adopt } } }; > } > } // namespace IPC >diff --git a/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp b/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp >index c9240b9241b090690e0facd47e90045b08ec0675..fe9b78026093e682c169135a0f00073f84cd8636 100644 >--- a/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp >+++ b/Source/WebKit/Platform/unix/SharedMemoryUnix.cpp >@@ -75,7 +75,7 @@ void SharedMemory::Handle::clear() > > bool SharedMemory::Handle::isNull() const > { >- return m_attachment.fileDescriptor() == -1; >+ return m_attachment.isNull(); > } > > void SharedMemory::IPCHandle::encode(IPC::Encoder& encoder) const >@@ -200,9 +200,9 @@ RefPtr<SharedMemory> SharedMemory::map(const Handle& handle, Protection protecti > { > ASSERT(!handle.isNull()); > >- int fd = handle.m_attachment.releaseFileDescriptor(); >- void* data = mmap(0, handle.m_attachment.size(), accessModeMMap(protection), MAP_SHARED, fd, 0); >- closeWithRetry(fd); >+ UnixFileDescriptor fd = handle.m_attachment.release(); >+ void* data = mmap(0, handle.m_attachment.size(), accessModeMMap(protection), MAP_SHARED, fd.value(), 0); >+ fd = { }; > if (data == MAP_FAILED) > return nullptr; > >@@ -240,12 +240,12 @@ bool SharedMemory::createHandle(Handle& handle, Protection) > // FIXME: Handle the case where the passed Protection is ReadOnly. > // See https://bugs.webkit.org/show_bug.cgi?id=131542. > >- int duplicatedHandle = dupCloseOnExec(m_fileDescriptor.value()); >- if (duplicatedHandle == -1) { >+ UnixFileDescriptor duplicate { m_fileDescriptor.value(), UnixFileDescriptor::Duplicate }; >+ if (!duplicate) { > ASSERT_NOT_REACHED(); > return false; > } >- handle.m_attachment = IPC::Attachment(duplicatedHandle, m_size); >+ handle.m_attachment = IPC::Attachment(WTFMove(duplicate), m_size); > return true; > } > >diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp >index 409e98105e7e12593aa3402d5d97fb813d10ce72..f748bdf373618083eadc95bf8a6bb32b637b0bad 100644 >--- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp >+++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp >@@ -3295,13 +3295,12 @@ std::optional<TextRecognitionDataDetector> ArgumentCoder<TextRecognitionDataDete > > void ArgumentCoder<UnixFileDescriptor>::encode(Encoder& encoder, const UnixFileDescriptor& fd) > { >- auto duplicate = fd.duplicate(); >- encoder.addAttachment(Attachment(duplicate.release())); >+ encoder.addAttachment(Attachment(fd.duplicate())); > } > > void ArgumentCoder<UnixFileDescriptor>::encode(Encoder& encoder, UnixFileDescriptor&& fd) > { >- encoder.addAttachment(Attachment(fd.release())); >+ encoder.addAttachment(Attachment(WTFMove(fd))); > } > > std::optional<UnixFileDescriptor> ArgumentCoder<UnixFileDescriptor>::decode(Decoder& decoder) >@@ -3309,7 +3308,7 @@ std::optional<UnixFileDescriptor> ArgumentCoder<UnixFileDescriptor>::decode(Deco > auto attachment = decoder.takeLastAttachment(); > if (!attachment) > return std::nullopt; >- return std::optional<UnixFileDescriptor> { std::in_place, attachment->releaseFileDescriptor(), UnixFileDescriptor::Adopt }; >+ return std::optional<UnixFileDescriptor> { std::in_place, attachment->release() }; > } > > #endif >diff --git a/Source/WebKit/Shared/glib/UserMessage.cpp b/Source/WebKit/Shared/glib/UserMessage.cpp >index 30f601b424f502154d132989b354f7dc3d580d36..b96a1d7f69cbce0d5b77320318a2af0b63474cdf 100644 >--- a/Source/WebKit/Shared/glib/UserMessage.cpp >+++ b/Source/WebKit/Shared/glib/UserMessage.cpp >@@ -51,7 +51,7 @@ void UserMessage::encode(IPC::Encoder& encoder) const > if (fileDescriptors) { > int length = g_unix_fd_list_get_length(fileDescriptors.get()); > for (int i = 0; i < length; ++i) >- attachments.append(IPC::Attachment(g_unix_fd_list_get(fileDescriptors.get(), i, nullptr))); >+ attachments.append(IPC::Attachment(UnixFileDescriptor(g_unix_fd_list_get(fileDescriptors.get(), i, nullptr), UnixFileDescriptor::Adopt))); > } > encoder << attachments; > } >@@ -91,7 +91,7 @@ std::optional<UserMessage> UserMessage::decode(IPC::Decoder& decoder) > if (!attachments->isEmpty()) { > result.fileDescriptors = adoptGRef(g_unix_fd_list_new()); > for (auto& attachment : *attachments) { >- if (g_unix_fd_list_append(result.fileDescriptors.get(), attachment.releaseFileDescriptor(), nullptr) == -1) >+ if (g_unix_fd_list_append(result.fileDescriptors.get(), attachment.release().release(), nullptr) == -1) > return std::nullopt; > } > } >diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp >index 806993ca73a9cce37753d805a9ab9f4cb6bd1a7b..cfe3689f22c6659ceab3950e40b686e9b97b4254 100644 >--- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp >+++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp >@@ -59,7 +59,7 @@ struct wpe_view_backend* PageClientImpl::viewBackend() > > IPC::Attachment PageClientImpl::hostFileDescriptor() > { >- return wpe_view_backend_get_renderer_host_fd(m_view.backend()); >+ return IPC::Attachment(UnixFileDescriptor(wpe_view_backend_get_renderer_host_fd(m_view.backend()), UnixFileDescriptor::Adopt)); > } > > std::unique_ptr<DrawingAreaProxy> PageClientImpl::createDrawingAreaProxy(WebProcessProxy& process) >diff --git a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp >index cfe7a0eb3bec00974541674b5c414e51274b1c8a..933232e2f684ed3c2b35ee8200c0c67983dedbf7 100644 >--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp >+++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp >@@ -78,7 +78,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process > parameters.isServiceWorkerProcess = process.isRunningServiceWorkers(); > > if (!parameters.isServiceWorkerProcess) { >- parameters.hostClientFileDescriptor = wpe_renderer_host_create_client(); >+ parameters.hostClientFileDescriptor = IPC::Attachment(UnixFileDescriptor(wpe_renderer_host_create_client(), UnixFileDescriptor::Adopt)); > parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(String { wpe_loader_get_loaded_implementation_library_name() }); > } > #endif >@@ -88,7 +88,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process > #if USE(WPE_RENDERER) > wpe_loader_init("libWPEBackend-fdo-1.0.so.1"); > if (AcceleratedBackingStoreWayland::checkRequirements()) { >- parameters.hostClientFileDescriptor = wpe_renderer_host_create_client(); >+ parameters.hostClientFileDescriptor = IPC::Attachment(UnixFileDescriptor(wpe_renderer_host_create_client(), UnixFileDescriptor::Adopt)); > parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(String { wpe_loader_get_loaded_implementation_library_name() }); > } > #elif USE(EGL) >diff --git a/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h b/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h >index 9c81dc25a1e4f5b4b6da91f034c4258dc05017fe..e2d029f61826b05f7c4753f33a6d0ca387a634ce 100644 >--- a/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h >+++ b/Source/WebKit/WebProcess/GPU/GPUProcessConnectionInfo.h >@@ -41,7 +41,7 @@ struct GPUProcessConnectionInfo { > IPC::Connection::Identifier identifier() const > { > #if USE(UNIX_DOMAIN_SOCKETS) >- return IPC::Connection::Identifier(connection.fileDescriptor()); >+ return IPC::Connection::Identifier(connection.fd().value()); > #elif OS(DARWIN) > return IPC::Connection::Identifier(connection.port()); > #elif OS(WINDOWS) >@@ -55,7 +55,7 @@ struct GPUProcessConnectionInfo { > IPC::Connection::Identifier releaseIdentifier() > { > #if USE(UNIX_DOMAIN_SOCKETS) >- auto returnValue = IPC::Connection::Identifier(connection.releaseFileDescriptor()); >+ auto returnValue = IPC::Connection::Identifier(connection.release().release()); > #else > auto returnValue = identifier(); > #endif >diff --git a/Source/WebKit/WebProcess/Inspector/WebInspector.cpp b/Source/WebKit/WebProcess/Inspector/WebInspector.cpp >index 630e3f83ca9b440c3fe69b004b3f1f7dd51a2289..bb787ddf33f5388ad3ded005714382aae399b05a 100644 >--- a/Source/WebKit/WebProcess/Inspector/WebInspector.cpp >+++ b/Source/WebKit/WebProcess/Inspector/WebInspector.cpp >@@ -85,7 +85,7 @@ void WebInspector::setFrontendConnection(IPC::Attachment encodedConnectionIdenti > } > > #if USE(UNIX_DOMAIN_SOCKETS) >- IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.releaseFileDescriptor()); >+ IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.release().release()); > #elif OS(DARWIN) > IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.port()); > #elif OS(WINDOWS) >diff --git a/Source/WebKit/WebProcess/Network/NetworkProcessConnectionInfo.h b/Source/WebKit/WebProcess/Network/NetworkProcessConnectionInfo.h >index 03763aa5fb8ebd3bc2424e7699eb12b5f78fc609..122755cbcc15a7c9becc1f83f3259264f2cea44b 100644 >--- a/Source/WebKit/WebProcess/Network/NetworkProcessConnectionInfo.h >+++ b/Source/WebKit/WebProcess/Network/NetworkProcessConnectionInfo.h >@@ -40,7 +40,7 @@ struct NetworkProcessConnectionInfo { > IPC::Connection::Identifier identifier() const > { > #if USE(UNIX_DOMAIN_SOCKETS) >- return IPC::Connection::Identifier(connection.fileDescriptor()); >+ return IPC::Connection::Identifier(connection.fd().value()); > #elif OS(DARWIN) > return IPC::Connection::Identifier(connection.port()); > #elif OS(WINDOWS) >@@ -54,7 +54,7 @@ struct NetworkProcessConnectionInfo { > IPC::Connection::Identifier releaseIdentifier() > { > #if USE(UNIX_DOMAIN_SOCKETS) >- auto returnValue = IPC::Connection::Identifier(connection.releaseFileDescriptor()); >+ auto returnValue = IPC::Connection::Identifier(connection.release().release()); > #else > auto returnValue = identifier(); > #endif >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h >index 1ee74f4d9237ea089c289fc114a609738c35925c..5cf245233214adbae062851c3f6879ceb223b6d0 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.h >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.h >@@ -1339,7 +1339,7 @@ public: > #endif > > #if USE(WPE_RENDERER) >- int hostFileDescriptor() const { return m_hostFileDescriptor.fileDescriptor(); } >+ int hostFileDescriptor() const { return m_hostFileDescriptor.fd().value(); } > #endif > > void updateCurrentModifierState(OptionSet<WebCore::PlatformEvent::Modifier> modifiers); >diff --git a/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp b/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp >index bab5ddf1da10ba7cbc5f1a7443053a1cde74fdb3..f2e03916eccec8b80e25c85f9962214f1cedf811 100644 >--- a/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp >+++ b/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp >@@ -114,7 +114,7 @@ void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& para > wpe_loader_init(parameters.implementationLibraryName.data()); > > RELEASE_ASSERT(is<PlatformDisplayLibWPE>(PlatformDisplay::sharedDisplay())); >- downcast<PlatformDisplayLibWPE>(PlatformDisplay::sharedDisplay()).initialize(parameters.hostClientFileDescriptor.releaseFileDescriptor()); >+ downcast<PlatformDisplayLibWPE>(PlatformDisplay::sharedDisplay()).initialize(parameters.hostClientFileDescriptor.release().release()); > } > #endif > >@@ -122,7 +122,7 @@ void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& para > if (PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland) { > #if USE(WPE_RENDERER) > if (!parameters.isServiceWorkerProcess) { >- auto hostClientFileDescriptor = parameters.hostClientFileDescriptor.releaseFileDescriptor(); >+ auto hostClientFileDescriptor = parameters.hostClientFileDescriptor.release().release(); > if (hostClientFileDescriptor != -1) { > wpe_loader_init(parameters.implementationLibraryName.data()); > m_wpeDisplay = WebCore::PlatformDisplayLibWPE::create();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 238801
:
456697
|
456796
|
456801
|
456806