diff -Nru webkit2gtk-2.7.92/debian/changelog webkit2gtk-2.8.0/debian/changelog --- webkit2gtk-2.7.92/debian/changelog 2015-03-20 07:55:45.000000000 +0000 +++ webkit2gtk-2.8.0/debian/changelog 2015-03-23 17:16:07.000000000 +0000 @@ -1,3 +1,9 @@ +webkit2gtk (2.8.0-0ubuntu1~15.04~webkitteam1) vivid; urgency=medium + + * New upstream release + + -- Rico Tzschichholz Mon, 23 Mar 2015 18:14:34 +0100 + webkit2gtk (2.7.92-0ubuntu1~vivid1) vivid; urgency=medium * New upstream release diff -Nru webkit2gtk-2.7.92/debian/control webkit2gtk-2.8.0/debian/control --- webkit2gtk-2.7.92/debian/control 2014-12-07 16:53:35.000000000 +0000 +++ webkit2gtk-2.8.0/debian/control 2015-03-23 17:16:31.000000000 +0000 @@ -1,7 +1,8 @@ Source: webkit2gtk Priority: optional Section: web -Maintainer: Debian WebKit Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian WebKit Maintainers Uploaders: Gustavo Noronha Silva , Emilio Pozuelo Monfort , Alberto Garcia diff -Nru webkit2gtk-2.7.92/debian/rules webkit2gtk-2.8.0/debian/rules --- webkit2gtk-2.7.92/debian/rules 2015-03-20 07:54:26.000000000 +0000 +++ webkit2gtk-2.8.0/debian/rules 2015-03-23 17:15:39.000000000 +0000 @@ -4,8 +4,8 @@ DEB_HOST_ARCH_BITS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) -CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) -Wall -fuse-ld=bfd -CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -fuse-ld=bfd +CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS) -Wall -g1 +CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -g1 LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed EXTRA_DH_ARGUMENTS = @@ -15,8 +15,6 @@ # Sacrifice speed in order to make it more likely resource limits # won't be hit. ifeq ($(DEB_HOST_ARCH_BITS),32) - CPPFLAGS += -g1 - CFLAGS += -g1 LDFLAGS += -Wl,--no-keep-memory endif diff -Nru webkit2gtk-2.7.92/Documentation/webkit2gtk-4.0/html/index.html webkit2gtk-2.8.0/Documentation/webkit2gtk-4.0/html/index.html --- webkit2gtk-2.7.92/Documentation/webkit2gtk-4.0/html/index.html 2015-03-17 13:10:20.000000000 +0000 +++ webkit2gtk-2.8.0/Documentation/webkit2gtk-4.0/html/index.html 2015-03-23 09:47:46.000000000 +0000 @@ -14,7 +14,7 @@
-

for WebKit2GTK+ 2.7.92

+

for WebKit2GTK+ 2.8.0


diff -Nru webkit2gtk-2.7.92/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html webkit2gtk-2.8.0/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html --- webkit2gtk-2.7.92/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html 2015-03-17 13:10:13.000000000 +0000 +++ webkit2gtk-2.8.0/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html 2015-03-23 09:47:39.000000000 +0000 @@ -118,7 +118,7 @@

WEBKIT_MINOR_VERSION

-
#define WEBKIT_MINOR_VERSION (7)
+
#define WEBKIT_MINOR_VERSION (8)
 

Like webkit_get_minor_version(), but from the headers used at application compile time, rather than from the library linked @@ -127,7 +127,7 @@


WEBKIT_MICRO_VERSION

-
#define WEBKIT_MICRO_VERSION (92)
+
#define WEBKIT_MICRO_VERSION (0)
 

Like webkit_get_micro_version(), but from the headers used at application compile time, rather than from the library linked diff -Nru webkit2gtk-2.7.92/Documentation/webkitdomgtk-4.0/html/index.html webkit2gtk-2.8.0/Documentation/webkitdomgtk-4.0/html/index.html --- webkit2gtk-2.7.92/Documentation/webkitdomgtk-4.0/html/index.html 2015-03-17 13:09:56.000000000 +0000 +++ webkit2gtk-2.8.0/Documentation/webkitdomgtk-4.0/html/index.html 2015-03-23 09:47:23.000000000 +0000 @@ -14,7 +14,7 @@

-

for WebKitDOMGTK+ 2.7.92

+

for WebKitDOMGTK+ 2.8.0


diff -Nru webkit2gtk-2.7.92/NEWS webkit2gtk-2.8.0/NEWS --- webkit2gtk-2.7.92/NEWS 2015-03-17 12:39:45.000000000 +0000 +++ webkit2gtk-2.8.0/NEWS 2015-03-23 09:45:05.000000000 +0000 @@ -1,4 +1,15 @@ ================= +WebKitGTK+ 2.8.0 +================= + +What's new in WebKitGTK+ 2.8.0? + + - Fix scrollbars rendering with GTK+ 3.16. + - Fix a crash during a drag and drop operation started by JavaScript. + - Fix the build with Wayland target enabled. + - Properly search for Wayland dependency when enabling Wayland target. + +================= WebKitGTK+ 2.7.92 ================= diff -Nru webkit2gtk-2.7.92/Source/cmake/OptionsGTK.cmake webkit2gtk-2.8.0/Source/cmake/OptionsGTK.cmake --- webkit2gtk-2.7.92/Source/cmake/OptionsGTK.cmake 2015-03-17 12:40:18.000000000 +0000 +++ webkit2gtk-2.8.0/Source/cmake/OptionsGTK.cmake 2015-03-23 09:45:19.000000000 +0000 @@ -1,15 +1,15 @@ include(GNUInstallDirs) set(PROJECT_VERSION_MAJOR 2) -set(PROJECT_VERSION_MINOR 7) -set(PROJECT_VERSION_MICRO 92) +set(PROJECT_VERSION_MINOR 8) +set(PROJECT_VERSION_MICRO 0) set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_MICRO}) set(WEBKITGTK_API_VERSION 4.0) # Libtool library version, not to be confused with API version. # See http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT2 43 2 6) -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE 19 6 1) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT2 43 3 6) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE 19 7 1) set(ENABLE_CREDENTIAL_STORAGE ON CACHE BOOL "Whether or not to enable support for credential storage using libsecret.") set(ENABLE_GTKDOC OFF CACHE BOOL "Whether or not to use generate gtkdoc.") @@ -76,13 +76,24 @@ endif () endif () +if (ENABLE_WAYLAND_TARGET) + find_package(Wayland REQUIRED) +endif () + WEBKIT_OPTION_BEGIN() WEBKIT_OPTION_DEFINE(ENABLE_PLUGIN_PROCESS_GTK2 "Whether to build WebKitPluginProcess2 to load GTK2 based plugins." ON) WEBKIT_OPTION_DEFINE(ENABLE_MINIBROWSER "Whether to enable MiniBrowser compilation." OFF) +WEBKIT_OPTION_DEFINE(USE_REDIRECTED_XCOMPOSITE_WINDOW "Whether to use a Redirected XComposite Window for accelerated compositing in X11." ON) if ((OPENGL_FOUND OR OPENGLES2_FOUND) AND (GLX_FOUND OR EGL_FOUND)) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON) + if (ENABLE_X11_TARGET) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_REDIRECTED_XCOMPOSITE_WINDOW ON) + else () + WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_REDIRECTED_XCOMPOSITE_WINDOW OFF) + endif () + if (OPENGL_FOUND) if (GLX_FOUND) list(APPEND CAIRO_GL_COMPONENTS cairo-glx) @@ -103,6 +114,7 @@ else () WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_2D_CANVAS OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_REDIRECTED_XCOMPOSITE_WINDOW OFF) endif () if (ENABLE_ACCELERATED_2D_CANVAS AND NOT(CAIRO_GL_FOUND)) @@ -345,6 +357,10 @@ add_definitions(-DWTF_USE_TEXTURE_MAPPER_GL=1) add_definitions(-DENABLE_3D_RENDERING=1) + if (ENABLE_X11_TARGET AND USE_REDIRECTED_XCOMPOSITE_WINDOW) + add_definitions(-DWTF_USE_REDIRECTED_XCOMPOSITE_WINDOW=1) + endif () + if (OPENGLES2_FOUND) set(WTF_USE_OPENGL_ES_2 1) add_definitions(-DWTF_USE_OPENGL_ES_2=1) diff -Nru webkit2gtk-2.7.92/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp webkit2gtk-2.8.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp --- webkit2gtk-2.7.92/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp 2015-03-17 12:22:43.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp 2015-03-23 08:08:05.000000000 +0000 @@ -101,6 +101,8 @@ , m_logicalSize(size) { success = false; // Make early return mean error. + if (m_size.isEmpty()) + return; #if ENABLE(ACCELERATED_2D_CANVAS) if (renderingMode == Accelerated) diff -Nru webkit2gtk-2.7.92/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp webkit2gtk-2.8.0/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp --- webkit2gtk-2.7.92/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp 2015-03-04 07:19:42.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebCore/platform/gtk/ScrollbarThemeGtk.cpp 2015-03-19 10:39:40.000000000 +0000 @@ -278,6 +278,14 @@ gtk_style_context_add_class(context, orientation == VerticalScrollbar ? GTK_STYLE_CLASS_VERTICAL : GTK_STYLE_CLASS_HORIZONTAL); } +static void adjustRectAccordingToMargin(GtkStyleContext* context, GtkStateFlags state, IntRect& rect) +{ + GtkBorder margin; + gtk_style_context_get_margin(context, state, &margin); + rect.move(margin.left, margin.right); + rect.contract(margin.left + margin.right, margin.top + margin.bottom); +} + void ScrollbarThemeGtk::paintTrackBackground(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect) { // Paint the track background. If the trough-under-steppers property is true, this @@ -293,6 +301,7 @@ applyScrollbarStyleContextClasses(styleContext, scrollbar->orientation()); gtk_style_context_add_class(styleContext, GTK_STYLE_CLASS_TROUGH); + adjustRectAccordingToMargin(styleContext, static_cast(0), fullScrollbarRect); gtk_render_background(styleContext, context->platformContext()->cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height()); gtk_render_frame(styleContext, context->platformContext()->cr(), fullScrollbarRect.x(), fullScrollbarRect.y(), fullScrollbarRect.width(), fullScrollbarRect.height()); @@ -327,7 +336,9 @@ flags |= GTK_STATE_FLAG_PRELIGHT; gtk_style_context_set_state(styleContext, static_cast(flags)); - gtk_render_slider(styleContext, context->platformContext()->cr(), rect.x(), rect.y(), rect.width(), rect.height(), + IntRect thumbRect(rect); + adjustRectAccordingToMargin(styleContext, static_cast(flags), thumbRect); + gtk_render_slider(styleContext, context->platformContext()->cr(), thumbRect.x(), thumbRect.y(), thumbRect.width(), thumbRect.height(), orientation == VerticalScrollbar ? GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL); gtk_style_context_restore(styleContext); diff -Nru webkit2gtk-2.7.92/Source/WebKit2/gtk/NEWS webkit2gtk-2.8.0/Source/WebKit2/gtk/NEWS --- webkit2gtk-2.7.92/Source/WebKit2/gtk/NEWS 2015-03-17 12:39:45.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebKit2/gtk/NEWS 2015-03-23 09:45:05.000000000 +0000 @@ -1,4 +1,15 @@ ================= +WebKitGTK+ 2.8.0 +================= + +What's new in WebKitGTK+ 2.8.0? + + - Fix scrollbars rendering with GTK+ 3.16. + - Fix a crash during a drag and drop operation started by JavaScript. + - Fix the build with Wayland target enabled. + - Properly search for Wayland dependency when enabling Wayland target. + +================= WebKitGTK+ 2.7.92 ================= diff -Nru webkit2gtk-2.7.92/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp webkit2gtk-2.8.0/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp --- webkit2gtk-2.7.92/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2015-03-17 12:22:43.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2015-03-23 08:08:16.000000000 +0000 @@ -58,9 +58,6 @@ #include #include #include -#if defined(GDK_WINDOWING_X11) -#include -#endif #include #include #include @@ -70,6 +67,14 @@ #include "WebFullScreenManagerProxy.h" #endif +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) +#include +#endif + +#if PLATFORM(WAYLAND) +#include +#endif + // gtk_widget_get_scale_factor() appeared in GTK 3.10, but we also need // to make sure we have cairo new enough to support cairo_surface_set_device_scale #define HAVE_GTK_SCALE_FACTOR HAVE_CAIRO_SURFACE_SET_DEVICE_SCALE && GTK_CHECK_VERSION(3, 10, 0) @@ -180,7 +185,7 @@ WebFullScreenClientGtk fullScreenClient; #endif -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) std::unique_ptr redirectedWindow; #endif @@ -314,7 +319,7 @@ WebKitWebViewBase* webView = WEBKIT_WEB_VIEW_BASE(widget); WebKitWebViewBasePrivate* priv = webView->priv; -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get()); if (GDK_IS_X11_DISPLAY(display)) { priv->redirectedWindow = RedirectedXCompositeWindow::create( @@ -365,6 +370,11 @@ gtk_widget_set_window(widget, window); gdk_window_set_user_data(window, widget); +#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW) + DrawingAreaProxyImpl* drawingArea = static_cast(priv->pageProxy->drawingArea()); + drawingArea->setNativeSurfaceHandleForCompositing(GDK_WINDOW_XID(window)); +#endif + gtk_style_context_set_background(gtk_widget_get_style_context(widget), window); gtk_im_context_set_client_window(priv->inputMethodFilter.context(), window); @@ -513,7 +523,7 @@ if (!drawingArea->isInAcceleratedCompositingMode()) return false; -#if PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) // To avoid flashes when initializing accelerated compositing for the first // time, we wait until we know there's a frame ready before rendering. WebKitWebViewBasePrivate* priv = webViewBase->priv; @@ -626,7 +636,7 @@ DrawingAreaProxyImpl* drawingArea = static_cast(priv->pageProxy->drawingArea()); -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) if (sizeChanged && priv->redirectedWindow && drawingArea && drawingArea->isInAcceleratedCompositingMode()) priv->redirectedWindow->resize(viewRect.size()); #endif @@ -1115,6 +1125,14 @@ { WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; +#if PLATFORM(WAYLAND) + // FIXME: Accelerated compositing under Wayland is not yet supported. + // https://bugs.webkit.org/show_bug.cgi?id=115803 + GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get()); + if (GDK_IS_WAYLAND_DISPLAY(display)) + preferences->setAcceleratedCompositingEnabled(false); +#endif + WebPageConfiguration webPageConfiguration; webPageConfiguration.preferences = preferences; webPageConfiguration.pageGroup = pageGroup; @@ -1311,7 +1329,7 @@ void webkitWebViewBaseEnterAcceleratedCompositingMode(WebKitWebViewBase* webkitWebViewBase) { -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; if (!priv->redirectedWindow) return; @@ -1329,7 +1347,7 @@ void webkitWebViewBaseExitAcceleratedCompositingMode(WebKitWebViewBase* webkitWebViewBase) { -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; if (priv->redirectedWindow) priv->redirectedWindow->resize(IntSize()); diff -Nru webkit2gtk-2.7.92/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp webkit2gtk-2.8.0/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp --- webkit2gtk-2.7.92/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp 2015-03-04 14:25:17.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebKit2/UIProcess/cairo/BackingStoreCairo.cpp 2015-03-20 11:50:07.000000000 +0000 @@ -47,7 +47,7 @@ std::unique_ptr BackingStore::createBackend() { -#if PLATFORM(GTK) && defined(GDK_WINDOWING_X11) +#if PLATFORM(GTK) && PLATFORM(X11) GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get()); if (GDK_IS_X11_DISPLAY(display)) { GdkVisual* visual = gtk_widget_get_visual(m_webPageProxy.viewWidget()); diff -Nru webkit2gtk-2.7.92/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp webkit2gtk-2.8.0/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp --- webkit2gtk-2.7.92/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp 2015-03-09 09:48:27.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp 2015-03-23 08:08:16.000000000 +0000 @@ -27,7 +27,7 @@ #include "config.h" #include "RedirectedXCompositeWindow.h" -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) #include #include @@ -282,4 +282,4 @@ } // namespace WebCore -#endif // USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#endif // USE(REDIRECTED_XCOMPOSITE_WINDOW) diff -Nru webkit2gtk-2.7.92/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.h webkit2gtk-2.8.0/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.h --- webkit2gtk-2.7.92/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.h 2015-03-09 09:48:27.000000000 +0000 +++ webkit2gtk-2.8.0/Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.h 2015-03-23 08:08:16.000000000 +0000 @@ -27,7 +27,7 @@ #ifndef RedirectedXCompositeWindow_h #define RedirectedXCompositeWindow_h -#if USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) #include #include @@ -64,6 +64,6 @@ } // namespace WebKit -#endif // USE(TEXTURE_MAPPER_GL) && PLATFORM(X11) +#endif // USE(REDIRECTED_XCOMPOSITE_WINDOW) #endif // RedirectedXCompositeWindow_h