diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4c0c9bd..0000000 --- a/.gitignore +++ /dev/null @@ -1,53 +0,0 @@ -/webkitgtk-2.5.3.tar.xz -/webkitgtk-2.5.90.tar.xz -/webkitgtk-2.6.0.tar.xz -/webkitgtk-2.6.1.tar.xz -/webkitgtk-2.6.2.tar.xz -/webkitgtk-2.7.1.tar.xz -/webkitgtk-2.7.2.tar.xz -/webkitgtk-2.7.3.tar.xz -/webkitgtk-2.7.4.tar.xz -/webkitgtk-2.7.90.tar.xz -/webkitgtk-2.7.91.tar.xz -/webkitgtk-2.7.92.tar.xz -/webkitgtk-2.8.0.tar.xz -/webkitgtk-2.8.1.tar.xz -/webkitgtk-2.9.1.tar.xz -/webkitgtk-2.9.2.tar.xz -/webkitgtk-2.9.3.tar.xz -/webkitgtk-2.9.4.tar.xz -/webkitgtk-2.9.5.tar.xz -/webkitgtk-2.9.90.tar.xz -/webkitgtk-2.9.91.tar.xz -/webkitgtk-2.9.92.tar.xz -/webkitgtk-2.10.0.tar.xz -/webkitgtk-2.10.1.tar.xz -/webkitgtk-2.10.2.tar.xz -/webkitgtk-2.10.3.tar.xz -/webkitgtk-2.11.1.tar.xz -/webkitgtk-2.11.2.tar.xz -/webkitgtk-2.11.3.tar.xz -/webkitgtk-2.11.4.tar.xz -/webkitgtk-2.11.5.tar.xz -/webkitgtk-2.11.90.tar.xz -/webkitgtk-2.11.91.tar.xz -/webkitgtk-2.11.92.tar.xz -/webkitgtk-2.12.0.tar.xz -/webkitgtk-2.12.1.tar.xz -/webkitgtk-2.12.2.tar.xz -/webkitgtk-2.12.3.tar.xz -/webkitgtk-2.13.1.tar.xz -/webkitgtk-2.13.2.tar.xz -/webkitgtk-2.13.3.tar.xz -/webkitgtk-2.13.4.tar.xz -/webkitgtk-2.13.90.tar.xz -/webkitgtk-2.13.91.tar.xz -/webkitgtk-2.13.92.tar.xz -/webkitgtk-2.14.0.tar.xz -/webkitgtk-2.14.1.tar.xz -/webkitgtk-2.15.1.tar.xz -/webkitgtk-2.14.2.tar.xz -/webkitgtk-2.15.2.tar.xz -/webkitgtk-2.15.3.tar.xz -/webkitgtk-2.15.4.tar.xz -/webkitgtk-2.15.90.tar.xz diff --git a/0001-GTK-Hangs-when-showing-Google-search-results.patch b/0001-GTK-Hangs-when-showing-Google-search-results.patch deleted file mode 100644 index 6f9195a..0000000 --- a/0001-GTK-Hangs-when-showing-Google-search-results.patch +++ /dev/null @@ -1,589 +0,0 @@ -From 7e013c8c5ff959cd71a939a4795ef7dfc18a51f1 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Fri, 24 Feb 2017 13:03:14 +0100 -Subject: [PATCH] [GTK] Hangs when showing Google search results - -https://bugs.webkit.org/show_bug.cgi?id=168699 - -Reviewed by NOBODY (OOPS!). - -Connection::sendOutgoingMessage() can poll forever if sendmsg fails with EAGAIN or EWOULDBLOCK. For example if -socket read buffers are full, poll will be blocked until we read the pending data, but we can't read because -the thread is blocked in the poll. In case of EAGAIN/EWOULDBLOCK we should poll using the run loop, to allow -reads to happen in thread while we wait for the socket to be writable again. In the GTK+ port we use -GSocketMonitor to poll socket file descriptor without blocking, using the run loop. This patch renames the -socket monitor as readSocketMonitor and adds another one for polling output. When sendmsg fails with -EAGAIN/EWOULDBLOCK, the pending message is saved and the write monitor starts polling. Once the socket is -writable again we send the pending message. Helper class MessageInfo and a new one UnixMessage have been moved -to its own header file to be able to use std::unique_ptr member to save the pending message. - -* Platform/IPC/Connection.cpp: Include UnixMessage.h as required by std::unique_ptr. -* Platform/IPC/Connection.h: Add write socket monitor and also keep the GSocket as a member to reuse it. -* Platform/IPC/glib/GSocketMonitor.cpp: Use Function instead of std::function. -(IPC::GSocketMonitor::start): -* Platform/IPC/glib/GSocketMonitor.h: -* Platform/IPC/unix/ConnectionUnix.cpp: -(IPC::Connection::platformInitialize): Initialize the GSocket here since we rely on it to take the ownership of -the descriptor. We were leaking it if the connection was invalidated without being opened. -(IPC::Connection::platformInvalidate): Destroy the GSocket even when not connected. Also stop the write monitor. -(IPC::Connection::processMessage): -(IPC::Connection::open): -(IPC::Connection::platformCanSendOutgoingMessages): Return false if we have a pending message to ensure -Connection doesn't try to send more messages until the pending message is dispatched. We don't need to check -m_isConnected because the caller already checks that. -(IPC::Connection::sendOutgoingMessage): Split it in two. This creates and prepares a UnixMessage and then calls -sendOutputMessage() to do the rest. -(IPC::Connection::sendOutputMessage): Send the message, or save it if sendmsg fails with EAGAIN or EWOULDBLOCK -to be sent later when the socket is writable. -* Platform/IPC/unix/UnixMessage.h: Added. -(IPC::MessageInfo::MessageInfo): -(IPC::MessageInfo::setMessageBodyIsOutOfLine): -(IPC::MessageInfo::isMessageBodyIsOutOfLine): -(IPC::MessageInfo::bodySize): -(IPC::MessageInfo::attachmentCount): -(IPC::UnixMessage::UnixMessage): -(IPC::UnixMessage::~UnixMessage): -(IPC::UnixMessage::attachments): -(IPC::UnixMessage::messageInfo): -(IPC::UnixMessage::body): -(IPC::UnixMessage::bodySize): -(IPC::UnixMessage::appendAttachment): -* PlatformGTK.cmake: ---- - Source/WebKit2/Platform/IPC/Connection.cpp | 4 + - Source/WebKit2/Platform/IPC/Connection.h | 7 +- - .../WebKit2/Platform/IPC/glib/GSocketMonitor.cpp | 2 +- - Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h | 4 +- - .../WebKit2/Platform/IPC/unix/ConnectionUnix.cpp | 140 ++++++++++----------- - Source/WebKit2/Platform/IPC/unix/UnixMessage.h | 113 +++++++++++++++++ - Source/WebKit2/PlatformGTK.cmake | 1 + - 7 files changed, 194 insertions(+), 77 deletions(-) - create mode 100644 Source/WebKit2/Platform/IPC/unix/UnixMessage.h - -diff --git a/Source/WebKit2/Platform/IPC/Connection.cpp b/Source/WebKit2/Platform/IPC/Connection.cpp -index daa6510..baf5306 100644 ---- a/Source/WebKit2/Platform/IPC/Connection.cpp -+++ b/Source/WebKit2/Platform/IPC/Connection.cpp -@@ -39,6 +39,10 @@ - #include "MachMessage.h" - #endif - -+#if USE(UNIX_DOMAIN_SOCKETS) -+#include "UnixMessage.h" -+#endif -+ - namespace IPC { - - struct Connection::ReplyHandler { -diff --git a/Source/WebKit2/Platform/IPC/Connection.h b/Source/WebKit2/Platform/IPC/Connection.h -index 87a3d91..a5a8ad7 100644 ---- a/Source/WebKit2/Platform/IPC/Connection.h -+++ b/Source/WebKit2/Platform/IPC/Connection.h -@@ -79,6 +79,7 @@ enum class WaitForOption { - while (0) - - class MachMessage; -+class UnixMessage; - - class Connection : public ThreadSafeRefCounted { - public: -@@ -308,12 +309,16 @@ private: - // Called on the connection queue. - void readyReadHandler(); - bool processMessage(); -+ bool sendOutputMessage(UnixMessage&); - - Vector m_readBuffer; - Vector m_fileDescriptors; - int m_socketDescriptor; -+ std::unique_ptr m_pendingOutputMessage; - #if PLATFORM(GTK) -- GSocketMonitor m_socketMonitor; -+ GRefPtr m_socket; -+ GSocketMonitor m_readSocketMonitor; -+ GSocketMonitor m_writeSocketMonitor; - #endif - #elif OS(DARWIN) - // Called on the connection queue. -diff --git a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp -index 0faf266..14329b9 100644 ---- a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp -+++ b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.cpp -@@ -42,7 +42,7 @@ gboolean GSocketMonitor::socketSourceCallback(GSocket*, GIOCondition condition, - return monitor->m_callback(condition); - } - --void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, std::function&& callback) -+void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, Function&& callback) - { - stop(); - -diff --git a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h -index 11e528a..ff37bf9 100644 ---- a/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h -+++ b/Source/WebKit2/Platform/IPC/glib/GSocketMonitor.h -@@ -43,7 +43,7 @@ public: - GSocketMonitor() = default; - ~GSocketMonitor(); - -- void start(GSocket*, GIOCondition, RunLoop&, std::function&&); -+ void start(GSocket*, GIOCondition, RunLoop&, Function&&); - void stop(); - - private: -@@ -51,7 +51,7 @@ private: - - GRefPtr m_source; - GRefPtr m_cancellable; -- std::function m_callback; -+ Function m_callback; - }; - - } // namespace IPC -diff --git a/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp b/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp -index fcd1047..0e04238 100644 ---- a/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp -+++ b/Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp -@@ -30,6 +30,7 @@ - - #include "DataReference.h" - #include "SharedMemory.h" -+#include "UnixMessage.h" - #include - #include - #include -@@ -60,60 +61,20 @@ namespace IPC { - static const size_t messageMaxSize = 4096; - static const size_t attachmentMaxAmount = 255; - --enum { -- MessageBodyIsOutOfLine = 1U << 31 --}; -- --class MessageInfo { --public: -- MessageInfo() { } -- -- MessageInfo(size_t bodySize, size_t initialAttachmentCount) -- : m_bodySize(bodySize) -- , m_attachmentCount(initialAttachmentCount) -- , m_isMessageBodyOutOfLine(false) -- { -- } -- -- void setMessageBodyIsOutOfLine() -- { -- ASSERT(!isMessageBodyIsOutOfLine()); -- -- m_isMessageBodyOutOfLine = true; -- m_attachmentCount++; -- } -- -- bool isMessageBodyIsOutOfLine() const { return m_isMessageBodyOutOfLine; } -- -- size_t bodySize() const { return m_bodySize; } -- -- size_t attachmentCount() const { return m_attachmentCount; } -- --private: -- size_t m_bodySize; -- size_t m_attachmentCount; -- bool m_isMessageBodyOutOfLine; --}; -- - class AttachmentInfo { - WTF_MAKE_FAST_ALLOCATED; - public: -- AttachmentInfo() -- : m_type(Attachment::Uninitialized) -- , m_size(0) -- , m_isNull(false) -- { -- } -+ AttachmentInfo() = default; - - void setType(Attachment::Type type) { m_type = type; } -- Attachment::Type getType() { return m_type; } -+ Attachment::Type type() const { return m_type; } - void setSize(size_t size) - { - ASSERT(m_type == Attachment::MappedMemoryType); - m_size = size; - } - -- size_t getSize() -+ size_t size() const - { - ASSERT(m_type == Attachment::MappedMemoryType); - return m_size; -@@ -121,25 +82,30 @@ public: - - // The attachment is not null unless explicitly set. - void setNull() { m_isNull = true; } -- bool isNull() { return m_isNull; } -+ bool isNull() const { return m_isNull; } - - private: -- Attachment::Type m_type; -- size_t m_size; -- bool m_isNull; -+ Attachment::Type m_type { Attachment::Uninitialized }; -+ size_t m_size { 0 }; -+ bool m_isNull { false }; - }; - - void Connection::platformInitialize(Identifier identifier) - { - m_socketDescriptor = identifier; -+#if PLATFORM(GTK) -+ m_socket = adoptGRef(g_socket_new_from_fd(m_socketDescriptor, nullptr)); -+#endif - m_readBuffer.reserveInitialCapacity(messageMaxSize); - m_fileDescriptors.reserveInitialCapacity(attachmentMaxAmount); - } - - void Connection::platformInvalidate() - { -- // In GTK+ platform the socket is closed by the work queue. --#if !PLATFORM(GTK) -+#if PLATFORM(GTK) -+ // In GTK+ platform the socket descriptor is owned by GSocket. -+ m_socket = nullptr; -+#else - if (m_socketDescriptor != -1) - closeWithRetry(m_socketDescriptor); - #endif -@@ -148,7 +114,8 @@ void Connection::platformInvalidate() - return; - - #if PLATFORM(GTK) -- m_socketMonitor.stop(); -+ m_readSocketMonitor.stop(); -+ m_writeSocketMonitor.stop(); - #endif - - m_socketDescriptor = -1; -@@ -165,7 +132,7 @@ bool Connection::processMessage() - memcpy(&messageInfo, messageData, sizeof(messageInfo)); - messageData += sizeof(messageInfo); - -- size_t messageLength = sizeof(MessageInfo) + messageInfo.attachmentCount() * sizeof(AttachmentInfo) + (messageInfo.isMessageBodyIsOutOfLine() ? 0 : messageInfo.bodySize()); -+ size_t messageLength = sizeof(MessageInfo) + messageInfo.attachmentCount() * sizeof(AttachmentInfo) + (messageInfo.isBodyOutOfLine() ? 0 : messageInfo.bodySize()); - if (m_readBuffer.size() < messageLength) - return false; - -@@ -179,7 +146,7 @@ bool Connection::processMessage() - messageData += sizeof(AttachmentInfo) * attachmentCount; - - for (size_t i = 0; i < attachmentCount; ++i) { -- switch (attachmentInfo[i].getType()) { -+ switch (attachmentInfo[i].type()) { - case Attachment::MappedMemoryType: - case Attachment::SocketType: - if (!attachmentInfo[i].isNull()) -@@ -191,7 +158,7 @@ bool Connection::processMessage() - } - } - -- if (messageInfo.isMessageBodyIsOutOfLine()) -+ if (messageInfo.isBodyOutOfLine()) - attachmentCount--; - } - -@@ -201,11 +168,11 @@ bool Connection::processMessage() - size_t fdIndex = 0; - for (size_t i = 0; i < attachmentCount; ++i) { - int fd = -1; -- switch (attachmentInfo[i].getType()) { -+ switch (attachmentInfo[i].type()) { - case Attachment::MappedMemoryType: - if (!attachmentInfo[i].isNull()) - fd = m_fileDescriptors[fdIndex++]; -- attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].getSize()); -+ attachments[attachmentCount - i - 1] = Attachment(fd, attachmentInfo[i].size()); - break; - case Attachment::SocketType: - if (!attachmentInfo[i].isNull()) -@@ -219,7 +186,7 @@ bool Connection::processMessage() - } - } - -- if (messageInfo.isMessageBodyIsOutOfLine()) { -+ if (messageInfo.isBodyOutOfLine()) { - ASSERT(messageInfo.bodySize()); - - if (attachmentInfo[attachmentCount].isNull()) { -@@ -228,7 +195,7 @@ bool Connection::processMessage() - } - - WebKit::SharedMemory::Handle handle; -- handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].getSize())); -+ handle.adoptAttachment(IPC::Attachment(m_fileDescriptors[attachmentFileDescriptorCount - 1], attachmentInfo[attachmentCount].size())); - - oolMessageBody = WebKit::SharedMemory::map(handle, WebKit::SharedMemory::Protection::ReadOnly); - if (!oolMessageBody) { -@@ -237,10 +204,10 @@ bool Connection::processMessage() - } - } - -- ASSERT(attachments.size() == (messageInfo.isMessageBodyIsOutOfLine() ? messageInfo.attachmentCount() - 1 : messageInfo.attachmentCount())); -+ ASSERT(attachments.size() == (messageInfo.isBodyOutOfLine() ? messageInfo.attachmentCount() - 1 : messageInfo.attachmentCount())); - - uint8_t* messageBody = messageData; -- if (messageInfo.isMessageBodyIsOutOfLine()) -+ if (messageInfo.isBodyOutOfLine()) - messageBody = reinterpret_cast(oolMessageBody->data()); - - auto decoder = std::make_unique(messageBody, messageInfo.bodySize(), nullptr, WTFMove(attachments)); -@@ -365,8 +332,7 @@ bool Connection::open() - RefPtr protectedThis(this); - m_isConnected = true; - #if PLATFORM(GTK) -- GRefPtr socket = adoptGRef(g_socket_new_from_fd(m_socketDescriptor, nullptr)); -- m_socketMonitor.start(socket.get(), G_IO_IN, m_connectionQueue->runLoop(), [protectedThis] (GIOCondition condition) -> gboolean { -+ m_readSocketMonitor.start(m_socket.get(), G_IO_IN, m_connectionQueue->runLoop(), [protectedThis] (GIOCondition condition) -> gboolean { - if (condition & G_IO_HUP || condition & G_IO_ERR || condition & G_IO_NVAL) { - protectedThis->connectionDidClose(); - return G_SOURCE_REMOVE; -@@ -392,22 +358,21 @@ bool Connection::open() - - bool Connection::platformCanSendOutgoingMessages() const - { -- return m_isConnected; -+ return !m_pendingOutputMessage; - } - - bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - { - COMPILE_ASSERT(sizeof(MessageInfo) + attachmentMaxAmount * sizeof(size_t) <= messageMaxSize, AttachmentsFitToMessageInline); - -- Vector attachments = encoder->releaseAttachments(); -- if (attachments.size() > (attachmentMaxAmount - 1)) { -+ UnixMessage outputMessage(encoder.get()); -+ if (outputMessage.attachments().size() > (attachmentMaxAmount - 1)) { - ASSERT_NOT_REACHED(); - return false; - } - -- MessageInfo messageInfo(encoder->bufferSize(), attachments.size()); -- size_t messageSizeWithBodyInline = sizeof(messageInfo) + (attachments.size() * sizeof(AttachmentInfo)) + encoder->bufferSize(); -- if (messageSizeWithBodyInline > messageMaxSize && encoder->bufferSize()) { -+ size_t messageSizeWithBodyInline = sizeof(MessageInfo) + (outputMessage.attachments().size() * sizeof(AttachmentInfo)) + outputMessage.bodySize(); -+ if (messageSizeWithBodyInline > messageMaxSize && outputMessage.bodySize()) { - RefPtr oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize()); - if (!oolMessageBody) - return false; -@@ -416,13 +381,21 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - if (!oolMessageBody->createHandle(handle, WebKit::SharedMemory::Protection::ReadOnly)) - return false; - -- messageInfo.setMessageBodyIsOutOfLine(); -+ outputMessage.messageInfo().setBodyOutOfLine(); - -- memcpy(oolMessageBody->data(), encoder->buffer(), encoder->bufferSize()); -+ memcpy(oolMessageBody->data(), outputMessage.body(), outputMessage.bodySize()); - -- attachments.append(handle.releaseAttachment()); -+ outputMessage.appendAttachment(handle.releaseAttachment()); - } - -+ return sendOutputMessage(outputMessage); -+} -+ -+bool Connection::sendOutputMessage(UnixMessage& outputMessage) -+{ -+ ASSERT(!m_pendingOutputMessage); -+ -+ auto& messageInfo = outputMessage.messageInfo(); - struct msghdr message; - memset(&message, 0, sizeof(message)); - -@@ -438,6 +411,7 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - std::unique_ptr attachmentInfo; - MallocPtr attachmentFDBuffer; - -+ auto& attachments = outputMessage.attachments(); - if (!attachments.isEmpty()) { - int* fdPtr = 0; - -@@ -488,9 +462,9 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - ++iovLength; - } - -- if (!messageInfo.isMessageBodyIsOutOfLine() && encoder->bufferSize()) { -- iov[iovLength].iov_base = reinterpret_cast(encoder->buffer()); -- iov[iovLength].iov_len = encoder->bufferSize(); -+ if (!messageInfo.isBodyOutOfLine() && outputMessage.bodySize()) { -+ iov[iovLength].iov_base = reinterpret_cast(outputMessage.body()); -+ iov[iovLength].iov_len = outputMessage.bodySize(); - ++iovLength; - } - -@@ -500,6 +474,25 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - if (errno == EINTR) - continue; - if (errno == EAGAIN || errno == EWOULDBLOCK) { -+#if PLATFORM(GTK) -+ m_pendingOutputMessage = std::make_unique(WTFMove(outputMessage)); -+ m_writeSocketMonitor.start(m_socket.get(), G_IO_OUT, m_connectionQueue->runLoop(), [this, protectedThis = makeRef(*this)] (GIOCondition condition) -> gboolean { -+ if (condition & G_IO_OUT) { -+ ASSERT(m_pendingOutputMessage); -+ // We can't stop the monitor from this lambda, because stop destroys the lambda. -+ m_connectionQueue->dispatch([this, protectedThis = makeRef(*this)] { -+ m_writeSocketMonitor.stop(); -+ auto message = WTFMove(m_pendingOutputMessage); -+ if (m_isConnected) { -+ sendOutputMessage(*message); -+ sendOutgoingMessages(); -+ } -+ }); -+ } -+ return G_SOURCE_REMOVE; -+ }); -+ return false; -+#else - struct pollfd pollfd; - - pollfd.fd = m_socketDescriptor; -@@ -507,6 +500,7 @@ bool Connection::sendOutgoingMessage(std::unique_ptr encoder) - pollfd.revents = 0; - poll(&pollfd, 1, -1); - continue; -+#endif - } - - if (m_isConnected) -diff --git a/Source/WebKit2/Platform/IPC/unix/UnixMessage.h b/Source/WebKit2/Platform/IPC/unix/UnixMessage.h -new file mode 100644 -index 0000000..e99a0a4 ---- /dev/null -+++ b/Source/WebKit2/Platform/IPC/unix/UnixMessage.h -@@ -0,0 +1,113 @@ -+/* -+ * Copyright (C) 2010 Apple Inc. All rights reserved. -+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) -+ * Copyright (C) 2011,2017 Igalia S.L. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' -+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS -+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -+ * THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#pragma once -+ -+#include "Attachment.h" -+#include -+ -+namespace IPC { -+ -+class MessageInfo { -+public: -+ MessageInfo() = default; -+ -+ MessageInfo(size_t bodySize, size_t initialAttachmentCount) -+ : m_bodySize(bodySize) -+ , m_attachmentCount(initialAttachmentCount) -+ { -+ } -+ -+ void setBodyOutOfLine() -+ { -+ ASSERT(!isBodyOutOfLine()); -+ -+ m_isBodyOutOfLine = true; -+ m_attachmentCount++; -+ } -+ -+ bool isBodyOutOfLine() const { return m_isBodyOutOfLine; } -+ size_t bodySize() const { return m_bodySize; } -+ size_t attachmentCount() const { return m_attachmentCount; } -+ -+private: -+ size_t m_bodySize { 0 }; -+ size_t m_attachmentCount { 0 }; -+ bool m_isBodyOutOfLine { false }; -+}; -+ -+class UnixMessage { -+ WTF_MAKE_FAST_ALLOCATED; -+public: -+ UnixMessage(Encoder* encoder) -+ : m_attachments(encoder->releaseAttachments()) -+ , m_messageInfo(encoder->bufferSize(), m_attachments.size()) -+ , m_body(encoder->buffer()) -+ { -+ } -+ -+ UnixMessage(UnixMessage&& other) -+ { -+ m_attachments = WTFMove(other.m_attachments); -+ m_messageInfo = WTFMove(other.m_messageInfo); -+ if (other.m_bodyOwned) { -+ std::swap(m_body, other.m_body); -+ std::swap(m_bodyOwned, other.m_bodyOwned); -+ } else if (!m_messageInfo.isBodyOutOfLine()) { -+ m_body = static_cast(fastMalloc(m_messageInfo.bodySize())); -+ memcpy(m_body, other.m_body, m_messageInfo.bodySize()); -+ m_bodyOwned = true; -+ other.m_body = nullptr; -+ other.m_bodyOwned = false; -+ } -+ } -+ -+ ~UnixMessage() -+ { -+ if (m_bodyOwned) -+ fastFree(m_body); -+ } -+ -+ const Vector& attachments() const { return m_attachments; } -+ MessageInfo& messageInfo() { return m_messageInfo; } -+ -+ uint8_t* body() const { return m_body; } -+ size_t bodySize() const { return m_messageInfo.bodySize(); } -+ -+ void appendAttachment(Attachment&& attachment) -+ { -+ m_attachments.append(WTFMove(attachment)); -+ } -+ -+private: -+ Vector m_attachments; -+ MessageInfo m_messageInfo; -+ uint8_t* m_body { nullptr }; -+ bool m_bodyOwned { false }; -+}; -+ -+} // namespace IPC -diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake -index ebede75..2c6bc5f 100644 ---- a/Source/WebKit2/PlatformGTK.cmake -+++ b/Source/WebKit2/PlatformGTK.cmake -@@ -850,6 +850,7 @@ list(APPEND WebKit2_INCLUDE_DIRECTORIES - "${WEBKIT2_DIR}/NetworkProcess/soup" - "${WEBKIT2_DIR}/NetworkProcess/unix" - "${WEBKIT2_DIR}/Platform/IPC/glib" -+ "${WEBKIT2_DIR}/Platform/IPC/unix" - "${WEBKIT2_DIR}/Shared/API/c/gtk" - "${WEBKIT2_DIR}/Shared/Plugins/unix" - "${WEBKIT2_DIR}/Shared/glib" --- -2.11.1 - diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..f75d3fb --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Package was renamed to webkit2gtk3 diff --git a/fedora-crypto-policy.patch b/fedora-crypto-policy.patch deleted file mode 100644 index cb7c756..0000000 --- a/fedora-crypto-policy.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e583c6f7deb86406f7e0375c560503858f4831ca Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Sun, 19 Jun 2016 21:10:03 -0500 -Subject: [PATCH] https://fedoraproject.org/wiki/Packaging:CryptoPolicies - ---- - Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp | 2 +- - Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -index b282e16..ed8bbbd 100644 ---- a/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -+++ b/Source/WebKit2/NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp -@@ -39,7 +39,7 @@ int main(int argc, char** argv) - // overwrite this priority string if it's already set by the user. - // https://bugzilla.gnome.org/show_bug.cgi?id=738633 - // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); - - return NetworkProcessMainUnix(argc, argv); - } -diff --git a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -index 5f45d01..2b34ead 100644 ---- a/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -+++ b/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp -@@ -39,7 +39,7 @@ int main(int argc, char** argv) - // overwrite this priority string if it's already set by the user. - // https://bugzilla.gnome.org/show_bug.cgi?id=738633 - // WARNING: This needs to be KEPT IN SYNC with WebProcessMain.cpp. -- setenv("G_TLS_GNUTLS_PRIORITY", "NORMAL:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); -+ setenv("G_TLS_GNUTLS_PRIORITY", "@SYSTEM:%COMPAT:%LATEST_RECORD_VERSION:!VERS-SSL3.0:!ARCFOUR-128", 0); - - return WebProcessMainUnix(argc, argv); - } --- -2.7.4 - diff --git a/gcc7.patch b/gcc7.patch deleted file mode 100644 index 77f02ba..0000000 --- a/gcc7.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake ---- webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake.gcc7 2017-02-21 09:57:13.168916004 +0100 -+++ webkitgtk-2.15.90/Source/cmake/OptionsCommon.cmake 2017-02-21 09:58:12.811563156 +0100 -@@ -41,6 +41,8 @@ if (COMPILER_IS_GCC_OR_CLANG) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -fno-rtti") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-expansion-to-defined") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-expansion-to-defined") - endif () - - if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja") diff --git a/sources b/sources deleted file mode 100644 index 2ff2d3b..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (webkitgtk-2.15.90.tar.xz) = f06bbde9ed06fb7ba426629e130d2a1a9f9d137a864d5f6874f1a0c14dde043a51ffe9ea31f3be5252f852621ddcef5385f75f8624cdc2e1f357cd14c839a4cc diff --git a/webkitgtk-2.14.1-user-agent-branding.patch b/webkitgtk-2.14.1-user-agent-branding.patch deleted file mode 100644 index d2dbd86..0000000 --- a/webkitgtk-2.14.1-user-agent-branding.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp ---- webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp.orig 2016-10-12 07:59:25.670057792 +0200 -+++ webkitgtk-2.14.1/Source/WebCore/platform/gtk/UserAgentGtk.cpp 2016-10-12 08:01:06.251878684 +0200 -@@ -85,6 +85,9 @@ static String buildUserAgentString(const UserAgentQuirks& quirks) - else { - uaString.append(platformForUAString()); - uaString.appendLiteral("; "); -+#if defined(USER_AGENT_GTK_DISTRIBUTOR_NAME) -+ uaString.appendLiteral(USER_AGENT_GTK_DISTRIBUTOR_NAME "; "); -+#endif - uaString.append(platformVersionForUAString()); - } - diff --git a/webkitgtk4.spec b/webkitgtk4.spec deleted file mode 100644 index 3cc1819..0000000 --- a/webkitgtk4.spec +++ /dev/null @@ -1,655 +0,0 @@ -## NOTE: Lots of files in various subdirectories have the same name (such as -## "LICENSE") so this short macro allows us to distinguish them by using their -## directory names (from the source tree) as prefixes for the files. -%global add_to_license_files() \ - mkdir -p _license_files ; \ - cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') - -Name: webkitgtk4 -Version: 2.15.90 -Release: 2%{?dist} -Summary: GTK+ Web content engine library - -License: LGPLv2 -URL: http://www.webkitgtk.org/ -Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz - -# https://bugs.webkit.org/show_bug.cgi?id=162611 -Patch0: webkitgtk-2.14.1-user-agent-branding.patch -# https://fedoraproject.org/wiki/Packaging:CryptoPolicies -# https://bugs.webkit.org/show_bug.cgi?id=158785 -Patch1: fedora-crypto-policy.patch -# https://bugs.webkit.org/show_bug.cgi?id=167643 -Patch2: gcc7.patch -# https://bugs.webkit.org/show_bug.cgi?id=168699 -Patch3: 0001-GTK-Hangs-when-showing-Google-search-results.patch - -BuildRequires: at-spi2-core-devel -BuildRequires: bison -BuildRequires: cairo-devel -BuildRequires: cmake -BuildRequires: enchant-devel -BuildRequires: flex -BuildRequires: fontconfig-devel -BuildRequires: freetype-devel -BuildRequires: geoclue2-devel -BuildRequires: gettext -BuildRequires: glib2-devel -BuildRequires: gobject-introspection-devel -BuildRequires: gperf -BuildRequires: gstreamer1-devel -BuildRequires: gstreamer1-plugins-base-devel -BuildRequires: gtk2-devel -BuildRequires: gtk3-devel -BuildRequires: gtk-doc -BuildRequires: harfbuzz-devel -BuildRequires: libicu-devel -BuildRequires: libjpeg-devel -BuildRequires: libnotify-devel -BuildRequires: libpng-devel -BuildRequires: libsecret-devel -BuildRequires: libsoup-devel -BuildRequires: libwebp-devel -BuildRequires: libxslt-devel -BuildRequires: libXt-devel -BuildRequires: libwayland-client-devel -BuildRequires: libwayland-egl-devel -BuildRequires: libwayland-server-devel -BuildRequires: mesa-libGL-devel -BuildRequires: pcre-devel -BuildRequires: perl-Switch -BuildRequires: perl-JSON-PP -BuildRequires: ruby rubypick rubygems -BuildRequires: sqlite-devel -BuildRequires: hyphen-devel -BuildRequires: gnutls-devel -%ifarch ppc -BuildRequires: libatomic -%endif - -Requires: geoclue2 - -# Obsolete libwebkit2gtk from the webkitgtk3 package -Obsoletes: libwebkit2gtk < 2.5.0 -Provides: libwebkit2gtk = %{version}-%{release} - -# We're supposed to specify versions here, but these crap Google libs don't do -# normal releases. Accordingly, they're not suitable to be system libs. -Provides: bundled(angle) -Provides: bundled(brotli) -Provides: bundled(woff2) - -# Require the jsc subpackage -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} - -# Recommend the support for the GTK+ 2 based NPAPI plugins -Recommends: %{name}-plugin-process-gtk2%{?_isa} = %{version}-%{release} -Obsoletes: %{name} < 2.12.0-3 - -# Filter out provides for private libraries -%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ - -%description -WebKitGTK+ is the port of the portable web rendering engine WebKit to the -GTK+ platform. - -This package contains WebKitGTK+ for GTK+ 3. - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-jsc-devel%{?_isa} = %{version}-%{release} - -%description devel -The %{name}-devel package contains libraries, build data, and header -files for developing applications that use %{name}. - -%package doc -Summary: Documentation files for %{name} -BuildArch: noarch -Requires: %{name} = %{version}-%{release} - -%description doc -This package contains developer documentation for %{name}. - -%package jsc -Summary: JavaScript engine from %{name} - -%description jsc -This package contains JavaScript engine from %{name}. - -%package jsc-devel -Summary: Development files for JavaScript engine from %{name} -Requires: %{name}-jsc%{?_isa} = %{version}-%{release} - -%description jsc-devel -The %{name}-jsc-devel package contains libraries, build data, and header -files for developing applications that use JavaScript engine from %{name}. - -%package plugin-process-gtk2 -Summary: GTK+ 2 based NPAPI plugins support for %{name} -Obsoletes: %{name} < 2.12.0-3 - -%description plugin-process-gtk2 -Support for the GTK+ 2 based NPAPI plugins (such as Adobe Flash) for %{name}. - -%prep -%autosetup -p1 -n webkitgtk-%{version} - -# Remove bundled libraries -rm -rf Source/ThirdParty/gtest/ -rm -rf Source/ThirdParty/qunit/ - -%build -%ifarch s390 aarch64 -# Use linker flags to reduce memory consumption - on other arches the ld.gold is -# used and also it doesn't have the --reduce-memory-overheads option -%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -%endif - -# Decrease debuginfo even on ix86 because of: -# https://bugs.webkit.org/show_bug.cgi?id=140176 -%ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips} -# Decrease debuginfo verbosity to reduce memory consumption even more -%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif - -%ifarch ppc -# Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled -%global optflags %{optflags} -Wl,-relax -%endif - -%if 0%{?fedora} -%global optflags %{optflags} -DUSER_AGENT_GTK_DISTRIBUTOR_NAME=\'\\"Fedora\\"\' -%endif - -# Disable ld.gold on s390 as it does not have it. -# Also for aarch64 as the support is in upstream, but not packaged in Fedora. -mkdir -p %{_target_platform} -pushd %{_target_platform} -%cmake \ - -DPORT=GTK \ - -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_GTKDOC=ON \ - -DENABLE_MINIBROWSER=ON \ -%ifarch s390 aarch64 - -DUSE_LD_GOLD=OFF \ -%endif -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} - -DENABLE_JIT=OFF \ -%endif -%ifarch s390 s390x ppc %{power64} aarch64 %{mips} - -DUSE_SYSTEM_MALLOC=ON \ -%endif - .. -popd - -make %{?_smp_mflags} -C %{_target_platform} - -%install -%make_install -C %{_target_platform} - -%find_lang WebKit2GTK-4.0 - -# Finally, copy over and rename various files for %%license inclusion -%add_to_license_files Source/JavaScriptCore/COPYING.LIB -%add_to_license_files Source/JavaScriptCore/icu/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE -%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/murmurhash/LICENSE -%add_to_license_files Source/WebCore/icu/LICENSE -%add_to_license_files Source/WebCore/LICENSE-APPLE -%add_to_license_files Source/WebCore/LICENSE-LGPL-2 -%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 -%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE -%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE -%add_to_license_files Source/WTF/icu/LICENSE -%add_to_license_files Source/WTF/wtf/dtoa/COPYING -%add_to_license_files Source/WTF/wtf/dtoa/LICENSE - -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig -%post jsc -p /sbin/ldconfig -%postun jsc -p /sbin/ldconfig - -%files -f WebKit2GTK-4.0.lang -%license _license_files/*ThirdParty* -%license _license_files/*WebCore* -%license _license_files/*WebInspectorUI* -%license _license_files/*WTF* -%{_libdir}/libwebkit2gtk-4.0.so.* -%{_libdir}/girepository-1.0/WebKit2-4.0.typelib -%{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib -%{_libdir}/webkit2gtk-4.0/ -%{_libexecdir}/webkit2gtk-4.0/ -%exclude %{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 - -%files devel -%{_libexecdir}/webkit2gtk-4.0/MiniBrowser -%{_includedir}/webkitgtk-4.0/ -%exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore -%{_libdir}/libwebkit2gtk-4.0.so -%{_libdir}/pkgconfig/webkit2gtk-4.0.pc -%{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc -%{_datadir}/gir-1.0/WebKit2-4.0.gir -%{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir - -%files jsc -%license _license_files/*JavaScriptCore* -%{_libdir}/libjavascriptcoregtk-4.0.so.* -%{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib - -%files jsc-devel -%{_libexecdir}/webkit2gtk-4.0/jsc -%dir %{_includedir}/webkitgtk-4.0 -%{_includedir}/webkitgtk-4.0/JavaScriptCore/ -%{_libdir}/libjavascriptcoregtk-4.0.so -%{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc -%{_datadir}/gir-1.0/JavaScriptCore-4.0.gir - -%files plugin-process-gtk2 -%{_libexecdir}/webkit2gtk-4.0/WebKitPluginProcess2 - -%files doc -%dir %{_datadir}/gtk-doc -%dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/webkit2gtk-4.0/ -%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ - -%changelog -* Fri Feb 24 2017 Bastien Nocera - 2.15.90-2 -- Add patch to fix hangs when showing the Google search page - -* Tue Feb 21 2017 Tomas Popela - 2.15.90-1 -- Update to 2.15.90 - -* Tue Feb 07 2017 Tomas Popela - 2.15.4-4 -- Add patches to make Evolution usable again - rhbz#1418413 - -* Thu Feb 02 2017 Tomas Popela - 2.15.4-3 -- Push gcc7 fixes, only buildable with gcc-7.0.1-0.5.fc26 and higher - -* Wed Feb 01 2017 Sandro Mani - 2.15.4-2 -- Rebuild (libwebp) - -* Tue Jan 31 2017 Tomas Popela - 2.15.4-1 -- Update to 2.15.4 - -* Mon Jan 23 2017 Tomas Popela - 2.15.3-1 -- Update to 2.15.3 - -* Mon Nov 21 2016 Tomas Popela - 2.15.2-1 -- Update to 2.15.2 - -* Wed Oct 26 2016 Tomas Popela - 2.15.1-1 -- Update to 2.15.1 - -* Wed Oct 12 2016 Adam Jackson - 2.14.1-2 -- Prefer eglGetPlatformDisplay to eglGetDisplay - -* Wed Oct 12 2016 Tomas Popela - 2.14.1-1 -- Update to 2.14.1 - -* Tue Sep 20 2016 Tomas Popela - 2.14.0-1 -- Update to 2.14.0 - -* Thu Sep 15 2016 Tomas Popela - 2.13.92-1 -- Update to 2.13.92 - -* Mon Sep 12 2016 Tomas Popela - 2.13.91-1 -- Update to 2.13.91 - -* Wed Aug 31 2016 Tomas Popela - 2.13.90-1 -- Update to 2.13.90 - -* Wed Jul 27 2016 Tomas Popela - 2.13.4-1 -- Update to 2.13.4 - -* Mon Jul 18 2016 Tomas Popela - 2.13.3-1 -- Update to 2.13.3 -- Enable JIT on ARMv7 - -* Fri Jul 08 2016 Tomas Popela - 2.13.2-4 -- Remove the wrong patch for THUMB2 support - -* Tue Jun 28 2016 Michael Catanzaro - 2.13.2-3 -- Disable NPAPI in Wayland -- Specify more bundled provides -- Again disable JIT on ARMv7 until rhbz#1350982 is fixed - -* Tue Jun 28 2016 Tomas Popela - 2.13.2-2 -- Enable JIT and BMalloc on ARMv7 - -* Thu Jun 23 2016 Tomas Popela - 2.13.2-1 -- Update to 2.13.2 -- Disable JIT on ARM until https://bugs.webkit.org/show_bug.cgi?id=159083 is fixed - -* Sun Jun 19 2016 Michael Catanzaro - 2.13.1-2 -- Add patch to comply with Fedora crypto policy - -* Tue May 31 2016 Tomas Popela - 2.13.1-1 -- Update to 2.13.1 - -* Tue May 24 2016 Tomas Popela - 2.12.3-1 -- Update to 2.12.3 - -* Fri Apr 29 2016 Igor Gnatenko - 2.12.2-2 -- Remove typelib from jsc-devel because it is in jsc - -* Thu Apr 28 2016 Tomas Popela - 2.12.2-1 -- Update to 2.12.2 - -* Tue Apr 26 2016 Tomas Popela - 2.12.1-3 -- Fix the build on aarch64 - disable bmalloc as it's crashing when generating - the documentation - -* Fri Apr 15 2016 David Tardon - 2.12.1-2 -- rebuild for ICU 57.1 - -* Thu Apr 14 2016 Tomas Popela - 2.12.1-1 -- Update to 2.12.1 - -* Thu Apr 07 2016 Michael Catanzaro - 2.12.0-3 -- Attempt harder to ensure plugin-process-gtk2 is installed on upgrade - -* Wed Apr 06 2016 Michael Catanzaro - 2.12.0-2 -- Attempt to ensure plugin-process-gtk2 is installed on upgrade -- Add patch for WebKit#155885 - -* Tue Mar 22 2016 Tomas Popela - 2.12.0-1 -- Update to 2.12.0 - -* Sun Mar 20 2016 Igor Gnatenko - 2.11.92-3 -- Add missing ldconfig call for jsc subpkg - -* Thu Mar 17 2016 Tomas Popela - 2.11.92-2 -- Fix the build with gcc6 - -* Thu Mar 17 2016 Tomas Popela - 2.11.92-1 -- Update to 2.11.92 - -* Tue Mar 15 2016 Tomas Popela - 2.11.91-2 -- Subpackage the WebKitPluginProcess2 -- Resolves: rhbz#1317692 - -* Tue Mar 01 2016 Tomas Popela - 2.11.91-1 -- Update to 2.11.91 - -* Mon Feb 29 2016 David King - 2.11.90-4 -- Move JavaScriptCore headers to jsc-devel subpackage (#1312894) - -* Wed Feb 24 2016 Michael Catanzaro - 2.11.90-3 -- Stop building with ENABLE_OPENGL=OFF, see WebKit#126122 and WebKit#150955. - -* Mon Feb 22 2016 Tomas Popela - 2.11.90-1 -- Update to 2.11.90 - -* Tue Feb 9 2016 Peter Robinson 2.11.5-2 -- Add ruby deps for build - -* Tue Feb 09 2016 Tomas Popela - 2.11.5-1 -- Update to 2.11.5 -- Drop the llvm dependencies as we switched to B3 -- Rebase the YouTube patch - -* Fri Feb 05 2016 Fedora Release Engineering - 2.11.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jan 28 2016 Tomas Popela - 2.11.4-2 -- Rebuilt for LLVM rebase - -* Wed Jan 20 2016 Tomas Popela - 2.11.4-1 -- Update to 2.11.4 - -* Wed Jan 13 2016 Michael Catanzaro - 2.11.3-2 -- Build with ENABLE_OPENGL=OFF as I think it is causing bugs. -- Stop static linking to LLVM. - -* Wed Jan 13 2016 Tomas Popela - 2.11.3-1 -- Update to 2.11.3 - -* Wed Dec 30 2015 Michael Catanzaro - 2.11.2-6 -- Remove webkitgtk-2.5.90-cloop_fix.patch and - webkitgtk-2.8.0-page_size_align.patch. These have been broken for ages. -- Remove webkitgtk-2.8.0-s390_fixes.patch since this is a patch for bmalloc, but - we disable bmalloc on s390. -- Don't request hardened build, it's the default. -- Use public USE_SYSTEM_MALLOC option instead of unsupported USE_BMALLOC. -- lldb is not bundled anymore. - -* Wed Dec 30 2015 Michal Toman - 2.11.2-5 -- Add support for MIPS - -* Mon Dec 28 2015 Igor Gnatenko - 2.11.2-4 -- Rebuilt for libwebp soname bump - -* Mon Dec 07 2015 Tomas Popela - 2.11.2-3 -- rhbz#1289053 - Retire nspluginwrapper and remove from Fedora 24 - -* Mon Nov 30 2015 Tomas Popela - 2.11.2-2 -- Introduce the jsc and jsc-devel subpackages with JavaScriptCore packaged -- Resolves: rhbz#1176677 - -* Mon Nov 23 2015 Tomas Popela - 2.11.2-1 -- Update to 2.11.2 -- Enable FTL on x86_64 - -* Tue Nov 03 2015 Tomas Popela - 2.11.1-1 -- Update to 2.11.1 - -* Wed Oct 28 2015 David Tardon - 2.10.3-2 -- rebuild for ICU 56.1 - -* Tue Oct 27 2015 Tomas Popela - 2.10.3-1 -- Update to 2.10.3 - -* Thu Oct 15 2015 Tomas Popela - 2.10.2-1 -- Update to 2.10.2 - -* Thu Oct 15 2015 Kalev Lember - 2.10.1-2 -- Rebuilt - -* Wed Oct 14 2015 Tomas Popela - 2.10.1-1 -- Update to 2.10.1 - -* Fri Oct 09 2015 Michael Catanzaro - 2.10.0-2 -- Add provides bundled(angle) since it's finally safe to do so. - -* Mon Sep 21 2015 Kalev Lember - 2.10.0-1 -- Update to 2.10.0 - -* Wed Sep 16 2015 Tomas Popela - 2.9.92-1 -- Update to 2.9.92 - -* Wed Aug 26 2015 Kalev Lember - 2.9.91-1 -- Update to 2.9.91 - -* Mon Aug 24 2015 Michael Catanzaro - 2.9.90-2 -- Remove the address space limit patch: it was causing too many problems. -- (Warning! This means Red Hat Bugzilla can hang your computer again.) -- Improve the YouTube patch to avoid spamming the journal with rpm output. -- Add patch from upstream to workaround severe a performance regression. -- No need to explicitly enable Wayland support anymore; it's now default. - -* Wed Aug 19 2015 Kalev Lember - 2.9.90-1 -- Update to 2.9.90 - -* Mon Aug 03 2015 Tomas Popela - 2.9.5-1 -- Update to 2.9.5 - -* Sat Aug 01 2015 Michael Catanzaro - 2.9.4-3 -- Make YouTube work. - -* Tue Jul 28 2015 Michael Catanzaro - 2.9.4-2 -- Exempt the plugin process from the address space limit. - -* Wed Jul 22 2015 Tomas Popela - 2.9.4-1 -- Update to 2.9.4 - -* Thu Jul 09 2015 Michael Catanzaro - 2.9.3-3 -- Prevent runaway web processes from using unlimited memory. - -* Wed Jul 01 2015 Michael Catanzaro - 2.9.3-2 -- Enable Wayland support at long last. Hopefully fixes #1220811. - -* Tue Jun 23 2015 Tomas Popela - 2.9.3-1 -- Update to 2.9.3 - -* Fri Jun 19 2015 Fedora Release Engineering - 2.9.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed May 27 2015 Tomas Popela - 2.9.2-1 -- Update to 2.9.2 - -* Thu May 07 2015 Tomas Popela - 2.9.1-1 -- Update to 2.9.1 -- Add hyphen-devel as BR - -* Tue Apr 21 2015 Michael Catanzaro - 2.8.1-2 -- Reenable fast matrix multiplication on x86_64 - -* Tue Apr 14 2015 Tomas Popela - 2.8.1-1 -- Update to 2.8.1 - -* Wed Apr 08 2015 Michael Catanzaro - 2.8.0-4 -- Build with support for HTML5 desktop notifications - -* Wed Apr 08 2015 Tomas Popela - 2.8.0-3 -- Fix CLoop on secondary arches - -* Fri Mar 27 2015 Than Ngo - 2.8.0-2 -- Fix build failures on s390 -- Fix build failures with gcc 5 -- Decrease the debuginfo verbosity on ppc and others - -* Mon Mar 23 2015 Tomas Popela - 2.8.0-1 -- Update to 2.8.0 - -* Tue Mar 17 2015 Tomas Popela - 2.7.92-1 -- Update to 2.7.92 -- Re-enable parallel build -- Compile and ship MiniBrowser - -* Mon Mar 16 2015 Michael Catanzaro 2.7.91-3 -- Add a couple patches to fix more crashes - -* Wed Mar 04 2015 Michael Catanzaro 2.7.91-2 -- Add patch to make gnome-online-accounts 3.15.91 not crash - -* Tue Mar 03 2015 Tomas Popela - 2.7.91-1 -- Update to 2.7.91 - -* Thu Feb 26 2015 Michael Catanzaro - 2.7.90-10 -- Add Fedora branding to the user agent - -* Thu Feb 19 2015 Tomas Popela - 2.7.90-9 -- Fix the build with cmake 3.2.x - -* Thu Feb 19 2015 Tomas Popela - 2.7.90-8 -- Fix crash in CLoop -- Forgot to reset the release number so continuing with 8 -- Decrease the debuginfo verbosity on s390x - -* Wed Feb 18 2015 Tomas Popela - 2.7.90-7 -- Update to 2.7.90 -- Add JIT and CLoop fixes - -* Mon Feb 16 2015 Michael Catanzaro - 2.7.4-7 -- Remove disable codec installer patch, not needed in GNOME 3.15.90 - -* Tue Feb 10 2015 Michael Catanzaro - 2.7.4-6 -- Temporarily disable cloop patch since it breaks js -- Add patch for gmutexlocker namespace collision with glib 2.43.4 - -* Fri Feb 06 2015 Michael Catanzaro - 2.7.4-5 -- Revert yesterday's changes since they don't help. - -* Thu Feb 05 2015 Michael Catanzaro - 2.7.4-4 -- Disable JIT to see if it fixes js. - -* Thu Feb 05 2015 Michael Catanzaro - 2.7.4-3 -- Disable hardened build to see if it fixes js - -* Mon Jan 26 2015 David Tardon - 2.7.4-2 -- rebuild for ICU 54.1 - -* Tue Jan 20 2015 Tomas Popela - 2.7.4-1 -- Update to 2.7.4 - -* Mon Jan 19 2015 Tomas Popela - 2.7.3-3 -- Fix compilation on secondary arches - -* Thu Jan 08 2015 Tomas Popela - 2.7.3-2 -- Decrease debuginfo verbosity on ix86 to let it build - -* Tue Dec 16 2014 Tomas Popela - 2.7.3-1 -- Update to 2.7.3 - -* Tue Dec 09 2014 Michael Catanzaro - 2.7.2-3 -- Disable the PackageKit codec installer - -* Sun Dec 07 2014 Michael Catanzaro - 2.7.2-2 -- Enable hardened build - -* Mon Nov 24 2014 Tomas Popela - 2.7.2-1 -- Update to 2.7.2 -- Don't use ld.gold on s390 and aarch64 - -* Wed Nov 12 2014 Tomas Popela - 2.7.1-5 -- Enable JIT where possible (accidentally turned off when updating to 2.5.90) - -* Fri Nov 07 2014 Kalev Lember - 2.7.1-4 -- Build developer documentation - -* Fri Oct 31 2014 Michael Catanzaro - 2.7.1-3 -- Obsolete libwebkit2gtk < 2.5.0 to be future-proof - -* Fri Oct 31 2014 Kalev Lember - 2.7.1-2 -- Bump libwebkit2gtk obsoletes version - -* Wed Oct 29 2014 Tomas Popela - 2.7.1-1 -- Update to 2.7.1 - -* Wed Oct 22 2014 Tomas Popela - 2.6.2-1 -- Update to 2.6.2 - -* Tue Oct 21 2014 Tomas Popela - 2.6.1-2 -- Disable the SSLv3 to address the POODLE vulnerability - -* Tue Oct 14 2014 Tomas Popela - 2.6.1-1 -- Update to 2.6.1 - -* Thu Sep 25 2014 Tomas Popela - 2.6.0-1 -- Add the wrongly removed CLoop patch and remove the one that was upstreamed - -* Wed Sep 24 2014 Kalev Lember - 2.6.0-1 -- Update to 2.6.0 - -* Mon Sep 22 2014 Tomas Popela - 2.5.90-1 -- Update to 2.5.90 - -* Tue Aug 26 2014 Kalev Lember - 2.5.3-7 -- Obsolete libwebkit2gtk from the webkitgtk3 package - -* Tue Aug 26 2014 David Tardon - 2.5.3-6 -- rebuild for ICU 53.1 - -* Mon Aug 25 2014 Tomas Popela - 2.5.3-5 -- Add support for secondary arches - -* Fri Aug 22 2014 Michael Catanzaro - 2.5.3-4 -- Add webkitgtk-2.5.3-toggle-buttons.patch - -* Thu Aug 21 2014 Kalev Lember - 2.5.3-3 -- More package review fixes (#1131284) -- Correct the license tag to read LGPLv2 -- Filter out provides for private libraries - -* Tue Aug 19 2014 Kalev Lember - 2.5.3-2 -- Remove bundled leveldb, gtest, qunit in %%prep (#1131284) - -* Fri Aug 15 2014 Kalev Lember - 2.5.3-1 -- Update to 2.5.3 - -* Fri Aug 01 2014 Kalev Lember - 2.5.1-1 -- Initial Fedora packaging, based on the webkitgtk3 package