Commit b29ea7f0 authored by Alberto Garcia's avatar Alberto Garcia
Browse files

Imported Upstream version 2.4.0

parent 50765b46
2014-03-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update NEWS and Versions.m4 for 2.3.92 release.
* Source/autotools/Versions.m4: Bump version numbers.
2014-03-10 Mario Sanchez Prada <mario.prada@samsung.com>
[GTK] Add support for Geoclue2
......
......@@ -14,7 +14,7 @@
<div class="titlepage">
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">WebKit2GTK+ Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">for WebKit2GTK+ 2.3.92</p></div>
<div><p class="releaseinfo">for WebKit2GTK+ 2.4.0</p></div>
</div>
<hr>
</div>
......
......@@ -163,7 +163,7 @@ against at application run time.</p>
<hr>
<div class="refsect2">
<a name="WEBKIT-MINOR-VERSION:CAPS"></a><h3>WEBKIT_MINOR_VERSION</h3>
<pre class="programlisting">#define WEBKIT_MINOR_VERSION (3)
<pre class="programlisting">#define WEBKIT_MINOR_VERSION (4)
</pre>
<p>Like <a class="link" href="webkit2gtk-WebKitVersion.html#webkit-get-minor-version" title="webkit_get_minor_version ()"><code class="function">webkit_get_minor_version()</code></a>, but from the headers used at
application compile time, rather than from the library linked
......@@ -172,7 +172,7 @@ against at application run time.</p>
<hr>
<div class="refsect2">
<a name="WEBKIT-MICRO-VERSION:CAPS"></a><h3>WEBKIT_MICRO_VERSION</h3>
<pre class="programlisting">#define WEBKIT_MICRO_VERSION (92)
<pre class="programlisting">#define WEBKIT_MICRO_VERSION (0)
</pre>
<p>Like <a class="link" href="webkit2gtk-WebKitVersion.html#webkit-get-micro-version" title="webkit_get_micro_version ()"><code class="function">webkit_get_micro_version()</code></a>, but from the headers used at
application compile time, rather than from the library linked
......
......@@ -14,7 +14,7 @@
<div class="titlepage">
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">WebKitDOMGTK+ Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">for WebKitDOMGTK+ 2.3.92</p></div>
<div><p class="releaseinfo">for WebKitDOMGTK+ 2.4.0</p></div>
</div>
<hr>
</div>
......
......@@ -14,7 +14,7 @@
<div class="titlepage">
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">WebKitGTK+ Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">for WebKitGTK+ 2.3.92</p></div>
<div><p class="releaseinfo">for WebKitGTK+ 2.4.0</p></div>
</div>
<hr>
</div>
......
=================
WebKitGTK+ 2.4.0
=================
What's new in WebKitGTK+ 2.4.0?
- Fix infinite loop in WebProcess due to a race condition that can
happen when the socket event source is cancelled.
- Fix more runtime critical warnings about main loop sources not found
when trying to remove them.
- Lower the timeout used when waiting for the ShoulTerminate reply
in the WebProcess to release unused processes earlier.
- Fix the build for non X11 platforms.
=================
WebKitGTK+ 2.3.92
=================
......
2014-03-19 Claudio Saavedra <csaavedra@igalia.com>
[GStreamer] Clean timeout source ids
https://bugs.webkit.org/show_bug.cgi?id=130450
Reviewed by Philippe Normand.
Sources IDs need to be cleaned up if the callback removes the
source, otherwise we'll be attempting to remove an empty source at
some point.
* platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
(webKitMediaVideoSrcStart): Clean the source id.
(webKitMediaAudioSrcStart): Ditto.
(webKitMediaVideoSrcSeekMainCb): Ditto.
(webKitMediaAudioSrcSeekMainCb): Ditto.
2014-03-12 Carlos Garcia Campos <cgarcia@igalia.com>
 
[GTK] [Stable] deadlock in gobject introspection
......@@ -343,6 +343,8 @@ static gboolean webKitMediaVideoSrcStart(WebKitMediaSrc* src)
return FALSE;
}
priv->sourceVideo.startId = 0;
GST_OBJECT_UNLOCK(src);
GST_DEBUG_OBJECT(src, "Started request");
......@@ -362,6 +364,8 @@ static gboolean webKitMediaAudioSrcStart(WebKitMediaSrc* src)
return FALSE;
}
priv->sourceAudio.startId = 0;
GST_OBJECT_UNLOCK(src);
GST_DEBUG_OBJECT(src, "Started request");
......@@ -662,12 +666,14 @@ static void webKitMediaAudioSrcEnoughDataCb(GstAppSrc*, gpointer userData)
static gboolean webKitMediaVideoSrcSeekMainCb(WebKitMediaSrc* src)
{
notImplemented();
src->priv->sourceVideo.seekId = 0;
return FALSE;
}
static gboolean webKitMediaAudioSrcSeekMainCb(WebKitMediaSrc* src)
{
notImplemented();
src->priv->sourceAudio.seekId = 0;
return FALSE;
}
......
2014-03-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update NEWS and Versions.m4 for 2.3.92 release.
* NEWS: Added release notes for 2.3.92.
2014-03-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] [Stable] deadlock in gobject introspection
......
=================
WebKitGTK+ 2.4.0
=================
What's new in WebKitGTK+ 2.4.0?
- Fix infinite loop in WebProcess due to a race condition that can
happen when the socket event source is cancelled.
- Fix more runtime critical warnings about main loop sources not found
when trying to remove them.
- Lower the timeout used when waiting for the ShoulTerminate reply
in the WebProcess to release unused processes earlier.
- Fix the build for non X11 platforms.
=================
WebKitGTK+ 2.3.92
=================
......
......@@ -34,6 +34,7 @@
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <poll.h>
#include <wtf/Assertions.h>
#include <wtf/Functional.h>
#include <wtf/StdLibExtras.h>
......@@ -522,8 +523,17 @@ bool Connection::sendOutgoingMessage(std::unique_ptr<MessageEncoder> encoder)
int bytesSent = 0;
while ((bytesSent = sendmsg(m_socketDescriptor, &message, 0)) == -1) {
if (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)
if (errno == EINTR)
continue;
if (errno == EAGAIN || errno == EWOULDBLOCK) {
struct pollfd pollfd;
pollfd.fd = m_socketDescriptor;
pollfd.events = POLLOUT;
pollfd.revents = 0;
poll(&pollfd, 1, -1);
continue;
}
WTFLogAlways("Error sending IPC message: %s", strerror(errno));
return false;
......
......@@ -87,11 +87,21 @@ public:
m_closeFunction();
}
static gboolean eventCallback(GSocket* socket, GIOCondition condition, SocketEventSource* eventSource)
bool isCancelled() const
{
return g_cancellable_is_cancelled(m_cancellable);
}
static gboolean eventCallback(GSocket*, GIOCondition condition, SocketEventSource* eventSource)
{
ASSERT(eventSource);
if (condition & G_IO_HUP || condition & G_IO_ERR) {
if (eventSource->isCancelled()) {
// EventSource has been cancelled, return FALSE to destroy the source.
return FALSE;
}
if (condition & G_IO_HUP || condition & G_IO_ERR || condition & G_IO_NVAL) {
eventSource->didClose();
return FALSE;
}
......@@ -101,7 +111,7 @@ public:
return TRUE;
}
// EventSource has been cancelled, return FALSE to destroy the source.
ASSERT_NOT_REACHED();
return FALSE;
}
......
......@@ -110,8 +110,10 @@ bool PluginInfoCache::getPluginInfo(const String& pluginPath, PluginModuleInfo&
stringValue.reset(g_key_file_get_string(m_cacheFile.get(), pluginGroup.data(), "description", nullptr));
plugin.info.desc = String::fromUTF8(stringValue.get());
#if PLUGIN_ARCHITECTURE(X11)
stringValue.reset(g_key_file_get_string(m_cacheFile.get(), pluginGroup.data(), "mime-description", nullptr));
NetscapePluginModule::parseMIMEDescription(String::fromUTF8(stringValue.get()), plugin.info.mimes);
#endif
return true;
}
......@@ -127,8 +129,10 @@ void PluginInfoCache::updatePluginInfo(const String& pluginPath, const PluginMod
g_key_file_set_string(m_cacheFile.get(), pluginGroup.data(), "name", plugin.info.name.utf8().data());
g_key_file_set_string(m_cacheFile.get(), pluginGroup.data(), "description", plugin.info.desc.utf8().data());
#if PLUGIN_ARCHITECTURE(X11)
String mimeDescription = NetscapePluginModule::buildMIMEDescription(plugin.info.mimes);
g_key_file_set_string(m_cacheFile.get(), pluginGroup.data(), "mime-description", mimeDescription.utf8().data());
#endif
// Save the cache file in an idle to make sure it happens in the main thread and
// it's done only once when this is called multiple times in a very short time.
......
......@@ -590,7 +590,7 @@ bool WebProcess::shouldTerminate()
// FIXME: the ShouldTerminate message should also send termination parameters, such as any session cookies that need to be preserved.
bool shouldTerminate = false;
if (parentProcessConnection()->sendSync(Messages::WebProcessProxy::ShouldTerminate(), Messages::WebProcessProxy::ShouldTerminate::Reply(shouldTerminate), 0)
if (parentProcessConnection()->sendSync(Messages::WebProcessProxy::ShouldTerminate(), Messages::WebProcessProxy::ShouldTerminate::Reply(shouldTerminate), 0, std::chrono::seconds(1))
&& !shouldTerminate)
return false;
......
m4_define([webkit_major_version], [2])
m4_define([webkit_minor_version], [3])
m4_define([webkit_micro_version], [92])
m4_define([webkit_minor_version], [4])
m4_define([webkit_micro_version], [0])
# This is the version we'll be using as part of our User-Agent string,
# e.g., AppleWebKit/$(webkit_user_agent_version) ...
......@@ -11,9 +11,9 @@ m4_define([webkit_user_agent_minor_version], [15])
# Libtool library version, not to confuse with API version.
# See http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
m4_define([libwebkitgtk_version], [22:5:22])
m4_define([libjavascriptcoregtk_version], [16:7:16])
m4_define([libwebkit2gtk_version], [35:2:10])
m4_define([libwebkitgtk_version], [22:6:22])
m4_define([libjavascriptcoregtk_version], [16:8:16])
m4_define([libwebkit2gtk_version], [35:3:10])
m4_define([gtk2_required_version], [2.24.10])
m4_define([gtk3_required_version], [3.6.0])
......
......@@ -88,9 +88,6 @@ public:
void destroyWebViewAndWaitUntilWebProcessFinishes(unsigned index)
{
// FIXME: This test is disabled because the web processed don't actually die
// due to bug https://bugs.webkit.org/show_bug.cgi?id=129684.
#if 0
g_assert_cmpuint(index, <, numViews);
unsigned watcherID = g_bus_watch_name_on_connection(bus->connection(), m_webViewBusNames[index].get(), G_BUS_NAME_WATCHER_FLAGS_NONE,
......@@ -98,7 +95,6 @@ public:
gtk_widget_destroy(GTK_WIDGET(m_webViews[index].get()));
g_main_loop_run(m_mainLoop);
g_bus_unwatch_name(watcherID);
#endif
}
GMainLoop* m_mainLoop;
......
This diff is collapsed.
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for WebKitGTK 2.3.92.
# Generated by GNU Autoconf 2.69 for WebKitGTK 2.4.0.
#
# Report bugs to <http://bugs.webkit.org/>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='WebKitGTK'
PACKAGE_TARNAME='webkitgtk'
PACKAGE_VERSION='2.3.92'
PACKAGE_STRING='WebKitGTK 2.3.92'
PACKAGE_VERSION='2.4.0'
PACKAGE_STRING='WebKitGTK 2.4.0'
PACKAGE_BUGREPORT='http://bugs.webkit.org/'
PACKAGE_URL=''
 
......@@ -1642,7 +1642,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures WebKitGTK 2.3.92 to adapt to many kinds of systems.
\`configure' configures WebKitGTK 2.4.0 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1712,7 +1712,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of WebKitGTK 2.3.92:";;
short | recursive ) echo "Configuration of WebKitGTK 2.4.0:";;
esac
cat <<\_ACEOF
 
......@@ -1992,7 +1992,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
WebKitGTK configure 2.3.92
WebKitGTK configure 2.4.0
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2536,7 +2536,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by WebKitGTK $as_me 2.3.92, which was
It was created by WebKitGTK $as_me 2.4.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -2921,8 +2921,8 @@ ac_config_headers="$ac_config_headers autotoolsconfig.h"
 
 
WEBKIT_MAJOR_VERSION=2
WEBKIT_MINOR_VERSION=3
WEBKIT_MICRO_VERSION=92
WEBKIT_MINOR_VERSION=4
WEBKIT_MICRO_VERSION=0
WEBKIT_USER_AGENT_MAJOR_VERSION=538
WEBKIT_USER_AGENT_MINOR_VERSION=15
 
......@@ -5486,9 +5486,9 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
fi
 
 
LIBWEBKITGTK_VERSION=22:5:22
LIBJAVASCRIPTCOREGTK_VERSION=16:7:16
LIBWEBKIT2GTK_VERSION=35:2:10
LIBWEBKITGTK_VERSION=22:6:22
LIBJAVASCRIPTCOREGTK_VERSION=16:8:16
LIBWEBKIT2GTK_VERSION=35:3:10
 
 
 
......@@ -22694,7 +22694,7 @@ fi
 
# Define the identity of the package.
PACKAGE='webkitgtk'
VERSION='2.3.92'
VERSION='2.4.0'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -24377,7 +24377,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by WebKitGTK $as_me 2.3.92, which was
This file was extended by WebKitGTK $as_me 2.4.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -24443,7 +24443,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
WebKitGTK config.status 2.3.92
WebKitGTK config.status 2.4.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment