Compare commits
52 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
256d15f664 | ||
|
|
03f6a2b2a6 | ||
|
|
ed730dc62d | ||
|
|
4cd57b35c6 | ||
|
|
6fef8df7e0 | ||
| b2c4344b8a | |||
|
|
87938f22d0 | ||
|
|
903c50089b | ||
|
|
d514a8e303 | ||
|
|
1e50340e23 | ||
|
|
3c86d3a40a | ||
|
|
1b94869d1b | ||
|
|
465ca38ebe | ||
|
|
8f1c976234 | ||
|
|
735ef250a3 | ||
|
|
9f6f6e7617 | ||
|
|
9c5df2c6b5 | ||
|
|
912491272f | ||
|
|
215dc52413 | ||
|
|
0987868e44 | ||
|
|
0d98b2f496 | ||
|
|
524bbde06b | ||
|
|
5cb6048bb7 | ||
|
|
8c528317d9 | ||
|
|
c4e47114bb | ||
|
|
836c7e33f5 | ||
|
|
f3e6fa7795 | ||
|
|
bcb93fa2b3 | ||
|
|
09677f6049 | ||
|
|
22bb3816ca | ||
|
|
cf7fc828d1 | ||
|
|
78d867a7c3 | ||
|
|
48f41182c3 | ||
|
|
d6ca44dda9 | ||
|
|
37c684a2a2 | ||
|
|
e9d5b2e8ca | ||
|
|
fedeb167b3 | ||
|
|
27eaaaa205 | ||
|
|
c5f5b3a966 | ||
|
|
214df592e5 | ||
|
|
f93ef446ca | ||
|
|
ca6f0d7140 | ||
|
|
2a9683ba70 | ||
|
|
c24eeac162 | ||
|
|
1c1d5ef171 | ||
|
|
e0b63c1539 | ||
|
|
760c3fb60e | ||
|
|
04714da99b | ||
|
|
e8f4b0235c | ||
|
|
ba406e12bd | ||
|
|
c1ad2a110f | ||
|
|
0627c6c7ad |
8 changed files with 1 additions and 1362 deletions
53
.gitignore
vendored
53
.gitignore
vendored
|
|
@ -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
|
||||
|
|
@ -1,589 +0,0 @@
|
|||
From 7e013c8c5ff959cd71a939a4795ef7dfc18a51f1 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garcia Campos <cgarcia@igalia.com>
|
||||
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<Connection> {
|
||||
public:
|
||||
@@ -308,12 +309,16 @@ private:
|
||||
// Called on the connection queue.
|
||||
void readyReadHandler();
|
||||
bool processMessage();
|
||||
+ bool sendOutputMessage(UnixMessage&);
|
||||
|
||||
Vector<uint8_t> m_readBuffer;
|
||||
Vector<int> m_fileDescriptors;
|
||||
int m_socketDescriptor;
|
||||
+ std::unique_ptr<UnixMessage> m_pendingOutputMessage;
|
||||
#if PLATFORM(GTK)
|
||||
- GSocketMonitor m_socketMonitor;
|
||||
+ GRefPtr<GSocket> 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<gboolean (GIOCondition)>&& callback)
|
||||
+void GSocketMonitor::start(GSocket* socket, GIOCondition condition, RunLoop& runLoop, Function<gboolean (GIOCondition)>&& 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<gboolean (GIOCondition)>&&);
|
||||
+ void start(GSocket*, GIOCondition, RunLoop&, Function<gboolean (GIOCondition)>&&);
|
||||
void stop();
|
||||
|
||||
private:
|
||||
@@ -51,7 +51,7 @@ private:
|
||||
|
||||
GRefPtr<GSource> m_source;
|
||||
GRefPtr<GCancellable> m_cancellable;
|
||||
- std::function<gboolean (GIOCondition)> m_callback;
|
||||
+ Function<gboolean (GIOCondition)> 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 <sys/socket.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
@@ -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<uint8_t*>(oolMessageBody->data());
|
||||
|
||||
auto decoder = std::make_unique<Decoder>(messageBody, messageInfo.bodySize(), nullptr, WTFMove(attachments));
|
||||
@@ -365,8 +332,7 @@ bool Connection::open()
|
||||
RefPtr<Connection> protectedThis(this);
|
||||
m_isConnected = true;
|
||||
#if PLATFORM(GTK)
|
||||
- GRefPtr<GSocket> 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> encoder)
|
||||
{
|
||||
COMPILE_ASSERT(sizeof(MessageInfo) + attachmentMaxAmount * sizeof(size_t) <= messageMaxSize, AttachmentsFitToMessageInline);
|
||||
|
||||
- Vector<Attachment> 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<WebKit::SharedMemory> oolMessageBody = WebKit::SharedMemory::allocate(encoder->bufferSize());
|
||||
if (!oolMessageBody)
|
||||
return false;
|
||||
@@ -416,13 +381,21 @@ bool Connection::sendOutgoingMessage(std::unique_ptr<Encoder> 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> encoder)
|
||||
std::unique_ptr<AttachmentInfo[]> attachmentInfo;
|
||||
MallocPtr<char> attachmentFDBuffer;
|
||||
|
||||
+ auto& attachments = outputMessage.attachments();
|
||||
if (!attachments.isEmpty()) {
|
||||
int* fdPtr = 0;
|
||||
|
||||
@@ -488,9 +462,9 @@ bool Connection::sendOutgoingMessage(std::unique_ptr<Encoder> encoder)
|
||||
++iovLength;
|
||||
}
|
||||
|
||||
- if (!messageInfo.isMessageBodyIsOutOfLine() && encoder->bufferSize()) {
|
||||
- iov[iovLength].iov_base = reinterpret_cast<void*>(encoder->buffer());
|
||||
- iov[iovLength].iov_len = encoder->bufferSize();
|
||||
+ if (!messageInfo.isBodyOutOfLine() && outputMessage.bodySize()) {
|
||||
+ iov[iovLength].iov_base = reinterpret_cast<void*>(outputMessage.body());
|
||||
+ iov[iovLength].iov_len = outputMessage.bodySize();
|
||||
++iovLength;
|
||||
}
|
||||
|
||||
@@ -500,6 +474,25 @@ bool Connection::sendOutgoingMessage(std::unique_ptr<Encoder> encoder)
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
||||
+#if PLATFORM(GTK)
|
||||
+ m_pendingOutputMessage = std::make_unique<UnixMessage>(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> 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 <wtf/Vector.h>
|
||||
+
|
||||
+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<uint8_t*>(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<Attachment>& 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<Attachment> 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
|
||||
|
||||
1
dead.package
Normal file
1
dead.package
Normal file
|
|
@ -0,0 +1 @@
|
|||
Package was renamed to webkit2gtk3
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From e583c6f7deb86406f7e0375c560503858f4831ca Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@igalia.com>
|
||||
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
|
||||
|
||||
12
gcc7.patch
12
gcc7.patch
|
|
@ -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")
|
||||
1
sources
1
sources
|
|
@ -1 +0,0 @@
|
|||
SHA512 (webkitgtk-2.15.90.tar.xz) = f06bbde9ed06fb7ba426629e130d2a1a9f9d137a864d5f6874f1a0c14dde043a51ffe9ea31f3be5252f852621ddcef5385f75f8624cdc2e1f357cd14c839a4cc
|
||||
|
|
@ -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());
|
||||
}
|
||||
|
||||
655
webkitgtk4.spec
655
webkitgtk4.spec
|
|
@ -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 <bnocera@redhat.com> - 2.15.90-2
|
||||
- Add patch to fix hangs when showing the Google search page
|
||||
|
||||
* Tue Feb 21 2017 Tomas Popela <tpopela@redhat.com> - 2.15.90-1
|
||||
- Update to 2.15.90
|
||||
|
||||
* Tue Feb 07 2017 Tomas Popela <tpopela@redhat.com> - 2.15.4-4
|
||||
- Add patches to make Evolution usable again - rhbz#1418413
|
||||
|
||||
* Thu Feb 02 2017 Tomas Popela <tpopela@redhat.com> - 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 <manisandro@gmail.com> - 2.15.4-2
|
||||
- Rebuild (libwebp)
|
||||
|
||||
* Tue Jan 31 2017 Tomas Popela <tpopela@redhat.com> - 2.15.4-1
|
||||
- Update to 2.15.4
|
||||
|
||||
* Mon Jan 23 2017 Tomas Popela <tpopela@redhat.com> - 2.15.3-1
|
||||
- Update to 2.15.3
|
||||
|
||||
* Mon Nov 21 2016 Tomas Popela <tpopela@redhat.com> - 2.15.2-1
|
||||
- Update to 2.15.2
|
||||
|
||||
* Wed Oct 26 2016 Tomas Popela <tpopela@redhat.com> - 2.15.1-1
|
||||
- Update to 2.15.1
|
||||
|
||||
* Wed Oct 12 2016 Adam Jackson <ajax@redhat.com> - 2.14.1-2
|
||||
- Prefer eglGetPlatformDisplay to eglGetDisplay
|
||||
|
||||
* Wed Oct 12 2016 Tomas Popela <tpopela@redhat.com> - 2.14.1-1
|
||||
- Update to 2.14.1
|
||||
|
||||
* Tue Sep 20 2016 Tomas Popela <tpopela@redhat.com> - 2.14.0-1
|
||||
- Update to 2.14.0
|
||||
|
||||
* Thu Sep 15 2016 Tomas Popela <tpopela@redhat.com> - 2.13.92-1
|
||||
- Update to 2.13.92
|
||||
|
||||
* Mon Sep 12 2016 Tomas Popela <tpopela@redhat.com> - 2.13.91-1
|
||||
- Update to 2.13.91
|
||||
|
||||
* Wed Aug 31 2016 Tomas Popela <tpopela@redhat.com> - 2.13.90-1
|
||||
- Update to 2.13.90
|
||||
|
||||
* Wed Jul 27 2016 Tomas Popela <tpopela@redhat.com> - 2.13.4-1
|
||||
- Update to 2.13.4
|
||||
|
||||
* Mon Jul 18 2016 Tomas Popela <tpopela@redhat.com> - 2.13.3-1
|
||||
- Update to 2.13.3
|
||||
- Enable JIT on ARMv7
|
||||
|
||||
* Fri Jul 08 2016 Tomas Popela <tpopela@redhat.com> - 2.13.2-4
|
||||
- Remove the wrong patch for THUMB2 support
|
||||
|
||||
* Tue Jun 28 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 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 <tpopela@redhat.com> - 2.13.2-2
|
||||
- Enable JIT and BMalloc on ARMv7
|
||||
|
||||
* Thu Jun 23 2016 Tomas Popela <tpopela@redhat.com> - 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 <mcatanzaro@igalia.com> - 2.13.1-2
|
||||
- Add patch to comply with Fedora crypto policy
|
||||
|
||||
* Tue May 31 2016 Tomas Popela <tpopela@redhat.com> - 2.13.1-1
|
||||
- Update to 2.13.1
|
||||
|
||||
* Tue May 24 2016 Tomas Popela <tpopela@redhat.com> - 2.12.3-1
|
||||
- Update to 2.12.3
|
||||
|
||||
* Fri Apr 29 2016 Igor Gnatenko <ignatenko@redhat.com> - 2.12.2-2
|
||||
- Remove typelib from jsc-devel because it is in jsc
|
||||
|
||||
* Thu Apr 28 2016 Tomas Popela <tpopela@redhat.com> - 2.12.2-1
|
||||
- Update to 2.12.2
|
||||
|
||||
* Tue Apr 26 2016 Tomas Popela <tpopela@redhat.com> - 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 <dtardon@redhat.com> - 2.12.1-2
|
||||
- rebuild for ICU 57.1
|
||||
|
||||
* Thu Apr 14 2016 Tomas Popela <tpopela@redhat.com> - 2.12.1-1
|
||||
- Update to 2.12.1
|
||||
|
||||
* Thu Apr 07 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.12.0-3
|
||||
- Attempt harder to ensure plugin-process-gtk2 is installed on upgrade
|
||||
|
||||
* Wed Apr 06 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 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 <tpopela@redhat.com> - 2.12.0-1
|
||||
- Update to 2.12.0
|
||||
|
||||
* Sun Mar 20 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 2.11.92-3
|
||||
- Add missing ldconfig call for jsc subpkg
|
||||
|
||||
* Thu Mar 17 2016 Tomas Popela <tpopela@redhat.com> - 2.11.92-2
|
||||
- Fix the build with gcc6
|
||||
|
||||
* Thu Mar 17 2016 Tomas Popela <tpopela@redhat.com> - 2.11.92-1
|
||||
- Update to 2.11.92
|
||||
|
||||
* Tue Mar 15 2016 Tomas Popela <tpopela@redhat.com> - 2.11.91-2
|
||||
- Subpackage the WebKitPluginProcess2
|
||||
- Resolves: rhbz#1317692
|
||||
|
||||
* Tue Mar 01 2016 Tomas Popela <tpopela@redhat.com> - 2.11.91-1
|
||||
- Update to 2.11.91
|
||||
|
||||
* Mon Feb 29 2016 David King <amigadave@amigadave.com> - 2.11.90-4
|
||||
- Move JavaScriptCore headers to jsc-devel subpackage (#1312894)
|
||||
|
||||
* Wed Feb 24 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 2.11.90-3
|
||||
- Stop building with ENABLE_OPENGL=OFF, see WebKit#126122 and WebKit#150955.
|
||||
|
||||
* Mon Feb 22 2016 Tomas Popela <tpopela@redhat.com> - 2.11.90-1
|
||||
- Update to 2.11.90
|
||||
|
||||
* Tue Feb 9 2016 Peter Robinson <pbrobinson@fedoraproject.org> 2.11.5-2
|
||||
- Add ruby deps for build
|
||||
|
||||
* Tue Feb 09 2016 Tomas Popela <tpopela@redhat.com> - 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 <releng@fedoraproject.org> - 2.11.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Jan 28 2016 Tomas Popela <tpopela@redhat.com> - 2.11.4-2
|
||||
- Rebuilt for LLVM rebase
|
||||
|
||||
* Wed Jan 20 2016 Tomas Popela <tpopela@redhat.com> - 2.11.4-1
|
||||
- Update to 2.11.4
|
||||
|
||||
* Wed Jan 13 2016 Michael Catanzaro <mcatanzaro@igalia.com> - 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 <tpopela@redhat.com> - 2.11.3-1
|
||||
- Update to 2.11.3
|
||||
|
||||
* Wed Dec 30 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 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 <mtoman@fedoraproject.org> - 2.11.2-5
|
||||
- Add support for MIPS
|
||||
|
||||
* Mon Dec 28 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 2.11.2-4
|
||||
- Rebuilt for libwebp soname bump
|
||||
|
||||
* Mon Dec 07 2015 Tomas Popela <tpopela@redhat.com> - 2.11.2-3
|
||||
- rhbz#1289053 - Retire nspluginwrapper and remove from Fedora 24
|
||||
|
||||
* Mon Nov 30 2015 Tomas Popela <tpopela@redhat.com> - 2.11.2-2
|
||||
- Introduce the jsc and jsc-devel subpackages with JavaScriptCore packaged
|
||||
- Resolves: rhbz#1176677
|
||||
|
||||
* Mon Nov 23 2015 Tomas Popela <tpopela@redhat.com> - 2.11.2-1
|
||||
- Update to 2.11.2
|
||||
- Enable FTL on x86_64
|
||||
|
||||
* Tue Nov 03 2015 Tomas Popela <tpopela@redhat.com> - 2.11.1-1
|
||||
- Update to 2.11.1
|
||||
|
||||
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 2.10.3-2
|
||||
- rebuild for ICU 56.1
|
||||
|
||||
* Tue Oct 27 2015 Tomas Popela <tpopela@redhat.com> - 2.10.3-1
|
||||
- Update to 2.10.3
|
||||
|
||||
* Thu Oct 15 2015 Tomas Popela <tpopela@redhat.com> - 2.10.2-1
|
||||
- Update to 2.10.2
|
||||
|
||||
* Thu Oct 15 2015 Kalev Lember <klember@redhat.com> - 2.10.1-2
|
||||
- Rebuilt
|
||||
|
||||
* Wed Oct 14 2015 Tomas Popela <tpopela@redhat.com> - 2.10.1-1
|
||||
- Update to 2.10.1
|
||||
|
||||
* Fri Oct 09 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.10.0-2
|
||||
- Add provides bundled(angle) since it's finally safe to do so.
|
||||
|
||||
* Mon Sep 21 2015 Kalev Lember <klember@redhat.com> - 2.10.0-1
|
||||
- Update to 2.10.0
|
||||
|
||||
* Wed Sep 16 2015 Tomas Popela <tpopela@redhat.com> - 2.9.92-1
|
||||
- Update to 2.9.92
|
||||
|
||||
* Wed Aug 26 2015 Kalev Lember <klember@redhat.com> - 2.9.91-1
|
||||
- Update to 2.9.91
|
||||
|
||||
* Mon Aug 24 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 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 <klember@redhat.com> - 2.9.90-1
|
||||
- Update to 2.9.90
|
||||
|
||||
* Mon Aug 03 2015 Tomas Popela <tpopela@redhat.com> - 2.9.5-1
|
||||
- Update to 2.9.5
|
||||
|
||||
* Sat Aug 01 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.4-3
|
||||
- Make YouTube work.
|
||||
|
||||
* Tue Jul 28 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.4-2
|
||||
- Exempt the plugin process from the address space limit.
|
||||
|
||||
* Wed Jul 22 2015 Tomas Popela <tpopela@redhat.com> - 2.9.4-1
|
||||
- Update to 2.9.4
|
||||
|
||||
* Thu Jul 09 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.3-3
|
||||
- Prevent runaway web processes from using unlimited memory.
|
||||
|
||||
* Wed Jul 01 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.9.3-2
|
||||
- Enable Wayland support at long last. Hopefully fixes #1220811.
|
||||
|
||||
* Tue Jun 23 2015 Tomas Popela <tpopela@redhat.com> - 2.9.3-1
|
||||
- Update to 2.9.3
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Wed May 27 2015 Tomas Popela <tpopela@redhat.com> - 2.9.2-1
|
||||
- Update to 2.9.2
|
||||
|
||||
* Thu May 07 2015 Tomas Popela <tpopela@redhat.com> - 2.9.1-1
|
||||
- Update to 2.9.1
|
||||
- Add hyphen-devel as BR
|
||||
|
||||
* Tue Apr 21 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.1-2
|
||||
- Reenable fast matrix multiplication on x86_64
|
||||
|
||||
* Tue Apr 14 2015 Tomas Popela <tpopela@redhat.com> - 2.8.1-1
|
||||
- Update to 2.8.1
|
||||
|
||||
* Wed Apr 08 2015 Michael Catanzaro <mcatanzaro@igalia.com> - 2.8.0-4
|
||||
- Build with support for HTML5 desktop notifications
|
||||
|
||||
* Wed Apr 08 2015 Tomas Popela <tpopela@redhat.com> - 2.8.0-3
|
||||
- Fix CLoop on secondary arches
|
||||
|
||||
* Fri Mar 27 2015 Than Ngo <than@redhat.com> - 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 <tpopela@redhat.com> - 2.8.0-1
|
||||
- Update to 2.8.0
|
||||
|
||||
* Tue Mar 17 2015 Tomas Popela <tpopela@redhat.com> - 2.7.92-1
|
||||
- Update to 2.7.92
|
||||
- Re-enable parallel build
|
||||
- Compile and ship MiniBrowser
|
||||
|
||||
* Mon Mar 16 2015 Michael Catanzaro <mcatanzaro@gnome.org> 2.7.91-3
|
||||
- Add a couple patches to fix more crashes
|
||||
|
||||
* Wed Mar 04 2015 Michael Catanzaro <mcatanzaro@gnome.org> 2.7.91-2
|
||||
- Add patch to make gnome-online-accounts 3.15.91 not crash
|
||||
|
||||
* Tue Mar 03 2015 Tomas Popela <tpopela@redhat.com> - 2.7.91-1
|
||||
- Update to 2.7.91
|
||||
|
||||
* Thu Feb 26 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.90-10
|
||||
- Add Fedora branding to the user agent
|
||||
|
||||
* Thu Feb 19 2015 Tomas Popela <tpopela@redhat.com> - 2.7.90-9
|
||||
- Fix the build with cmake 3.2.x
|
||||
|
||||
* Thu Feb 19 2015 Tomas Popela <tpopela@redhat.com> - 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 <tpopela@redhat.com> - 2.7.90-7
|
||||
- Update to 2.7.90
|
||||
- Add JIT and CLoop fixes
|
||||
|
||||
* Mon Feb 16 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.4-7
|
||||
- Remove disable codec installer patch, not needed in GNOME 3.15.90
|
||||
|
||||
* Tue Feb 10 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 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 <mcatanzaro@gnome.org> - 2.7.4-5
|
||||
- Revert yesterday's changes since they don't help.
|
||||
|
||||
* Thu Feb 05 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.4-4
|
||||
- Disable JIT to see if it fixes js.
|
||||
|
||||
* Thu Feb 05 2015 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.4-3
|
||||
- Disable hardened build to see if it fixes js
|
||||
|
||||
* Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 2.7.4-2
|
||||
- rebuild for ICU 54.1
|
||||
|
||||
* Tue Jan 20 2015 Tomas Popela <tpopela@redhat.com> - 2.7.4-1
|
||||
- Update to 2.7.4
|
||||
|
||||
* Mon Jan 19 2015 Tomas Popela <tpopela@redhat.com> - 2.7.3-3
|
||||
- Fix compilation on secondary arches
|
||||
|
||||
* Thu Jan 08 2015 Tomas Popela <tpopela@redhat.com> - 2.7.3-2
|
||||
- Decrease debuginfo verbosity on ix86 to let it build
|
||||
|
||||
* Tue Dec 16 2014 Tomas Popela <tpopela@redhat.com> - 2.7.3-1
|
||||
- Update to 2.7.3
|
||||
|
||||
* Tue Dec 09 2014 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.2-3
|
||||
- Disable the PackageKit codec installer
|
||||
|
||||
* Sun Dec 07 2014 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.2-2
|
||||
- Enable hardened build
|
||||
|
||||
* Mon Nov 24 2014 Tomas Popela <tpopela@redhat.com> - 2.7.2-1
|
||||
- Update to 2.7.2
|
||||
- Don't use ld.gold on s390 and aarch64
|
||||
|
||||
* Wed Nov 12 2014 Tomas Popela <tpopela@redhat.com> - 2.7.1-5
|
||||
- Enable JIT where possible (accidentally turned off when updating to 2.5.90)
|
||||
|
||||
* Fri Nov 07 2014 Kalev Lember <kalevlember@gmail.com> - 2.7.1-4
|
||||
- Build developer documentation
|
||||
|
||||
* Fri Oct 31 2014 Michael Catanzaro <mcatanzaro@gnome.org> - 2.7.1-3
|
||||
- Obsolete libwebkit2gtk < 2.5.0 to be future-proof
|
||||
|
||||
* Fri Oct 31 2014 Kalev Lember <kalevlember@gmail.com> - 2.7.1-2
|
||||
- Bump libwebkit2gtk obsoletes version
|
||||
|
||||
* Wed Oct 29 2014 Tomas Popela <tpopela@redhat.com> - 2.7.1-1
|
||||
- Update to 2.7.1
|
||||
|
||||
* Wed Oct 22 2014 Tomas Popela <tpopela@redhat.com> - 2.6.2-1
|
||||
- Update to 2.6.2
|
||||
|
||||
* Tue Oct 21 2014 Tomas Popela <tpopela@redhat.com> - 2.6.1-2
|
||||
- Disable the SSLv3 to address the POODLE vulnerability
|
||||
|
||||
* Tue Oct 14 2014 Tomas Popela <tpopela@redhat.com> - 2.6.1-1
|
||||
- Update to 2.6.1
|
||||
|
||||
* Thu Sep 25 2014 Tomas Popela <tpopela@redhat.com> - 2.6.0-1
|
||||
- Add the wrongly removed CLoop patch and remove the one that was upstreamed
|
||||
|
||||
* Wed Sep 24 2014 Kalev Lember <kalevlember@gmail.com> - 2.6.0-1
|
||||
- Update to 2.6.0
|
||||
|
||||
* Mon Sep 22 2014 Tomas Popela <tpopela@redhat.com> - 2.5.90-1
|
||||
- Update to 2.5.90
|
||||
|
||||
* Tue Aug 26 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-7
|
||||
- Obsolete libwebkit2gtk from the webkitgtk3 package
|
||||
|
||||
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 2.5.3-6
|
||||
- rebuild for ICU 53.1
|
||||
|
||||
* Mon Aug 25 2014 Tomas Popela <tpopela@redhat.com> - 2.5.3-5
|
||||
- Add support for secondary arches
|
||||
|
||||
* Fri Aug 22 2014 Michael Catanzaro <mcatanzaro@gnome.org> - 2.5.3-4
|
||||
- Add webkitgtk-2.5.3-toggle-buttons.patch
|
||||
|
||||
* Thu Aug 21 2014 Kalev Lember <kalevlember@gmail.com> - 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 <kalevlember@gmail.com> - 2.5.3-2
|
||||
- Remove bundled leveldb, gtest, qunit in %%prep (#1131284)
|
||||
|
||||
* Fri Aug 15 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-1
|
||||
- Update to 2.5.3
|
||||
|
||||
* Fri Aug 01 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.1-1
|
||||
- Initial Fedora packaging, based on the webkitgtk3 package
|
||||
Reference in a new issue