diff options
Diffstat (limited to 'Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp')
-rw-r--r-- | Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp | 33 |
1 files changed, 2 insertions, 31 deletions
diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp index bc058693d..09d0785aa 100644 --- a/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp +++ b/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp @@ -22,11 +22,8 @@ #include <JavaScriptCore/JSRetainPtr.h> #include <gio/gio.h> -#include <wtf/HashSet.h> #include <wtf/NeverDestroyed.h> -#include <wtf/glib/GUniquePtr.h> - -static HashSet<GObject*> s_watchedObjects; +#include <wtf/gobject/GUniquePtr.h> typedef HashMap<String, std::function<std::unique_ptr<WebProcessTest> ()>> TestsMap; static TestsMap& testsMap() @@ -37,15 +34,7 @@ static TestsMap& testsMap() void WebProcessTest::add(const String& testName, std::function<std::unique_ptr<WebProcessTest> ()> closure) { - testsMap().add(testName, WTFMove(closure)); -} - -void WebProcessTest::assertObjectIsDeletedWhenTestFinishes(GObject* object) -{ - s_watchedObjects.add(object); - g_object_weak_ref(object, [](gpointer, GObject* finalizedObject) { - s_watchedObjects.remove(finalizedObject); - }, nullptr); + testsMap().add(testName, std::move(closure)); } std::unique_ptr<WebProcessTest> WebProcessTest::create(const String& testName) @@ -64,14 +53,6 @@ static JSValueRef runTest(JSContextRef context, JSObjectRef function, JSObjectRe WebKitWebPage* webPage = WEBKIT_WEB_PAGE(JSObjectGetPrivate(thisObject)); g_assert(WEBKIT_IS_WEB_PAGE(webPage)); - // Test /WebKitDOMNode/dom-cache is an exception, because it's called 3 times, so - // the WebPage is destroyed after the third time. - if (g_str_equal(testPath.get(), "WebKitDOMNode/dom-cache")) { - static unsigned domCacheTestRunCount = 0; - if (++domCacheTestRunCount == 3) - WebProcessTest::assertObjectIsDeletedWhenTestFinishes(G_OBJECT(webPage)); - } else - WebProcessTest::assertObjectIsDeletedWhenTestFinishes(G_OBJECT(webPage)); std::unique_ptr<WebProcessTest> test = WebProcessTest::create(String::fromUTF8(testPath.get())); return JSValueMakeBoolean(context, test->runTest(g_strrstr(testPath.get(), "/") + 1, webPage)); @@ -86,16 +67,6 @@ static const JSStaticFunction webProcessTestRunnerStaticFunctions[] = static void webProcessTestRunnerFinalize(JSObjectRef object) { g_object_unref(JSObjectGetPrivate(object)); - - if (s_watchedObjects.isEmpty()) - return; - - g_print("Leaked objects in WebProcess:"); - for (const auto object : s_watchedObjects) - g_print(" %s(%p)", g_type_name_from_instance(reinterpret_cast<GTypeInstance*>(object)), object); - g_print("\n"); - - g_assert(s_watchedObjects.isEmpty()); } static void windowObjectClearedCallback(WebKitScriptWorld* world, WebKitWebPage* webPage, WebKitFrame* frame, WebKitWebExtension* extension) |