Title: [163784] releases/WebKitGTK/webkit-2.4
Revision
163784
Author
carlo...@webkit.org
Date
2014-02-10 07:00:47 -0800 (Mon, 10 Feb 2014)

Log Message

Merge r163781 - [GTK] Add API to create a webview related to another one
https://bugs.webkit.org/show_bug.cgi?id=128498

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

Add webkit_web_view_new_with_related_view() to create a new
WebView sharing the same web process as the given one.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextCreatePageForWebView): Use the given related
WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
(webkitWebViewSetProperty):
(webkit_web_view_class_init): Add related-view construct-only property.
(webkit_web_view_new_with_related_view): New public method to
create a web view with a related one.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
(webkitWebViewBaseCreateWebPage): Use the given related
WebPageProxy to initialize the web page configuration.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

* MiniBrowser/gtk/BrowserWindow.c:
(webViewCreate): Use webkit_web_view_new_with_related_view() when
creating a new web view for window.open().
* TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
(testMultiprocessWebViewCreateReadyClose): Add test case to check
that window.open() works when creating the new WebView related to
the existing one, and that no new web process is spawned when
using webkit_web_view_new_with_related_view().
(beforeAll):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/ChangeLog (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/ChangeLog	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/ChangeLog	2014-02-10 15:00:47 UTC (rev 163784)
@@ -1,3 +1,31 @@
+2014-02-10  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Add API to create a webview related to another one
+        https://bugs.webkit.org/show_bug.cgi?id=128498
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Add webkit_web_view_new_with_related_view() to create a new
+        WebView sharing the same web process as the given one.
+
+        * UIProcess/API/gtk/WebKitWebContext.cpp:
+        (webkitWebContextCreatePageForWebView): Use the given related
+        WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().
+        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
+        * UIProcess/API/gtk/WebKitWebView.cpp:
+        (webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
+        (webkitWebViewSetProperty):
+        (webkit_web_view_class_init): Add related-view construct-only property.
+        (webkit_web_view_new_with_related_view): New public method to
+        create a web view with a related one.
+        * UIProcess/API/gtk/WebKitWebView.h:
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
+        (webkitWebViewBaseCreateWebPage): Use the given related
+        WebPageProxy to initialize the web page configuration.
+        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
+        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
+
 2014-02-07  Anders Carlsson  <ander...@apple.com>
 
         Simplify web page creation

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp	2014-02-10 15:00:47 UTC (rev 163784)
@@ -1037,11 +1037,12 @@
     context->priv->uriSchemeRequests.remove(customProtocolID);
 }
 
-void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView, WebKitWebViewGroup* webViewGroup)
+void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView, WebKitWebViewGroup* webViewGroup, WebKitWebView* relatedView)
 {
     WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(webView);
     WebPageGroup* pageGroup = webViewGroup ? webkitWebViewGroupGetPageGroup(webViewGroup) : 0;
-    webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), pageGroup);
+    WebPageProxy* relatedPage = relatedView ? webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(relatedView)) : nullptr;
+    webkitWebViewBaseCreateWebPage(webViewBase, context->priv->context.get(), pageGroup, relatedPage);
 
     WebPageProxy* page = webkitWebViewBaseGetPage(webViewBase);
     context->priv->webViews.set(page->pageID(), webView);

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h	2014-02-10 15:00:47 UTC (rev 163784)
@@ -42,7 +42,7 @@
 void webkitWebContextStartLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID, API::URLRequest*);
 void webkitWebContextStopLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID);
 void webkitWebContextDidFinishLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID);
-void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView*, WebKitWebViewGroup*);
+void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView*, WebKitWebViewGroup*, WebKitWebView*);
 void webkitWebContextWebViewDestroyed(WebKitWebContext*, WebKitWebView*);
 WebKitWebView* webkitWebContextGetWebViewForPage(WebKitWebContext*, WebKit::WebPageProxy*);
 WebKitWebViewGroup* webkitWebContextGetDefaultWebViewGroup(WebKitWebContext*);

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp	2014-02-10 15:00:47 UTC (rev 163784)
@@ -132,6 +132,7 @@
     PROP_0,
 
     PROP_WEB_CONTEXT,
+    PROP_RELATED_VIEW,
     PROP_GROUP,
     PROP_TITLE,
     PROP_ESTIMATED_LOAD_PROGRESS,
@@ -157,6 +158,7 @@
     }
 
     WebKitWebContext* context;
+    WebKitWebView* relatedView;
     CString title;
     CString customTextEncoding;
     double estimatedLoadProgress;
@@ -502,7 +504,9 @@
 
     WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
     WebKitWebViewPrivate* priv = webView->priv;
-    webkitWebContextCreatePageForWebView(priv->context, webView, priv->group.get());
+    webkitWebContextCreatePageForWebView(priv->context, webView, priv->group.get(), priv->relatedView);
+    // The related view is only valid during the construction.
+    priv->relatedView = nullptr;
 
     webkitWebViewBaseSetDownloadRequestHandler(WEBKIT_WEB_VIEW_BASE(webView), webkitWebViewHandleDownloadRequest);
 
@@ -531,6 +535,11 @@
         webView->priv->context = webContext ? WEBKIT_WEB_CONTEXT(webContext) : webkit_web_context_get_default();
         break;
     }
+    case PROP_RELATED_VIEW: {
+        gpointer relatedView = g_value_get_object(value);
+        webView->priv->relatedView = relatedView ? WEBKIT_WEB_VIEW(relatedView) : nullptr;
+        break;
+    }
     case PROP_GROUP: {
         gpointer group = g_value_get_object(value);
         webView->priv->group = group ? WEBKIT_WEB_VIEW_GROUP(group) : 0;
@@ -637,6 +646,25 @@
                                                         WEBKIT_TYPE_WEB_CONTEXT,
                                                         static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
     /**
+     * WebKitWebView:related-view:
+     *
+     * The related #WebKitWebView used when creating the view to share the
+     * same web process. This property is not readable because the related
+     * web view is only valid during the object construction.
+     *
+     * Since: 2.4
+     */
+    g_object_class_install_property(
+        gObjectClass,
+        PROP_RELATED_VIEW,
+        g_param_spec_object(
+            "related-view",
+            _("Related WebView"),
+            _("The related WebKitWebView used when creating the view to share the same web process"),
+            WEBKIT_TYPE_WEB_VIEW,
+            static_cast<GParamFlags>(WEBKIT_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)));
+
+    /**
      * WebKitWebView:group:
      *
      * The #WebKitWebViewGroup of the view.
@@ -890,6 +918,11 @@
      * If this signal is handled the signal handler should return the
      * newly created #WebKitWebView.
      *
+     * When using %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES
+     * process model, the new #WebKitWebView should be related to
+     * @web_view to share the same web process, see webkit_web_view_new_with_related_view
+     * for more details.
+     *
      * The new #WebKitWebView should not be displayed to the user
      * until the #WebKitWebView::ready-to-show signal is emitted.
      *
@@ -1882,6 +1915,29 @@
 }
 
 /**
+ * webkit_web_view_new_with_related_view:
+ * @web_view: the related #WebKitWebView
+ *
+ * Creates a new #WebKitWebView sharing the same web process with @web_view.
+ * This method doesn't have any effect when %WEBKIT_PROCESS_MODEL_SHARED_SECONDARY_PROCESS
+ * process model is used, because a single web process is shared for all the web views in the
+ * same #WebKitWebContext. When using %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES process model,
+ * this method should always be used when creating the #WebKitWebView in the #WebKitWebView::create signal.
+ * You can also use this method to implement other process models based on %WEBKIT_PROCESS_MODEL_MULTIPLE_SECONDARY_PROCESSES,
+ * like for example, sharing the same web process for all the views in the same security domain.
+ *
+ * Returns: (transfer full): The newly created #WebKitWebView widget
+ *
+ * Since: 2.4
+ */
+GtkWidget* webkit_web_view_new_with_related_view(WebKitWebView* webView)
+{
+    g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), nullptr);
+
+    return GTK_WIDGET(g_object_new(WEBKIT_TYPE_WEB_VIEW, "related-view", webView, nullptr));
+}
+
+/**
  * webkit_web_view_new_with_group:
  * @group: a #WebKitWebViewGroup
  *

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h	2014-02-10 15:00:47 UTC (rev 163784)
@@ -266,6 +266,9 @@
 webkit_web_view_new_with_context                     (WebKitWebContext          *context);
 
 WEBKIT_API GtkWidget *
+webkit_web_view_new_with_related_view                (WebKitWebView             *web_view);
+
+WEBKIT_API GtkWidget *
 webkit_web_view_new_with_group                       (WebKitWebViewGroup        *group);
 
 WEBKIT_API WebKitWebContext *

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp	2014-02-10 15:00:47 UTC (rev 163784)
@@ -939,7 +939,7 @@
 WebKitWebViewBase* webkitWebViewBaseCreate(WebContext* context, WebPageGroup* pageGroup)
 {
     WebKitWebViewBase* webkitWebViewBase = WEBKIT_WEB_VIEW_BASE(g_object_new(WEBKIT_TYPE_WEB_VIEW_BASE, NULL));
-    webkitWebViewBaseCreateWebPage(webkitWebViewBase, context, pageGroup);
+    webkitWebViewBaseCreateWebPage(webkitWebViewBase, context, pageGroup, nullptr);
     return webkitWebViewBase;
 }
 
@@ -965,12 +965,13 @@
     priv->pageProxy->pageGroup().preferences()->setAcceleratedCompositingEnabled(false);
 }
 
-void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebContext* context, WebPageGroup* pageGroup)
+void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebContext* context, WebPageGroup* pageGroup, WebPageProxy* relatedPage)
 {
     WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
 
     WebPageConfiguration webPageConfiguration;
     webPageConfiguration.pageGroup = pageGroup;
+    webPageConfiguration.relatedPage = relatedPage;
     priv->pageProxy = context->createWebPage(*priv->pageClient, std::move(webPageConfiguration));
     priv->pageProxy->initializeWebPage();
 

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h	2014-02-10 15:00:47 UTC (rev 163784)
@@ -37,7 +37,7 @@
 WebKitWebViewBase* webkitWebViewBaseCreate(WebKit::WebContext*, WebKit::WebPageGroup*);
 GtkIMContext* webkitWebViewBaseGetIMContext(WebKitWebViewBase*);
 WebKit::WebPageProxy* webkitWebViewBaseGetPage(WebKitWebViewBase*);
-void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebContext*, WebKit::WebPageGroup*);
+void webkitWebViewBaseCreateWebPage(WebKitWebViewBase*, WebKit::WebContext*, WebKit::WebPageGroup*, WebKit::WebPageProxy*);
 void webkitWebViewBaseSetTooltipText(WebKitWebViewBase*, const char*);
 void webkitWebViewBaseSetTooltipArea(WebKitWebViewBase*, const WebCore::IntRect&);
 void webkitWebViewBaseForwardNextKeyEvent(WebKitWebViewBase*);

Modified: releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt	2014-02-10 15:00:47 UTC (rev 163784)
@@ -95,6 +95,7 @@
 <SUBSECTION>
 webkit_web_view_new
 webkit_web_view_new_with_context
+webkit_web_view_new_with_related_view
 webkit_web_view_new_with_group
 webkit_web_view_get_context
 webkit_web_view_get_group

Modified: releases/WebKitGTK/webkit-2.4/Tools/ChangeLog (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Tools/ChangeLog	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Tools/ChangeLog	2014-02-10 15:00:47 UTC (rev 163784)
@@ -1,3 +1,20 @@
+2014-02-10  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Add API to create a webview related to another one
+        https://bugs.webkit.org/show_bug.cgi?id=128498
+
+        Reviewed by Gustavo Noronha Silva.
+
+        * MiniBrowser/gtk/BrowserWindow.c:
+        (webViewCreate): Use webkit_web_view_new_with_related_view() when
+        creating a new web view for window.open().
+        * TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:
+        (testMultiprocessWebViewCreateReadyClose): Add test case to check
+        that window.open() works when creating the new WebView related to
+        the existing one, and that no new web process is spawned when
+        using webkit_web_view_new_with_related_view().
+        (beforeAll):
+
 2014-02-08  Adrian Perez de Castro  <ape...@igalia.com>
 
         [GTK] Make process model names properly meaningful

Modified: releases/WebKitGTK/webkit-2.4/Tools/MiniBrowser/gtk/BrowserWindow.c (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Tools/MiniBrowser/gtk/BrowserWindow.c	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Tools/MiniBrowser/gtk/BrowserWindow.c	2014-02-10 15:00:47 UTC (rev 163784)
@@ -346,7 +346,7 @@
 
 static GtkWidget *webViewCreate(WebKitWebView *webView, BrowserWindow *window)
 {
-    WebKitWebView *newWebView = WEBKIT_WEB_VIEW(webkit_web_view_new_with_context(webkit_web_view_get_context(webView)));
+    WebKitWebView *newWebView = WEBKIT_WEB_VIEW(webkit_web_view_new_with_related_view(webView));
     webkit_web_view_set_settings(newWebView, webkit_web_view_get_settings(webView));
 
     GtkWidget *newWindow = browser_window_new(newWebView, GTK_WINDOW(window));

Modified: releases/WebKitGTK/webkit-2.4/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp (163783 => 163784)


--- releases/WebKitGTK/webkit-2.4/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp	2014-02-10 14:55:47 UTC (rev 163783)
+++ releases/WebKitGTK/webkit-2.4/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp	2014-02-10 15:00:47 UTC (rev 163784)
@@ -21,6 +21,7 @@
 
 #include "TestMain.h"
 #include "WebKitTestBus.h"
+#include "WebViewTest.h"
 #include <webkit2/webkit2.h>
 #include <wtf/Vector.h>
 
@@ -104,6 +105,99 @@
     g_assert_cmpuint(test->webProcessPid(0), !=, test->webProcessPid(1));
 }
 
+class UIClientMultiprocessTest: public WebViewTest {
+public:
+    MAKE_GLIB_TEST_FIXTURE(UIClientMultiprocessTest);
+
+    enum WebViewEvents {
+        Create,
+        ReadyToShow,
+        Close
+    };
+
+    static GtkWidget* viewCreateCallback(WebKitWebView* webView, UIClientMultiprocessTest* test)
+    {
+        return test->viewCreate(webView);
+    }
+
+    static void viewReadyToShowCallback(WebKitWebView* webView, UIClientMultiprocessTest* test)
+    {
+        test->viewReadyToShow(webView);
+    }
+
+    static void viewCloseCallback(WebKitWebView* webView, UIClientMultiprocessTest* test)
+    {
+        test->viewClose(webView);
+    }
+
+    UIClientMultiprocessTest()
+    {
+        webkit_settings_set_javascript_can_open_windows_automatically(webkit_web_view_get_settings(m_webView), TRUE);
+        g_signal_connect(m_webView, "create", G_CALLBACK(viewCreateCallback), this);
+    }
+
+    ~UIClientMultiprocessTest()
+    {
+        g_signal_handlers_disconnect_matched(m_webView, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, this);
+    }
+
+    GtkWidget* viewCreate(WebKitWebView* webView)
+    {
+        g_assert(webView == m_webView);
+
+        GtkWidget* newWebView = webkit_web_view_new_with_related_view(webView);
+        g_object_ref_sink(newWebView);
+        assertObjectIsDeletedWhenTestFinishes(G_OBJECT(newWebView));
+        m_webViewEvents.append(Create);
+
+        g_signal_connect(newWebView, "ready-to-show", G_CALLBACK(viewReadyToShowCallback), this);
+        g_signal_connect(newWebView, "close", G_CALLBACK(viewCloseCallback), this);
+
+        return newWebView;
+    }
+
+    void viewReadyToShow(WebKitWebView* webView)
+    {
+        g_assert(m_webView != webView);
+        m_webViewEvents.append(ReadyToShow);
+    }
+
+    void viewClose(WebKitWebView* webView)
+    {
+        g_assert(m_webView != webView);
+
+        m_webViewEvents.append(Close);
+        g_object_unref(webView);
+        g_main_loop_quit(m_mainLoop);
+    }
+
+    void waitUntilNewWebViewClose()
+    {
+        g_main_loop_run(m_mainLoop);
+    }
+
+    Vector<WebViewEvents> m_webViewEvents;
+};
+
+static void testMultiprocessWebViewCreateReadyClose(UIClientMultiprocessTest* test, gconstpointer)
+{
+    // At this point the web process of the current view has already been created.
+    // We save it here to check that after window.open() the number of processes
+    // is the same.
+    guint32 processCountBefore = nextInitializationId - 1;
+    test->loadHtml("<html><body _onLoad_=\"window.open().close();\"></html>", nullptr);
+    test->waitUntilNewWebViewClose();
+
+    Vector<UIClientMultiprocessTest::WebViewEvents>& events = test->m_webViewEvents;
+    g_assert_cmpint(events.size(), ==, 3);
+    g_assert_cmpint(events[0], ==, UIClientMultiprocessTest::Create);
+    g_assert_cmpint(events[1], ==, UIClientMultiprocessTest::ReadyToShow);
+    g_assert_cmpint(events[2], ==, UIClientMultiprocessTest::Close);
+
+    guint32 processesCountAfter =  nextInitializationId - 1;
+    g_assert_cmpuint(processesCountAfter, ==, processCountBefore);
+}
+
 static void initializeWebExtensions(WebKitWebContext* context, gpointer)
 {
     initializeWebExtensionsSignalCount++;
@@ -133,6 +227,7 @@
         return;
 
     MultiprocessTest::add("WebKitWebContext", "process-per-web-view", testProcessPerWebView);
+    UIClientMultiprocessTest::add("WebKitWebView", "multiprocess-create-ready-close", testMultiprocessWebViewCreateReadyClose);
 }
 
 void afterAll()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to