Version in base suite: 2.26.3-1~deb10u1 Base version: webkit2gtk_2.26.3-1~deb10u1 Target version: webkit2gtk_2.26.4-1~deb10u2 Base file: /srv/ftp-master.debian.org/ftp/pool/main/w/webkit2gtk/webkit2gtk_2.26.3-1~deb10u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/w/webkit2gtk/webkit2gtk_2.26.4-1~deb10u2.dsc Documentation/jsc-glib-4.0/html/index.html | 2 Documentation/jsc-glib-4.0/html/jsc-glib-4.0-JSCVersion.html | 2 Documentation/webkit2gtk-4.0/html/WebKitCookieManager.html | 20 Documentation/webkit2gtk-4.0/html/WebKitNotification.html | 447 ---------- Documentation/webkit2gtk-4.0/html/WebKitPrintCustomWidget.html | 368 -------- Documentation/webkit2gtk-4.0/html/WebKitURIRequest.html | 8 Documentation/webkit2gtk-4.0/html/WebKitURIResponse.html | 14 Documentation/webkit2gtk-4.0/html/WebKitWebPage.html | 2 Documentation/webkit2gtk-4.0/html/index.html | 2 Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html | 2 Documentation/webkitdomgtk-4.0/html/index.html | 2 NEWS | 12 Source/JavaScriptCore/offlineasm/parser.rb | 6 Source/JavaScriptCore/runtime/NativeErrorConstructor.h | 1 Source/ThirdParty/ANGLE/include/platform/Platform.h | 1 Source/ThirdParty/ANGLE/src/common/PackedEnums.h | 5 Source/WTF/wtf/Platform.h | 2 Source/WebCore/bindings/js/ScriptController.cpp | 5 Source/WebCore/bindings/js/ScriptController.h | 3 Source/WebCore/css/CSSFontFaceSet.cpp | 12 Source/WebCore/dom/Document.cpp | 8 Source/WebCore/fileapi/ThreadableBlobRegistry.cpp | 19 Source/WebCore/loader/FrameLoader.cpp | 4 Source/WebCore/page/FrameView.cpp | 7 Source/WebCore/page/Page.cpp | 4 Source/WebCore/page/SecurityOrigin.cpp | 9 Source/WebCore/rendering/RenderThemeGtk.cpp | 27 Source/WebCore/rendering/RenderThemeGtk.h | 1 Source/WebCore/testing/InternalSettings.cpp | 14 Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp | 5 Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp | 6 Source/WebKit/Shared/WebPageCreationParameters.cpp | 9 Source/WebKit/Shared/WebPageCreationParameters.h | 4 Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp | 23 Source/WebKit/UIProcess/API/gtk/PageClientImpl.h | 2 Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp | 7 Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp | 3 Source/WebKit/UIProcess/PageClient.h | 4 Source/WebKit/UIProcess/WebPageProxy.cpp | 4 Source/WebKit/UIProcess/WebPageProxy.h | 1 Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp | 2 Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp | 4 Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp | 9 Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp | 3 Source/WebKit/WebProcess/WebPage/WebPage.cpp | 6 Source/WebKit/WebProcess/WebPage/WebPage.h | 6 Source/WebKit/WebProcess/WebPage/WebPage.messages.in | 4 Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp | 11 Source/cmake/OptionsGTK.cmake | 7 debian/changelog | 46 - debian/control | 4 debian/patches/cve-2020-10018-fix.patch | 20 debian/patches/detect-woff.patch | 2 debian/patches/fix-ftbfs-m68k.patch | 18 debian/patches/reduce-memory-overheads.patch | 21 debian/patches/series | 2 debian/rules | 11 debian/upstream/metadata | 4 58 files changed, 313 insertions(+), 944 deletions(-) diff -Nru webkit2gtk-2.26.3/Documentation/jsc-glib-4.0/html/index.html webkit2gtk-2.26.4/Documentation/jsc-glib-4.0/html/index.html --- webkit2gtk-2.26.3/Documentation/jsc-glib-4.0/html/index.html 2020-01-22 11:02:00.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/jsc-glib-4.0/html/index.html 2020-02-14 09:48:03.000000000 +0000 @@ -14,7 +14,7 @@
-

for JavaScriptCore 2.26.3

+

for JavaScriptCore 2.26.4


diff -Nru webkit2gtk-2.26.3/Documentation/jsc-glib-4.0/html/jsc-glib-4.0-JSCVersion.html webkit2gtk-2.26.4/Documentation/jsc-glib-4.0/html/jsc-glib-4.0-JSCVersion.html --- webkit2gtk-2.26.3/Documentation/jsc-glib-4.0/html/jsc-glib-4.0-JSCVersion.html 2020-01-22 11:02:00.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/jsc-glib-4.0/html/jsc-glib-4.0-JSCVersion.html 2020-02-14 09:48:03.000000000 +0000 @@ -175,7 +175,7 @@

JSC_MICRO_VERSION

-
#define JSC_MICRO_VERSION (3)
+
#define JSC_MICRO_VERSION (4)
 
diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitCookieManager.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitCookieManager.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitCookieManager.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitCookieManager.html 2020-02-14 09:48:43.000000000 +0000 @@ -485,11 +485,11 @@

webkit_cookie_manager_add_cookie ()

void
 webkit_cookie_manager_add_cookie (WebKitCookieManager *cookie_manager,
-                                  SoupCookie *cookie,
+                                  SoupCookie *cookie,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);
-

Asynchronously add a SoupCookie to the underlying storage.

+

Asynchronously add a SoupCookie to the underlying storage.

When the operation is finished, callback will be called. You can then call webkit_cookie_manager_add_cookie_finish() to get the result of the operation.

@@ -509,7 +509,7 @@

cookie

-

the SoupCookie to be added

+

the SoupCookie to be added

  @@ -583,7 +583,7 @@ GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); -

Asynchronously get a list of SoupCookie from cookie_manager +

Asynchronously get a list of SoupCookie from cookie_manager associated with uri , which must be either an HTTP or an HTTPS URL.

@@ -638,8 +638,8 @@ GAsyncResult *result, GError **error);

Finish an asynchronous operation started with webkit_cookie_manager_get_cookies(). -The return value is a GSList of SoupCookie instances which should be released -with g_list_free_full() and soup_cookie_free().

+The return value is a GSList of SoupCookie instances which should be released +with g_list_free_full() and soup_cookie_free().

Parameters

@@ -669,7 +669,7 @@

Returns

-

A GList of SoupCookie instances.

+

A GList of SoupCookie instances.

[element-type SoupCookie][transfer full]

Since: 2.20

@@ -679,11 +679,11 @@

webkit_cookie_manager_delete_cookie ()

void
 webkit_cookie_manager_delete_cookie (WebKitCookieManager *cookie_manager,
-                                     SoupCookie *cookie,
+                                     SoupCookie *cookie,
                                      GCancellable *cancellable,
                                      GAsyncReadyCallback callback,
                                      gpointer user_data);
-

Asynchronously delete a SoupCookie from the current session.

+

Asynchronously delete a SoupCookie from the current session.

When the operation is finished, callback will be called. You can then call webkit_cookie_manager_delete_cookie_finish() to get the result of the operation.

@@ -703,7 +703,7 @@ - + diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitNotification.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitNotification.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitNotification.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitNotification.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,447 +0,0 @@ - - - - -WebKitNotification: WebKitGTK Reference Manual - - - - - - - - - -

cookie

the SoupCookie to be deleted

the SoupCookie to be deleted

 
- - - - - - -
-
-
- - -
-

WebKitNotification

-

WebKitNotification — Object used to hold information about a notification that should be shown to the user.

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-guint64 - -webkit_notification_get_id () -
const gchar * - -webkit_notification_get_title () -
const gchar * - -webkit_notification_get_body () -
const gchar * - -webkit_notification_get_tag () -
-void - -webkit_notification_close () -
-void - -webkit_notification_clicked () -
-
-
-

Properties

-
----- - - - - - - - - - - - - - - - - - - - - - - -
-gchar *bodyRead
guint64idRead
-gchar *tagRead
-gchar *titleRead
-
-
-

Signals

-
----- - - - - - - - - - - - - -
voidclickedRun Last
voidclosedRun Last
-
-
-

Types and Values

-
---- - - - - -
structWebKitNotification
-
-
-

Object Hierarchy

-
    GObject
-    ╰── WebKitNotification
-
-
-
-

Description

-
-
-

Functions

-
-

webkit_notification_get_id ()

-
guint64
-webkit_notification_get_id (WebKitNotification *notification);
-

Obtains the unique id for the notification.

-
-

Parameters

-
----- - - - - - -

notification

a WebKitNotification

 
-
-
-

Returns

-

the unique id for the notification

-
-

Since: 2.8

-
-
-
-

webkit_notification_get_title ()

-
const gchar *
-webkit_notification_get_title (WebKitNotification *notification);
-

Obtains the title for the notification.

-
-

Parameters

-
----- - - - - - -

notification

a WebKitNotification

 
-
-
-

Returns

-

the title for the notification

-
-

Since: 2.8

-
-
-
-

webkit_notification_get_body ()

-
const gchar *
-webkit_notification_get_body (WebKitNotification *notification);
-

Obtains the body for the notification.

-
-

Parameters

-
----- - - - - - -

notification

a WebKitNotification

 
-
-
-

Returns

-

the body for the notification

-
-

Since: 2.8

-
-
-
-

webkit_notification_get_tag ()

-
const gchar *
-webkit_notification_get_tag (WebKitNotification *notification);
-

Obtains the tag identifier for the notification.

-
-

Parameters

-
----- - - - - - -

notification

a WebKitNotification

 
-
-
-

Returns

-

the tag for the notification.

-

[allow-none]

-
-

Since: 2.16

-
-
-
-

webkit_notification_close ()

-
void
-webkit_notification_close (WebKitNotification *notification);
-

Closes the notification.

-
-

Parameters

-
----- - - - - - -

notification

a WebKitNotification

 
-
-

Since: 2.8

-
-
-
-

webkit_notification_clicked ()

-
void
-webkit_notification_clicked (WebKitNotification *notification);
-

Tells WebKit the notification has been clicked. This will emit the -“clicked” signal.

-
-

Parameters

-
----- - - - - - -

notification

a WebKitNotification

 
-
-

Since: 2.12

-
-
-
-

Types and Values

-
-

struct WebKitNotification

-
struct WebKitNotification;
-
-
-
-

Property Details

-
-

The “body” property

-
  “body”                     gchar *
-

The body for the notification.

-

Flags: Read

-

Default value: NULL

-

Since: 2.8

-
-
-
-

The “id” property

-
  “id”                       guint64
-

The unique id for the notification.

-

Flags: Read

-

Default value: 0

-

Since: 2.8

-
-
-
-

The “tag” property

-
  “tag”                      gchar *
-

The tag identifier for the notification.

-

Flags: Read

-

Default value: NULL

-

Since: 2.16

-
-
-
-

The “title” property

-
  “title”                    gchar *
-

The title for the notification.

-

Flags: Read

-

Default value: NULL

-

Since: 2.8

-
-
-
-

Signal Details

-
-

The “clicked” signal

-
void
-user_function (WebKitNotification *notification,
-               gpointer            user_data)
-

Emitted when a notification has been clicked. See webkit_notification_clicked().

-
-

Parameters

-
----- - - - - - - - - - - - - -

notification

the WebKitNotification on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-

Since: 2.12

-
-
-
-

The “closed” signal

-
void
-user_function (WebKitNotification *notification,
-               gpointer            user_data)
-

Emitted when a notification has been withdrawn.

-

The default handler will close the notification using libnotify, if built with -support for it.

-
-

Parameters

-
----- - - - - - - - - - - - - -

notification

the WebKitNotification on which the signal is emitted

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-

Since: 2.8

-
-
-
- - - \ No newline at end of file diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitPrintCustomWidget.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitPrintCustomWidget.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitPrintCustomWidget.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitPrintCustomWidget.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,368 +0,0 @@ - - - - -WebKitPrintCustomWidget: WebKitGTK Reference Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

WebKitPrintCustomWidget

-

WebKitPrintCustomWidget — Allows to embed a custom widget in print dialog

-
-
-

Functions

- -
-
-

Properties

-
----- - - - - - - - - - - - - -
-gchar *titleRead / Write / Construct Only
-GtkWidget *widgetRead / Write / Construct Only
-
-
-

Signals

-
----- - - - - - - - - - - - - -
voidapplyRun Last
voidupdateRun Last
-
-
-

Types and Values

-
---- - - - - -
structWebKitPrintCustomWidget
-
-
-

Object Hierarchy

-
    GObject
-    ╰── WebKitPrintCustomWidget
-
-
-
-

Description

-

A WebKitPrintCustomWidget allows to embed a custom widget in the print -dialog by connecting to the “create-custom-widget” -signal, creating a new WebKitPrintCustomWidget with -webkit_print_custom_widget_new() and returning it from there. You can later -use webkit_print_operation_run_dialog() to display the dialog.

-
-
-

Functions

-
-

webkit_print_custom_widget_new ()

-
WebKitPrintCustomWidget *
-webkit_print_custom_widget_new (GtkWidget *widget,
-                                const char *title);
-

Create a new WebKitPrintCustomWidget with given widget - and title -. The widget - -ownership is taken and it is destroyed together with the dialog even if this -object could still be alive at that point. You typically want to pass a container -widget with multiple widgets in it.

-
-

Parameters

-
----- - - - - - - - - - - - - -

widget

a GtkWidget

 

title

a widget -'s title

 
-
-
-

Returns

-

a new WebKitPrintOperation.

-

[transfer full]

-
-

Since: 2.16

-
-
-
-

webkit_print_custom_widget_get_widget ()

-
GtkWidget *
-webkit_print_custom_widget_get_widget (WebKitPrintCustomWidget *print_custom_widget);
-

Return the value of “widget” property for the given -print_custom_widget - object. The returned value will always be valid if called -from “apply” or “update” -callbacks, but it will be NULL if called after the -“apply” signal is emitted.

-
-

Parameters

-
----- - - - - - -

print_custom_widget

a WebKitPrintCustomWidget

 
-
-
-

Returns

-

a GtkWidget.

-

[transfer none]

-
-

Since: 2.16

-
-
-
-

webkit_print_custom_widget_get_title ()

-
const gchar *
-webkit_print_custom_widget_get_title (WebKitPrintCustomWidget *print_custom_widget);
-

Return the value of “title” property for the given -print_custom_widget - object.

-
-

Parameters

-
----- - - - - - -

print_custom_widget

a WebKitPrintCustomWidget

 
-
-
-

Returns

-

Title of the print_custom_widget -.

-
-

Since: 2.16

-
-
-
-

Types and Values

-
-

struct WebKitPrintCustomWidget

-
struct WebKitPrintCustomWidget;
-
-
-
-

Property Details

-
-

The “title” property

-
  “title”                    gchar *
-

The title of the custom widget.

-

Flags: Read / Write / Construct Only

-

Default value: NULL

-

Since: 2.16

-
-
-
-

The “widget” property

-
  “widget”                   GtkWidget *
-

The custom GtkWidget that will be embedded in the dialog.

-

Flags: Read / Write / Construct Only

-

Since: 2.16

-
-
-
-

Signal Details

-
-

The “apply” signal

-
void
-user_function (WebKitPrintCustomWidget *print_custom_widget,
-               gpointer                 user_data)
-

Emitted right before the printing will start. You should read the information -from the widget and update the content based on it if necessary. The widget -is not guaranteed to be valid at a later time.

-
-

Parameters

-
----- - - - - - - - - - - - - -

print_custom_widget

the WebKitPrintCustomWidget on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-

Since: 2.16

-
-
-
-

The “update” signal

-
void
-user_function (WebKitPrintCustomWidget *print_custom_widget,
-               GtkPageSetup            *page_setup,
-               GtkPrintSettings        *print_settings,
-               gpointer                 user_data)
-

Emitted after change of selected printer in the dialog. The actual page setup -and print settings are available and the custom widget can actualize itself -according to their values.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

print_custom_widget

the WebKitPrintCustomWidget on which the signal was emitted

 

page_setup

actual page setup

 

print_settings

actual print settings

 

user_data

user data set when the signal handler was connected.

 
-
-

Flags: Run Last

-

Since: 2.16

-
-
-
-

See Also

-

WebKitPrintOperation

-
-
- - - \ No newline at end of file diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitURIRequest.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitURIRequest.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitURIRequest.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitURIRequest.html 2020-02-14 09:48:43.000000000 +0000 @@ -73,7 +73,7 @@ -SoupMessageHeaders * +SoupMessageHeaders * webkit_uri_request_get_http_headers () @@ -238,9 +238,9 @@

webkit_uri_request_get_http_headers ()

-
SoupMessageHeaders *
+
SoupMessageHeaders *
 webkit_uri_request_get_http_headers (WebKitURIRequest *request);
-

Get the HTTP headers of a WebKitURIRequest as a SoupMessageHeaders.

+

Get the HTTP headers of a WebKitURIRequest as a SoupMessageHeaders.

Parameters

@@ -258,7 +258,7 @@

Returns

-

a SoupMessageHeaders with the HTTP headers of request +

a SoupMessageHeaders with the HTTP headers of request or NULL if request is not an HTTP request.

[transfer none]

diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitURIResponse.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitURIResponse.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitURIResponse.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitURIResponse.html 2020-02-14 09:48:43.000000000 +0000 @@ -80,7 +80,7 @@
+SoupMessageHeaders * @@ -193,7 +193,7 @@ webkit_uri_response_get_status_code (WebKitURIResponse *response);

Get the status code of the WebKitURIResponse as returned by the server. It will normally be a SoupKnownStatusCode, for -example SOUP_STATUS_OK, though the server can respond with any +example SOUP_STATUS_OK, though the server can respond with any unsigned integer.

Parameters

@@ -305,9 +305,9 @@

webkit_uri_response_get_http_headers ()

-
SoupMessageHeaders *
+
SoupMessageHeaders *
 webkit_uri_response_get_http_headers (WebKitURIResponse *response);
-

Get the HTTP headers of a WebKitURIResponse as a SoupMessageHeaders.

+

Get the HTTP headers of a WebKitURIResponse as a SoupMessageHeaders.

Parameters

-SoupMessageHeaders * +SoupMessageHeaders * webkit_uri_response_get_http_headers () @@ -105,7 +105,7 @@
-SoupMessageHeaders * http-headers Read
@@ -325,7 +325,7 @@

Returns

-

a SoupMessageHeaders with the HTTP headers of response +

a SoupMessageHeaders with the HTTP headers of response or NULL if response is not an HTTP response.

[transfer none]

@@ -353,7 +353,7 @@

The “http-headers” property

-
  “http-headers”             SoupMessageHeaders *
+
  “http-headers”             SoupMessageHeaders *

The HTTP headers of the response, or NULL if the response is not an HTTP response.

Owner: WebKitURIResponse

Flags: Read

diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitWebPage.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitWebPage.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/WebKitWebPage.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/WebKitWebPage.html 2020-02-14 09:48:43.000000000 +0000 @@ -636,7 +636,7 @@ parameter containing the response received by the server for the initial request.

Modifications to the WebKitURIRequest and its associated -SoupMessageHeaders will be taken into account when the request +SoupMessageHeaders will be taken into account when the request is sent over the network.

Parameters

diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/index.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/index.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/index.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/index.html 2020-02-14 09:48:43.000000000 +0000 @@ -14,7 +14,7 @@
-

for WebKitGTK 2.26.3

+

for WebKitGTK 2.26.4


diff -Nru webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html --- webkit2gtk-2.26.3/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html 2020-01-22 11:02:38.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkit2gtk-4.0/html/webkit2gtk-4.0-WebKitVersion.html 2020-02-14 09:48:43.000000000 +0000 @@ -213,7 +213,7 @@

WEBKIT_MICRO_VERSION

-
#define WEBKIT_MICRO_VERSION (3)
+
#define WEBKIT_MICRO_VERSION (4)
 

Like webkit_get_micro_version(), but from the headers used at application compile time, rather than from the library linked diff -Nru webkit2gtk-2.26.3/Documentation/webkitdomgtk-4.0/html/index.html webkit2gtk-2.26.4/Documentation/webkitdomgtk-4.0/html/index.html --- webkit2gtk-2.26.3/Documentation/webkitdomgtk-4.0/html/index.html 2020-01-22 11:02:22.000000000 +0000 +++ webkit2gtk-2.26.4/Documentation/webkitdomgtk-4.0/html/index.html 2020-02-14 09:48:26.000000000 +0000 @@ -14,7 +14,7 @@

-

for WebKitDOMGTK+ 2.26.3

+

for WebKitDOMGTK+ 2.26.4


diff -Nru webkit2gtk-2.26.3/NEWS webkit2gtk-2.26.4/NEWS --- webkit2gtk-2.26.3/NEWS 2020-01-22 10:49:15.000000000 +0000 +++ webkit2gtk-2.26.4/NEWS 2020-02-14 09:45:23.000000000 +0000 @@ -1,4 +1,16 @@ ================ +WebKitGTK 2.26.4 +================ + +What's new in WebKitGTK 2.26.4? + + - Always use a light theme for rendering form controls. + - Fix the build with WPE renderer disabled. + - Fix the build with OpenGL disabled. + - Fix the build with GCC 10. + - Fix several crashes and rendering issues. + +================ WebKitGTK 2.26.3 ================ diff -Nru webkit2gtk-2.26.3/Source/JavaScriptCore/offlineasm/parser.rb webkit2gtk-2.26.4/Source/JavaScriptCore/offlineasm/parser.rb --- webkit2gtk-2.26.3/Source/JavaScriptCore/offlineasm/parser.rb 2019-08-28 11:46:27.000000000 +0000 +++ webkit2gtk-2.26.4/Source/JavaScriptCore/offlineasm/parser.rb 2020-01-29 09:54:07.000000000 +0000 @@ -628,9 +628,7 @@ firstCodeOrigin = @tokens[@idx].codeOrigin list = [] loop { - if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) - break - elsif @tokens[@idx].is_a? Annotation + if @tokens[@idx].is_a? Annotation # This is the only place where we can encounter a global # annotation, and hence need to be able to distinguish between # them. @@ -644,6 +642,8 @@ list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string) @annotation = nil @idx += 2 # Consume the newline as well. + elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) + break elsif @tokens[@idx] == "\n" # ignore @idx += 1 diff -Nru webkit2gtk-2.26.3/Source/JavaScriptCore/runtime/NativeErrorConstructor.h webkit2gtk-2.26.4/Source/JavaScriptCore/runtime/NativeErrorConstructor.h --- webkit2gtk-2.26.3/Source/JavaScriptCore/runtime/NativeErrorConstructor.h 2019-08-28 11:46:28.000000000 +0000 +++ webkit2gtk-2.26.4/Source/JavaScriptCore/runtime/NativeErrorConstructor.h 2020-01-29 09:54:07.000000000 +0000 @@ -22,6 +22,7 @@ #include "Error.h" #include "InternalFunction.h" +#include "JSGlobalObject.h" #include "NativeErrorPrototype.h" namespace JSC { diff -Nru webkit2gtk-2.26.3/Source/ThirdParty/ANGLE/include/platform/Platform.h webkit2gtk-2.26.4/Source/ThirdParty/ANGLE/include/platform/Platform.h --- webkit2gtk-2.26.3/Source/ThirdParty/ANGLE/include/platform/Platform.h 2019-08-28 11:46:28.000000000 +0000 +++ webkit2gtk-2.26.4/Source/ThirdParty/ANGLE/include/platform/Platform.h 2020-02-14 08:57:28.000000000 +0000 @@ -9,6 +9,7 @@ #ifndef ANGLE_PLATFORM_H #define ANGLE_PLATFORM_H +#include #include #include diff -Nru webkit2gtk-2.26.3/Source/ThirdParty/ANGLE/src/common/PackedEnums.h webkit2gtk-2.26.4/Source/ThirdParty/ANGLE/src/common/PackedEnums.h --- webkit2gtk-2.26.3/Source/ThirdParty/ANGLE/src/common/PackedEnums.h 2019-08-28 11:46:28.000000000 +0000 +++ webkit2gtk-2.26.4/Source/ThirdParty/ANGLE/src/common/PackedEnums.h 2020-02-14 08:57:28.000000000 +0000 @@ -83,10 +83,7 @@ // We use a for loop instead of range-for to work around a limitation in MSVC. for (const InitPair *it = init.begin(); it != init.end(); ++it) { - // This horrible const_cast pattern is necessary to work around a constexpr limitation. - // See https://stackoverflow.com/q/34199774/ . Note that it should be fixed with C++17. - const_cast(const_cast( - mPrivateData)[static_cast(it->first)]) = it->second; + mPrivateData[static_cast(it->first)] = it->second; } } diff -Nru webkit2gtk-2.26.3/Source/WTF/wtf/Platform.h webkit2gtk-2.26.4/Source/WTF/wtf/Platform.h --- webkit2gtk-2.26.3/Source/WTF/wtf/Platform.h 2019-08-28 11:46:29.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WTF/wtf/Platform.h 2020-01-29 10:30:41.000000000 +0000 @@ -1447,7 +1447,7 @@ #endif #endif -#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(GTK) +#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) #define HAVE_OS_DARK_MODE_SUPPORT 1 #endif diff -Nru webkit2gtk-2.26.3/Source/WebCore/bindings/js/ScriptController.cpp webkit2gtk-2.26.4/Source/WebCore/bindings/js/ScriptController.cpp --- webkit2gtk-2.26.3/Source/WebCore/bindings/js/ScriptController.cpp 2019-08-28 11:46:30.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/bindings/js/ScriptController.cpp 2020-02-14 09:26:36.000000000 +0000 @@ -616,11 +616,14 @@ return evaluate(sourceCode, exceptionDetails); } -bool ScriptController::executeIfJavaScriptURL(const URL& url, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL) +bool ScriptController::executeIfJavaScriptURL(const URL& url, RefPtr requesterSecurityOrigin, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL) { if (!WTF::protocolIsJavaScript(url)) return false; + if (requesterSecurityOrigin && !requesterSecurityOrigin->canAccess(m_frame.document()->securityOrigin())) + return true; + if (!m_frame.page() || !m_frame.document()->contentSecurityPolicy()->allowJavaScriptURLs(m_frame.document()->url(), eventHandlerPosition().m_line)) return true; diff -Nru webkit2gtk-2.26.3/Source/WebCore/bindings/js/ScriptController.h webkit2gtk-2.26.4/Source/WebCore/bindings/js/ScriptController.h --- webkit2gtk-2.26.3/Source/WebCore/bindings/js/ScriptController.h 2019-08-28 11:46:30.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/bindings/js/ScriptController.h 2020-02-14 09:24:13.000000000 +0000 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -96,7 +97,7 @@ bool shouldAllowUserAgentScripts(Document&) const; // Returns true if argument is a JavaScript URL. - bool executeIfJavaScriptURL(const URL&, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL = ReplaceDocumentIfJavaScriptURL); + bool executeIfJavaScriptURL(const URL&, RefPtr = nullptr, ShouldReplaceDocumentIfJavaScriptURL = ReplaceDocumentIfJavaScriptURL); // This function must be called from the main thread. It is safe to call it repeatedly. // Darwin is an exception to this rule: it is OK to call this function from any thread, even reentrantly. diff -Nru webkit2gtk-2.26.3/Source/WebCore/css/CSSFontFaceSet.cpp webkit2gtk-2.26.4/Source/WebCore/css/CSSFontFaceSet.cpp --- webkit2gtk-2.26.3/Source/WebCore/css/CSSFontFaceSet.cpp 2019-08-28 11:46:30.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/css/CSSFontFaceSet.cpp 2020-02-14 09:35:14.000000000 +0000 @@ -300,7 +300,7 @@ return m_faces[i]; } -static FontSelectionRequest computeFontSelectionRequest(MutableStyleProperties& style) +static ExceptionOr computeFontSelectionRequest(MutableStyleProperties& style) { RefPtr weightValue = style.getPropertyCSSValue(CSSPropertyFontWeight).get(); if (!weightValue) @@ -314,11 +314,14 @@ if (!styleValue) styleValue = CSSFontStyleValue::create(CSSValuePool::singleton().createIdentifierValue(CSSValueNormal)); + if (weightValue->isGlobalKeyword() || stretchValue->isGlobalKeyword() || styleValue->isGlobalKeyword()) + return Exception { SyntaxError }; + auto weightSelectionValue = StyleBuilderConverter::convertFontWeightFromValue(*weightValue); auto stretchSelectionValue = StyleBuilderConverter::convertFontStretchFromValue(*stretchValue); auto styleSelectionValue = StyleBuilderConverter::convertFontStyleFromValue(*styleValue); - return { weightSelectionValue, stretchSelectionValue, styleSelectionValue }; + return {{ weightSelectionValue, stretchSelectionValue, styleSelectionValue }}; } static HashSet codePointsFromString(StringView stringView) @@ -344,7 +347,10 @@ if (parseResult == CSSParser::ParseResult::Error) return Exception { SyntaxError }; - FontSelectionRequest request = computeFontSelectionRequest(style.get()); + auto requestOrException = computeFontSelectionRequest(style.get()); + if (requestOrException.hasException()) + return requestOrException.releaseException(); + auto request = requestOrException.releaseReturnValue(); auto family = style->getPropertyCSSValue(CSSPropertyFontFamily); if (!is(family)) diff -Nru webkit2gtk-2.26.3/Source/WebCore/dom/Document.cpp webkit2gtk-2.26.4/Source/WebCore/dom/Document.cpp --- webkit2gtk-2.26.3/Source/WebCore/dom/Document.cpp 2020-01-22 09:58:49.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/dom/Document.cpp 2020-02-14 09:22:32.000000000 +0000 @@ -5941,10 +5941,12 @@ return true; if (!securityOrigin().isPotentiallyTrustworthy()) return false; - for (Frame* frame = m_frame->tree().parent(); frame; frame = frame->tree().parent()) { + for (auto* frame = m_frame->tree().parent(); frame; frame = frame->tree().parent()) { if (!frame->document()->securityOrigin().isPotentiallyTrustworthy()) return false; } + if (topOrigin().isUnique()) + return false; return true; } @@ -6927,7 +6929,6 @@ bool Document::useDarkAppearance(const RenderStyle* style) const { -#if HAVE(OS_DARK_MODE_SUPPORT) #if ENABLE(DARK_MODE_CSS) OptionSet colorScheme; @@ -6956,9 +6957,6 @@ if (colorScheme.contains(ColorScheme::Dark)) return pageUsesDarkAppearance; #endif -#else - UNUSED_PARAM(style); -#endif return false; } diff -Nru webkit2gtk-2.26.3/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp webkit2gtk-2.26.4/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp --- webkit2gtk-2.26.3/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp 2019-08-28 11:46:30.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp 2020-02-14 09:19:56.000000000 +0000 @@ -89,10 +89,16 @@ }); } +static inline bool isBlobURLContainsNullOrigin(const URL& url) +{ + ASSERT(url.protocolIsBlob()); + return BlobURL::getOrigin(url) == "null"; +} + void ThreadableBlobRegistry::registerBlobURL(PAL::SessionID sessionID, SecurityOrigin* origin, const URL& url, const URL& srcURL) { // If the blob URL contains null origin, as in the context with unique security origin or file URL, save the mapping between url and origin so that the origin can be retrived when doing security origin check. - if (origin && BlobURL::getOrigin(url) == "null") + if (origin && isBlobURLContainsNullOrigin(url)) originMap()->add(url.string(), origin); if (isMainThread()) { @@ -145,7 +151,7 @@ void ThreadableBlobRegistry::unregisterBlobURL(PAL::SessionID sessionID, const URL& url) { - if (BlobURL::getOrigin(url) == "null") + if (isBlobURLContainsNullOrigin(url)) originMap()->remove(url.string()); if (isMainThread()) { @@ -159,7 +165,14 @@ RefPtr ThreadableBlobRegistry::getCachedOrigin(const URL& url) { - return originMap()->get(url.string()); + if (auto cachedOrigin = originMap()->get(url.string())) + return cachedOrigin; + + if (!url.protocolIsBlob() || !isBlobURLContainsNullOrigin(url)) + return nullptr; + + // If we do not have a cached origin for null blob URLs, we use a unique origin. + return SecurityOrigin::createUnique(); } } // namespace WebCore diff -Nru webkit2gtk-2.26.3/Source/WebCore/loader/FrameLoader.cpp webkit2gtk-2.26.4/Source/WebCore/loader/FrameLoader.cpp --- webkit2gtk-2.26.3/Source/WebCore/loader/FrameLoader.cpp 2019-09-23 09:06:49.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/loader/FrameLoader.cpp 2020-02-14 09:30:33.000000000 +0000 @@ -397,7 +397,7 @@ Ref protect(m_frame); - if (m_frame.script().executeIfJavaScriptURL(frameRequest.resourceRequest().url(), frameRequest.shouldReplaceDocumentIfJavaScriptURL())) + if (m_frame.script().executeIfJavaScriptURL(frameRequest.resourceRequest().url(), &frameRequest.requester().securityOrigin(), frameRequest.shouldReplaceDocumentIfJavaScriptURL())) return; if (frameRequest.frameName().isEmpty()) @@ -433,7 +433,7 @@ return; m_isExecutingJavaScriptFormAction = true; Ref protect(m_frame); - m_frame.script().executeIfJavaScriptURL(submission->action(), DoNotReplaceDocumentIfJavaScriptURL); + m_frame.script().executeIfJavaScriptURL(submission->action(), nullptr, DoNotReplaceDocumentIfJavaScriptURL); m_isExecutingJavaScriptFormAction = false; return; } diff -Nru webkit2gtk-2.26.3/Source/WebCore/page/FrameView.cpp webkit2gtk-2.26.4/Source/WebCore/page/FrameView.cpp --- webkit2gtk-2.26.3/Source/WebCore/page/FrameView.cpp 2019-08-28 11:46:31.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/page/FrameView.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -2971,12 +2971,7 @@ void FrameView::updateBackgroundRecursively(const Optional& backgroundColor) { #if HAVE(OS_DARK_MODE_SUPPORT) -#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY) - static const auto cssValueControlBackground = CSSValueAppleSystemControlBackground; -#else - static const auto cssValueControlBackground = CSSValueWindow; -#endif - Color baseBackgroundColor = backgroundColor.valueOr(RenderTheme::singleton().systemColor(cssValueControlBackground, styleColorOptions())); + Color baseBackgroundColor = backgroundColor.valueOr(RenderTheme::singleton().systemColor(CSSValueAppleSystemControlBackground, styleColorOptions())); #else Color baseBackgroundColor = backgroundColor.valueOr(Color::white); #endif diff -Nru webkit2gtk-2.26.3/Source/WebCore/page/Page.cpp webkit2gtk-2.26.4/Source/WebCore/page/Page.cpp --- webkit2gtk-2.26.3/Source/WebCore/page/Page.cpp 2019-08-28 11:46:31.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/page/Page.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -2714,7 +2714,7 @@ void Page::effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel) { -#if HAVE(OS_DARK_MODE_SUPPORT) +#if ENABLE(DARK_MODE_CSS) if (m_useDarkAppearance == useDarkAppearance && m_useElevatedUserInterfaceLevel == useElevatedUserInterfaceLevel) return; @@ -2738,7 +2738,7 @@ bool Page::useDarkAppearance() const { -#if HAVE(OS_DARK_MODE_SUPPORT) +#if ENABLE(DARK_MODE_CSS) FrameView* view = mainFrame().view(); if (!view || !equalLettersIgnoringASCIICase(view->mediaType(), "screen")) return false; diff -Nru webkit2gtk-2.26.3/Source/WebCore/page/SecurityOrigin.cpp webkit2gtk-2.26.4/Source/WebCore/page/SecurityOrigin.cpp --- webkit2gtk-2.26.3/Source/WebCore/page/SecurityOrigin.cpp 2019-08-28 11:46:31.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/page/SecurityOrigin.cpp 2020-02-14 09:38:50.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2017 Apple Inc. All rights reserved. + * Copyright (C) 2007-2019 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -45,6 +45,8 @@ namespace WebCore { +constexpr unsigned maximumURLSize = 0x04000000; + static bool schemeRequiresHost(const URL& url) { // We expect URLs with these schemes to have authority components. If the @@ -356,7 +358,10 @@ if (m_universalAccess) return true; -#if !PLATFORM(IOS_FAMILY) + if (url.pathEnd() > maximumURLSize) + return false; + +#if !PLATFORM(IOS_FAMILY) && !ENABLE(BUBBLEWRAP_SANDBOX) if (m_data.protocol == "file" && url.isLocalFile() && !FileSystem::filesHaveSameVolume(m_filePath, url.fileSystemPath())) return false; #endif diff -Nru webkit2gtk-2.26.3/Source/WebCore/rendering/RenderThemeGtk.cpp webkit2gtk-2.26.4/Source/WebCore/rendering/RenderThemeGtk.cpp --- webkit2gtk-2.26.3/Source/WebCore/rendering/RenderThemeGtk.cpp 2019-08-28 11:46:31.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/rendering/RenderThemeGtk.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -124,22 +124,6 @@ } #endif -static void themeChangedCallback() -{ - Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment(); -} - -RenderThemeGtk::RenderThemeGtk() -{ - static bool themeMonitorInitialized = false; - if (!themeMonitorInitialized) { - GtkSettings* settings = gtk_settings_get_default(); - g_signal_connect(settings, "notify::gtk-theme-name", G_CALLBACK(themeChangedCallback), nullptr); - g_signal_connect(settings, "notify::gtk-color-scheme", G_CALLBACK(themeChangedCallback), nullptr); - themeMonitorInitialized = true; - } -} - enum RenderThemePart { Entry, EntrySelection, @@ -951,17 +935,6 @@ return styleColor(Entry, GTK_STATE_FLAG_ACTIVE, StyleColorForeground); case CSSValueGraytext: return styleColor(Entry, GTK_STATE_FLAG_INSENSITIVE, StyleColorForeground); - case CSSValueWebkitControlBackground: - return styleColor(Entry, GTK_STATE_FLAG_ACTIVE, StyleColorBackground); - case CSSValueWindow: { - // Only get window color from the theme in dark mode. - gboolean preferDarkTheme = FALSE; - if (auto* settings = gtk_settings_get_default()) - g_object_get(settings, "gtk-application-prefer-dark-theme", &preferDarkTheme, nullptr); - if (preferDarkTheme) - return styleColor(Window, GTK_STATE_FLAG_ACTIVE, StyleColorBackground); - break; - } default: break; } diff -Nru webkit2gtk-2.26.3/Source/WebCore/rendering/RenderThemeGtk.h webkit2gtk-2.26.4/Source/WebCore/rendering/RenderThemeGtk.h --- webkit2gtk-2.26.3/Source/WebCore/rendering/RenderThemeGtk.h 2019-08-28 11:46:31.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/rendering/RenderThemeGtk.h 2020-01-29 10:30:41.000000000 +0000 @@ -104,7 +104,6 @@ bool shouldHaveCapsLockIndicator(const HTMLInputElement&) const override; private: - RenderThemeGtk(); virtual ~RenderThemeGtk(); bool paintCheckbox(const RenderObject&, const PaintInfo&, const IntRect&) override; diff -Nru webkit2gtk-2.26.3/Source/WebCore/testing/InternalSettings.cpp webkit2gtk-2.26.4/Source/WebCore/testing/InternalSettings.cpp --- webkit2gtk-2.26.3/Source/WebCore/testing/InternalSettings.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebCore/testing/InternalSettings.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -51,10 +51,6 @@ #include "SoupNetworkSession.h" #endif -#if PLATFORM(GTK) -#include -#endif - namespace WebCore { InternalSettings::Backup::Backup(Settings& settings) @@ -542,16 +538,6 @@ void InternalSettings::setUseDarkAppearanceInternal(bool useDarkAppearance) { -#if PLATFORM(GTK) - // GTK doesn't allow to change the theme from the web process, but tests need to do it, so - // we do it here only for tests. - if (auto* settings = gtk_settings_get_default()) { - gboolean preferDarkTheme; - g_object_get(settings, "gtk-application-prefer-dark-theme", &preferDarkTheme, nullptr); - if (preferDarkTheme != useDarkAppearance) - g_object_set(settings, "gtk-application-prefer-dark-theme", useDarkAppearance, nullptr); - } -#endif ASSERT(m_page); m_page->effectiveAppearanceDidChange(useDarkAppearance, m_page->useElevatedUserInterfaceLevel()); } diff -Nru webkit2gtk-2.26.3/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp webkit2gtk-2.26.4/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp --- webkit2gtk-2.26.3/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp 2020-01-31 14:42:20.000000000 +0000 @@ -89,7 +89,12 @@ void Engine::destroyEngine(NetworkProcess& networkProcess, PAL::SessionID sessionID) { +#if !USE(SOUP) + // Soup based ports destroy the default session right before the process exits to avoid leaking + // network resources like the cookies database. ASSERT(sessionID != PAL::SessionID::defaultSessionID()); +#endif + networkProcess.removeCacheEngine(sessionID); } diff -Nru webkit2gtk-2.26.3/Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp webkit2gtk-2.26.4/Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp --- webkit2gtk-2.26.3/Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp 2020-01-29 10:30:17.000000000 +0000 @@ -47,6 +47,12 @@ for (auto& subprotocol : protocolList) protocols.get()[i++] = g_strdup(WebCore::stripLeadingAndTrailingHTTPSpaces(subprotocol).utf8().data()); } + + // Ensure a new connection is used for WebSockets. + // FIXME: this is done by libsoup since 2.69.1 and 2.68.4, so it can be removed when bumping the libsoup requirement. + // See https://bugs.webkit.org/show_bug.cgi?id=203404 + soup_message_set_flags(msg, static_cast(soup_message_get_flags(msg) | SOUP_MESSAGE_NEW_CONNECTION)); + soup_session_websocket_connect_async(session, msg, nullptr, protocols.get(), m_cancellable.get(), [] (GObject* session, GAsyncResult* result, gpointer userData) { GUniqueOutPtr error; diff -Nru webkit2gtk-2.26.3/Source/WebKit/Shared/WebPageCreationParameters.cpp webkit2gtk-2.26.4/Source/WebKit/Shared/WebPageCreationParameters.cpp --- webkit2gtk-2.26.3/Source/WebKit/Shared/WebPageCreationParameters.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/Shared/WebPageCreationParameters.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -133,6 +133,10 @@ #endif encoder << backgroundColor; encoder << oldPageID; + +#if PLATFORM(GTK) + encoder << themeName; +#endif } Optional WebPageCreationParameters::decode(IPC::Decoder& decoder) @@ -404,6 +408,11 @@ return WTF::nullopt; parameters.oldPageID = WTFMove(*oldPageID); +#if PLATFORM(GTK) + if (!decoder.decode(parameters.themeName)) + return WTF::nullopt; +#endif + return parameters; } diff -Nru webkit2gtk-2.26.3/Source/WebKit/Shared/WebPageCreationParameters.h webkit2gtk-2.26.4/Source/WebKit/Shared/WebPageCreationParameters.h --- webkit2gtk-2.26.3/Source/WebKit/Shared/WebPageCreationParameters.h 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/Shared/WebPageCreationParameters.h 2020-01-29 10:30:41.000000000 +0000 @@ -210,6 +210,10 @@ Optional backgroundColor; Optional oldPageID; + +#if PLATFORM(GTK) + String themeName; +#endif }; } // namespace WebKit diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp 2020-01-29 10:30:42.000000000 +0000 @@ -561,14 +561,14 @@ if (preferDarkTheme) return true; + if (auto* themeNameEnv = g_getenv("GTK_THEME")) + return g_str_has_suffix(themeNameEnv, "-dark") || g_str_has_suffix(themeNameEnv, ":dark"); + GUniqueOutPtr themeName; g_object_get(settings, "gtk-theme-name", &themeName.outPtr(), nullptr); if (g_str_has_suffix(themeName.get(), "-dark")) return true; - if (auto* themeNameEnv = g_getenv("GTK_THEME")) - return g_str_has_suffix(themeNameEnv, ":dark"); - return false; } @@ -579,4 +579,21 @@ } #endif +String PageClientImpl::themeName() const +{ + if (auto* themeNameEnv = g_getenv("GTK_THEME")) { + String name = String::fromUTF8(themeNameEnv); + if (name.endsWith("-dark") || name.endsWith(":dark")) + return name.substring(0, name.length() - 5); + return name; + } + + GUniqueOutPtr themeNameSetting; + g_object_get(gtk_widget_get_settings(m_viewWidget), "gtk-theme-name", &themeNameSetting.outPtr(), nullptr); + String name = String::fromUTF8(themeNameSetting.get()); + if (name.endsWith("-dark")) + return name.substring(0, name.length() - 5); + return name; +} + } // namespace WebKit diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h webkit2gtk-2.26.4/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h 2020-01-29 10:30:41.000000000 +0000 @@ -172,6 +172,8 @@ IPC::Attachment hostFileDescriptor() override; #endif + String themeName() const override; + // Members of PageClientImpl class GtkWidget* m_viewWidget; DefaultUndoController m_undoController; diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2019-09-23 08:17:18.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -292,6 +292,11 @@ static void themeChanged(WebKitWebViewBase* webViewBase) { + webViewBase->priv->pageProxy->themeDidChange(); +} + +static void applicationPreferDarkThemeChanged(WebKitWebViewBase* webViewBase) +{ webViewBase->priv->pageProxy->effectiveAppearanceDidChange(); } @@ -371,7 +376,7 @@ priv->themeChangedID = g_signal_connect_swapped(settings, "notify::gtk-theme-name", G_CALLBACK(themeChanged), webViewBase); priv->applicationPreferDarkThemeID = - g_signal_connect_swapped(settings, "notify::gtk-application-prefer-dark-theme", G_CALLBACK(themeChanged), webViewBase); + g_signal_connect_swapped(settings, "notify::gtk-application-prefer-dark-theme", G_CALLBACK(applicationPreferDarkThemeChanged), webViewBase); if (gtk_widget_get_realized(GTK_WIDGET(window))) gtk_widget_realize(GTK_WIDGET(webViewBase)); diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp 2019-11-06 08:09:11.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp 2020-02-14 08:56:16.000000000 +0000 @@ -375,17 +375,20 @@ // Configs can include custom dirs but then we have to parse them... GUniquePtr fontConfig(g_build_filename(configDir, "fontconfig", nullptr)); + GUniquePtr fontConfigHome(g_build_filename(homeDir, ".fontconfig", nullptr)); GUniquePtr fontCache(g_build_filename(cacheDir, "fontconfig", nullptr)); GUniquePtr fontHomeConfig(g_build_filename(homeDir, ".fonts.conf", nullptr)); GUniquePtr fontHomeConfigDir(g_build_filename(configDir, ".fonts.conf.d", nullptr)); GUniquePtr fontData(g_build_filename(dataDir, "fonts", nullptr)); GUniquePtr fontHomeData(g_build_filename(homeDir, ".fonts", nullptr)); bindIfExists(args, fontConfig.get()); + bindIfExists(args, fontConfigHome.get()); bindIfExists(args, fontCache.get(), BindFlags::ReadWrite); bindIfExists(args, fontHomeConfig.get()); bindIfExists(args, fontHomeConfigDir.get()); bindIfExists(args, fontData.get()); bindIfExists(args, fontHomeData.get()); + bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian. } #if PLATFORM(GTK) diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/PageClient.h webkit2gtk-2.26.4/Source/WebKit/UIProcess/PageClient.h --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/PageClient.h 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/PageClient.h 2020-01-29 10:30:41.000000000 +0000 @@ -510,6 +510,10 @@ #if USE(WPE_RENDERER) virtual IPC::Attachment hostFileDescriptor() = 0; #endif + +#if PLATFORM(GTK) + virtual String themeName() const = 0; +#endif }; } // namespace WebKit diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/WebPageProxy.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/WebPageProxy.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-09-23 08:31:42.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -7292,6 +7292,10 @@ process.addWebUserContentControllerProxy(m_userContentController, parameters); +#if PLATFORM(GTK) + parameters.themeName = pageClient().themeName(); +#endif + return parameters; } diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/WebPageProxy.h webkit2gtk-2.26.4/Source/WebKit/UIProcess/WebPageProxy.h --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/WebPageProxy.h 2019-09-23 08:32:47.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/WebPageProxy.h 2020-01-29 10:30:41.000000000 +0000 @@ -806,6 +806,7 @@ #if PLATFORM(GTK) PlatformViewWidget viewWidget(); bool makeGLContextCurrent(); + void themeDidChange(); #endif const Optional& backgroundColor() const { return m_backgroundColor; } diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp 2020-02-14 08:52:42.000000000 +0000 @@ -119,7 +119,7 @@ parameters.hostClientFileDescriptor = wpe_renderer_host_create_client(); parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(wpe_loader_get_loaded_implementation_library_name()); } -#else +#elif USE(EGL) parameters.waylandCompositorDisplayName = WaylandCompositor::singleton().displayName(); #endif } diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp 2019-09-23 08:17:18.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp 2020-01-29 13:45:59.000000000 +0000 @@ -58,6 +58,10 @@ typedef EGLBoolean (*PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay, struct wl_display*); #endif +#if !defined(EGL_WAYLAND_BUFFER_WL) +#define EGL_WAYLAND_BUFFER_WL 0x31D5 +#endif + #if !defined(PFNEGLQUERYWAYLANDBUFFERWL) typedef EGLBoolean (*PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay, struct wl_resource*, EGLint attribute, EGLint* value); #endif diff -Nru webkit2gtk-2.26.3/Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp webkit2gtk-2.26.4/Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp --- webkit2gtk-2.26.3/Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp 2019-08-28 11:46:32.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -166,4 +166,13 @@ webkitWebViewBaseShowEmojiChooser(WEBKIT_WEB_VIEW_BASE(viewWidget()), caretRect, WTFMove(completionHandler)); } +void WebPageProxy::themeDidChange() +{ + if (!hasRunningProcess()) + return; + + send(Messages::WebPage::ThemeDidChange(pageClient().themeName())); + effectiveAppearanceDidChange(); +} + } // namespace WebKit diff -Nru webkit2gtk-2.26.3/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp webkit2gtk-2.26.4/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp --- webkit2gtk-2.26.3/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2019-09-23 09:30:04.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -35,6 +35,9 @@ int main(int argc, char** argv) { + // Ignore the GTK_THEME environment variable, the theme is always set by the UI process now. + unsetenv("GTK_THEME"); + #if USE(GCRYPT) PAL::GCrypt::initialize(); #endif diff -Nru webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/WebPage.cpp webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/WebPage.cpp --- webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-09-04 09:22:37.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -564,6 +564,10 @@ setGapBetweenPages(parameters.gapBetweenPages); setPaginationLineGridEnabled(parameters.paginationLineGridEnabled); +#if PLATFORM(GTK) + themeDidChange(WTFMove(parameters.themeName)); +#endif + effectiveAppearanceDidChange(parameters.useDarkAppearance, parameters.useElevatedUserInterfaceLevel); if (parameters.isEditable) @@ -4665,12 +4669,10 @@ #endif -#if !PLATFORM(GTK) void WebPage::effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel) { corePage()->effectiveAppearanceDidChange(useDarkAppearance, useElevatedUserInterfaceLevel); } -#endif void WebPage::beginPrinting(FrameIdentifier frameID, const PrintInfo& printInfo) { diff -Nru webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/WebPage.h webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/WebPage.h --- webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/WebPage.h 2019-08-28 11:46:33.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/WebPage.h 2020-01-29 10:30:41.000000000 +0000 @@ -777,6 +777,8 @@ void showEmojiPicker(WebCore::Frame&); void getCenterForZoomGesture(const WebCore::IntPoint& centerInViewCoordinates, CompletionHandler&&); + + void themeDidChange(String&&); #endif void didApplyStyle(); @@ -1967,6 +1969,10 @@ #if ENABLE(TEXT_AUTOSIZING) WebCore::Timer m_textAutoSizingAdjustmentTimer; #endif + +#if PLATFORM(GTK) + String m_themeName; +#endif }; #if !PLATFORM(IOS_FAMILY) diff -Nru webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/WebPage.messages.in webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/WebPage.messages.in --- webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2019-08-28 11:46:33.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2020-01-29 10:30:41.000000000 +0000 @@ -495,6 +495,10 @@ EffectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel); +#if PLATFORM(GTK) + ThemeDidChange(String themeName) +#endif + #if PLATFORM(COCOA) RequestActiveNowPlayingSessionInfo(WebKit::CallbackID callbackID) #endif diff -Nru webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp --- webkit2gtk-2.26.3/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp 2019-08-28 11:46:33.000000000 +0000 +++ webkit2gtk-2.26.4/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp 2020-01-29 10:30:41.000000000 +0000 @@ -203,11 +203,14 @@ sendWithAsyncReply(Messages::WebPageProxy::ShowEmojiPicker(frame.view()->contentsToRootView(frame.selection().absoluteCaretBounds())), WTFMove(completionHandler)); } -void WebPage::effectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance) +void WebPage::themeDidChange(String&& themeName) { - if (auto* settings = gtk_settings_get_default()) - g_object_set(settings, "gtk-application-prefer-dark-theme", useDarkAppearance, nullptr); - corePage()->effectiveAppearanceDidChange(useDarkAppearance, useInactiveAppearance); + if (m_themeName == themeName) + return; + + m_themeName = WTFMove(themeName); + g_object_set(gtk_settings_get_default(), "gtk-theme-name", m_themeName.utf8().data(), nullptr); + Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment(); } } // namespace WebKit diff -Nru webkit2gtk-2.26.3/Source/cmake/OptionsGTK.cmake webkit2gtk-2.26.4/Source/cmake/OptionsGTK.cmake --- webkit2gtk-2.26.3/Source/cmake/OptionsGTK.cmake 2020-01-22 10:49:30.000000000 +0000 +++ webkit2gtk-2.26.4/Source/cmake/OptionsGTK.cmake 2020-02-14 09:46:05.000000000 +0000 @@ -1,11 +1,11 @@ include(GNUInstallDirs) include(VersioningUtils) -SET_PROJECT_VERSION(2 26 3) +SET_PROJECT_VERSION(2 26 4) set(WEBKITGTK_API_VERSION 4.0) -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 76 4 39) -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE 32 8 14) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 76 5 39) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(JAVASCRIPTCORE 32 9 14) # These are shared variables, but we special case their definition so that we can use the # CMAKE_INSTALL_* variables that are populated by the GNUInstallDirs macro. @@ -195,7 +195,6 @@ set(GDK_INCLUDE_DIRS ${GDK3_INCLUDE_DIRS}) SET_AND_EXPOSE_TO_BUILD(HAVE_GTK_UNIX_PRINTING ${GTKUnixPrint_FOUND}) -SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1) if (USE_WPE_RENDERER) find_package(WPE 1.3.0) diff -Nru webkit2gtk-2.26.3/debian/changelog webkit2gtk-2.26.4/debian/changelog --- webkit2gtk-2.26.3/debian/changelog 2020-01-29 10:39:55.000000000 +0000 +++ webkit2gtk-2.26.4/debian/changelog 2020-03-16 14:25:01.000000000 +0000 @@ -1,8 +1,13 @@ -webkit2gtk (2.26.3-1~deb10u1) buster-security; urgency=medium +webkit2gtk (2.26.4-1~deb10u2) buster-security; urgency=medium - * Rebuild for buster-security. - + This fixes CVE-2019-8835, CVE-2019-8844 and CVE-2019-8846. - See https://webkitgtk.org/security/WSA-2020-0001.html. + * debian/patches/cve-2020-10018-fix.patch: + + Cherry-pick fix for CVE-2020-10018. + + -- Alberto Garcia Mon, 16 Mar 2020 15:25:01 +0100 + +webkit2gtk (2.26.4-1~deb10u1) buster-security; urgency=medium + + * Rebuild for buster-backports. * debian/patches/force-single-process.patch: + Force the single-process mode in Evolution and Geary * debian/control: @@ -10,7 +15,37 @@ + Remove build dependency on libwpebackend-fdo-1.0-dev. + Switch build dependency from libenchant-2-dev to libenchant-dev. - -- Alberto Garcia Wed, 29 Jan 2020 11:39:55 +0100 + -- Alberto Garcia Mon, 17 Feb 2020 11:02:17 +0100 + +webkit2gtk (2.26.4-1) unstable; urgency=high + + * New upstream release. + * The WebKitGTK security advisory WSA-2020-0001 lists the following + security fixes in the latest versions of WebKitGTK: + + CVE-2019-8835, CVE-2019-8844, CVE-2019-8846 (fixed in 2.26.3) + * The WebKitGTK security advisory WSA-2020-0002 lists the following + security fixes in the latest versions of WebKitGTK: + + CVE-2020-3862, CVE-2020-3864, CVE-2020-3865, CVE-2020-3867, + CVE-2020-3868 (fixed in 2.26.4) + * debian/rules: + + Don't use the Gold linker on powerpc (Closes: #949618). + + Run dh with --builddirectory=build. Some source files are generated + inside this directory and are later referenced from the .gir files + so their path names should be independent from the architecture. + * debian/control: + + Mark libwebkit2gtk-4.0-doc and libwebkit2gtk-4.0-37-gtk2 as + Multi-Arch: foreign. + + Update Standards-Version to 4.5.0 (no changes). + * debian/patches/reduce-memory-overheads.patch: + + Reduce memory usage when not using the Gold linker + (Closes: #949621). + * debian/patches/fix-ftbfs-m68k.patch: + + Update to make it work with the current release (Closes: #949660). + * debian/patches/detect-woff.patch: + + Refresh. + * Add debian/upstream/metadata. + + -- Alberto Garcia Fri, 14 Feb 2020 14:55:40 +0100 webkit2gtk (2.26.3-1) unstable; urgency=high @@ -3252,4 +3287,3 @@ * Initial release. (Closes: #428855) -- Mike Hommey Wed, 15 Aug 2007 14:19:46 +0200 - diff -Nru webkit2gtk-2.26.3/debian/control webkit2gtk-2.26.4/debian/control --- webkit2gtk-2.26.3/debian/control 2020-01-29 10:39:55.000000000 +0000 +++ webkit2gtk-2.26.4/debian/control 2020-03-16 14:25:01.000000000 +0000 @@ -60,7 +60,7 @@ libgl1-mesa-dev [!armel !armhf !arm64], libgles2-mesa-dev Build-Conflicts: gir-repository-dev -Standards-Version: 4.4.1 +Standards-Version: 4.5.0 Rules-Requires-Root: no Vcs-Browser: https://salsa.debian.org/webkit-team/webkit Vcs-Git: https://salsa.debian.org/webkit-team/webkit.git @@ -195,6 +195,7 @@ Package: libwebkit2gtk-4.0-doc Section: doc Architecture: all +Multi-Arch: foreign Depends: ${misc:Depends} Suggests: devhelp Description: Web content engine library for GTK - documentation @@ -240,6 +241,7 @@ Package: libwebkit2gtk-4.0-37-gtk2 Section: oldlibs Architecture: all +Multi-Arch: foreign Depends: ${misc:Depends} Suggests: browser-plugin-freshplayer-pepperflash Description: Transitional dummy package diff -Nru webkit2gtk-2.26.3/debian/patches/cve-2020-10018-fix.patch webkit2gtk-2.26.4/debian/patches/cve-2020-10018-fix.patch --- webkit2gtk-2.26.3/debian/patches/cve-2020-10018-fix.patch 1970-01-01 00:00:00.000000000 +0000 +++ webkit2gtk-2.26.4/debian/patches/cve-2020-10018-fix.patch 2020-03-16 14:25:01.000000000 +0000 @@ -0,0 +1,20 @@ +From: ChangSeok Oh +Subject: Fix CVE-2020-10018 +Origin: https://trac.webkit.org/changeset/257292/webkit +Index: webkitgtk/Source/WebCore/accessibility/AXObjectCache.cpp +=================================================================== +--- webkitgtk.orig/Source/WebCore/accessibility/AXObjectCache.cpp ++++ webkitgtk/Source/WebCore/accessibility/AXObjectCache.cpp +@@ -758,6 +758,12 @@ void AXObjectCache::remove(Node& node) + m_deferredFocusedNodeChange.removeAllMatching([&node](auto& entry) -> bool { + return entry.second == &node; + }); ++ // Set nullptr to the old focused node if it is being removed. ++ std::for_each(m_deferredFocusedNodeChange.begin(), m_deferredFocusedNodeChange.end(), [&node](auto& entry) { ++ if (entry.first == &node) ++ entry.first = nullptr; ++ }); ++ + removeNodeForUse(node); + + remove(m_nodeObjectMapping.take(&node)); diff -Nru webkit2gtk-2.26.3/debian/patches/detect-woff.patch webkit2gtk-2.26.4/debian/patches/detect-woff.patch --- webkit2gtk-2.26.3/debian/patches/detect-woff.patch 2020-01-29 10:39:55.000000000 +0000 +++ webkit2gtk-2.26.4/debian/patches/detect-woff.patch 2020-03-16 14:25:01.000000000 +0000 @@ -5,7 +5,7 @@ =================================================================== --- webkitgtk.orig/Source/cmake/OptionsGTK.cmake +++ webkitgtk/Source/cmake/OptionsGTK.cmake -@@ -363,7 +363,8 @@ endif () +@@ -362,7 +362,8 @@ endif () if (USE_WOFF2) find_package(WOFF2Dec 1.0.2) if (NOT WOFF2DEC_FOUND) diff -Nru webkit2gtk-2.26.3/debian/patches/fix-ftbfs-m68k.patch webkit2gtk-2.26.4/debian/patches/fix-ftbfs-m68k.patch --- webkit2gtk-2.26.3/debian/patches/fix-ftbfs-m68k.patch 2020-01-29 10:39:55.000000000 +0000 +++ webkit2gtk-2.26.4/debian/patches/fix-ftbfs-m68k.patch 2020-03-16 14:25:01.000000000 +0000 @@ -1,7 +1,7 @@ From: John Paul Adrian Glaubitz Subject: Fix FTBFS on m68k Bug-Debian: https://bugs.debian.org/868126 -Last-Update: 2017-07-11 +Last-Update: 2020-01-23 Index: webkitgtk/Source/WTF/wtf/Platform.h =================================================================== --- webkitgtk.orig/Source/WTF/wtf/Platform.h @@ -141,3 +141,19 @@ class RuleSet { WTF_MAKE_NONCOPYABLE(RuleSet); WTF_MAKE_FAST_ALLOCATED; +Index: webkitgtk/Source/WebCore/platform/graphics/FontCascadeDescription.cpp +=================================================================== +--- webkitgtk.orig/Source/WebCore/platform/graphics/FontCascadeDescription.cpp ++++ webkitgtk/Source/WebCore/platform/graphics/FontCascadeDescription.cpp +@@ -51,7 +51,11 @@ struct SameSizeAsFontCascadeDescription + unsigned bitfields3 : 10; + }; + ++#if defined(__m68k__) ++COMPILE_ASSERT(sizeof(FontCascadeDescription) >= sizeof(SameSizeAsFontCascadeDescription), FontCascadeDescription_should_stay_small); ++#else + COMPILE_ASSERT(sizeof(FontCascadeDescription) == sizeof(SameSizeAsFontCascadeDescription), FontCascadeDescription_should_stay_small); ++#endif + + FontCascadeDescription::FontCascadeDescription() + : m_isAbsoluteSize(false) diff -Nru webkit2gtk-2.26.3/debian/patches/reduce-memory-overheads.patch webkit2gtk-2.26.4/debian/patches/reduce-memory-overheads.patch --- webkit2gtk-2.26.3/debian/patches/reduce-memory-overheads.patch 1970-01-01 00:00:00.000000000 +0000 +++ webkit2gtk-2.26.4/debian/patches/reduce-memory-overheads.patch 2020-03-16 14:25:01.000000000 +0000 @@ -0,0 +1,21 @@ +From: Alberto Garcia +Subject: Reduce memory usage when not using the Gold linker +Bug-Debian: https://bugs.debian.org/949621 +Forwarded: no +Index: webkitgtk/Source/cmake/OptionsCommon.cmake +=================================================================== +--- webkitgtk.orig/Source/cmake/OptionsCommon.cmake ++++ webkitgtk/Source/cmake/OptionsCommon.cmake +@@ -112,6 +112,12 @@ if (DEBUG_FISSION) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index") + endif () + ++# Pass --reduce-memory-overheads to the bfd linker in order to save memory ++if (NOT USE_LD_GOLD) ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") ++ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") ++endif () ++ + # Enable the usage of OpenMP. + # - At this moment, OpenMP is only used as an alternative implementation + # to native threads for the parallelization of the SVG filters. diff -Nru webkit2gtk-2.26.3/debian/patches/series webkit2gtk-2.26.4/debian/patches/series --- webkit2gtk-2.26.3/debian/patches/series 2020-01-29 10:39:55.000000000 +0000 +++ webkit2gtk-2.26.4/debian/patches/series 2020-03-16 14:25:01.000000000 +0000 @@ -8,4 +8,6 @@ prefer-pthread.patch dont-detect-sse2.patch use-python3.patch +reduce-memory-overheads.patch force-single-process.patch +cve-2020-10018-fix.patch diff -Nru webkit2gtk-2.26.3/debian/rules webkit2gtk-2.26.4/debian/rules --- webkit2gtk-2.26.3/debian/rules 2020-01-29 10:39:55.000000000 +0000 +++ webkit2gtk-2.26.4/debian/rules 2020-03-16 14:25:01.000000000 +0000 @@ -32,6 +32,11 @@ EXTRA_CMAKE_ARGUMENTS += -DWTF_CPU_ARM64_CORTEXA53=OFF endif +# Disable Gold where it causes build problems, see #949618 +ifneq (,$(filter $(DEB_HOST_ARCH),powerpc)) + EXTRA_CMAKE_ARGUMENTS += -DUSE_LD_GOLD=OFF +endif + ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) EXTRA_CMAKE_ARGUMENTS += -DUSE_SYSTEM_MALLOC=ON CPPFLAGS += -DRELEASE_WITHOUT_OPTIMIZATIONS @@ -78,12 +83,12 @@ DH_GENCONTROL_ARGS += -Vgst:Recommends="gstreamer1.0-libav" endif +%: + dh $@ --with gir --buildsystem=cmake+ninja --builddirectory=build + override_dh_gencontrol: dh_gencontrol -- $(DH_GENCONTROL_ARGS) -%: - dh $@ --with gir --buildsystem=cmake+ninja - override_dh_auto_configure: CXXFLAGS="$(CFLAGS)" \ dh_auto_configure -- \ diff -Nru webkit2gtk-2.26.3/debian/upstream/metadata webkit2gtk-2.26.4/debian/upstream/metadata --- webkit2gtk-2.26.3/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ webkit2gtk-2.26.4/debian/upstream/metadata 2020-03-16 14:25:01.000000000 +0000 @@ -0,0 +1,4 @@ +Bug-Database: https://bugs.webkit.org/buglist.cgi?product=WebKit&component=WebKitGTK&resolution=--- +Bug-Submit: https://bugs.webkit.org/enter_bug.cgi?product=WebKit&component=WebKitGTK +Repository: git://git.webkit.org/WebKit-https.git +Repository-Browse: https://trac.webkit.org/browser