Changeset 272195 in webkit
- Timestamp:
- Feb 2, 2021 12:50:27 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r272192 r272195 1 2021-02-02 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK][WPE] Migrate WebKitTestServer to libsoup 2.48 API 4 https://bugs.webkit.org/show_bug.cgi?id=219160 5 <rdar://problem/71620310> 6 7 Reviewed by Michael Catanzaro. 8 9 * wtf/Platform.h: Bump libsoup minimum required version to 2.54. 10 1 11 2021-02-01 Mark Lam <mark.lam@apple.com> 2 12 -
trunk/Source/WTF/wtf/Platform.h
r271231 r272195 97 97 98 98 #if USE(SOUP) 99 #define SOUP_VERSION_MIN_REQUIRED SOUP_VERSION_2_ 4299 #define SOUP_VERSION_MIN_REQUIRED SOUP_VERSION_2_54 100 100 #endif 101 101 -
trunk/Tools/ChangeLog
r272189 r272195 1 2021-02-02 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK][WPE] Migrate WebKitTestServer to libsoup 2.48 API 4 https://bugs.webkit.org/show_bug.cgi?id=219160 5 <rdar://problem/71620310> 6 7 Reviewed by Michael Catanzaro. 8 9 * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: 10 (serverCallback): 11 * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: 12 (serverCallback): 13 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: 14 (serverCallback): 15 * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: 16 (WebKitTestServer::WebKitTestServer): 17 (WebKitTestServer::run): 18 (WebKitTestServer::port const): 19 * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: 20 1 21 2021-02-01 Ryan Haddad <ryanhaddad@apple.com> 2 22 -
trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp
r268258 r272195 376 376 static void serverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext* context, void*) 377 377 { 378 unsigned port = g_inet_socket_address_get_port(G_INET_SOCKET_ADDRESS((soup_client_context_get_local_address(context)))); 378 379 if (message->method == SOUP_METHOD_CONNECT) { 379 g_assert_cmpuint( soup_server_get_port(server), ==, gProxyServerPort);380 g_assert_cmpuint(port, ==, gProxyServerPort); 380 381 auto tunnel = makeUnique<Tunnel>(server, message); 381 382 auto* tunnelPtr = tunnel.get(); … … 400 401 bool isProxy = g_str_has_prefix(path, "/proxy"); 401 402 if (isProxy) 402 g_assert_cmpuint( soup_server_get_port(server), ==, gProxyServerPort);403 g_assert_cmpuint(port, ==, gProxyServerPort); 403 404 404 405 const char* authorization = soup_message_headers_get_one(message->request_headers, "Authorization"); -
trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp
r263964 r272195 717 717 718 718 if (g_str_equal(path, "/index.html")) { 719 char* indexHtml = g_strdup_printf(kIndexHtmlFormat, soup_server_get_port(server));719 char* indexHtml = g_strdup_printf(kIndexHtmlFormat, kServer->port()); 720 720 soup_message_headers_replace(message->response_headers, "Set-Cookie", header_str); 721 721 soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, indexHtml, strlen(indexHtml)); -
trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp
r267534 r272195 387 387 } 388 388 389 static void serverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext* , gpointer)389 static void serverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext* context, gpointer) 390 390 { 391 391 if (message->method != SOUP_METHOD_GET) { … … 405 405 soup_message_set_status(message, SOUP_STATUS_OK); 406 406 } else if (g_str_equal(path, "/echoPort")) { 407 char* port = g_strdup_printf("%u", soup_server_get_port(server));407 char* port = g_strdup_printf("%u", g_inet_socket_address_get_port(G_INET_SOCKET_ADDRESS((soup_client_context_get_local_address(context))))); 408 408 soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, port, strlen(port)); 409 409 soup_message_body_complete(message->response_body); -
trunk/Tools/TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp
r271794 r272195 24 24 #include <wtf/Threading.h> 25 25 #include <wtf/glib/GUniquePtr.h> 26 #include <wtf/threads/BinarySemaphore.h> 26 27 27 28 WebKitTestServer::WebKitTestServer(ServerOptions options) … … 32 33 } 33 34 34 GUniquePtr<char> sslCertificateFile;35 GUniquePtr<char> sslKeyFile; 35 m_soupServer = adoptGRef(soup_server_new("server-header", "WebKitTestServer ", nullptr)); 36 36 37 if (options & ServerHTTPS) { 37 38 CString resourcesDir = Test::getResourcesDir(); 38 sslCertificateFile.reset(g_build_filename(resourcesDir.data(), "test-cert.pem", NULL)); 39 sslKeyFile.reset(g_build_filename(resourcesDir.data(), "test-key.pem", NULL)); 39 GUniquePtr<char> sslCertificateFile(g_build_filename(resourcesDir.data(), "test-cert.pem", nullptr)); 40 GUniquePtr<char> sslKeyFile(g_build_filename(resourcesDir.data(), "test-key.pem", nullptr)); 41 g_assert_true(soup_server_set_ssl_cert_file(m_soupServer.get(), sslCertificateFile.get(), sslKeyFile.get(), nullptr)); 40 42 } 41 42 GRefPtr<SoupAddress> address = adoptGRef(soup_address_new("127.0.0.1", SOUP_ADDRESS_ANY_PORT));43 soup_address_resolve_sync(address.get(), 0);44 45 m_soupServer = adoptGRef(soup_server_new(SOUP_SERVER_INTERFACE, address.get(),46 SOUP_SERVER_ASYNC_CONTEXT, m_queue ? m_queue->runLoop().mainContext() : nullptr,47 SOUP_SERVER_SSL_CERT_FILE, sslCertificateFile.get(),48 SOUP_SERVER_SSL_KEY_FILE, sslKeyFile.get(), nullptr));49 m_baseURI = options & ServerHTTPS ? soup_uri_new("https://127.0.0.1/") : soup_uri_new("http://127.0.0.1/");50 soup_uri_set_port(m_baseURI, soup_server_get_port(m_soupServer.get()));51 43 } 52 44 … … 60 52 void WebKitTestServer::run(SoupServerCallback serverCallback) 61 53 { 54 soup_server_add_handler(m_soupServer.get(), nullptr, serverCallback, nullptr, nullptr); 55 56 unsigned options = SOUP_SERVER_LISTEN_IPV4_ONLY; 57 if (soup_server_is_https(m_soupServer.get())) 58 options |= SOUP_SERVER_LISTEN_HTTPS; 59 62 60 if (m_queue) { 63 m_queue->dispatch([this, serverCallback] { 64 soup_server_run_async(m_soupServer.get()); 65 soup_server_add_handler(m_soupServer.get(), nullptr, serverCallback, nullptr, nullptr); 61 BinarySemaphore semaphore; 62 m_queue->dispatch([&] { 63 g_assert_true(soup_server_listen_local(m_soupServer.get(), SOUP_ADDRESS_ANY_PORT, static_cast<SoupServerListenOptions>(options), nullptr)); 64 semaphore.signal(); 66 65 }); 67 } else { 68 soup_server_run_async(m_soupServer.get()); 69 soup_server_add_handler(m_soupServer.get(), nullptr, serverCallback, nullptr, nullptr); 70 } 66 semaphore.wait(); 67 } else 68 g_assert_true(soup_server_listen_local(m_soupServer.get(), SOUP_ADDRESS_ANY_PORT, static_cast<SoupServerListenOptions>(options), nullptr)); 69 70 GSList* uris = soup_server_get_uris(m_soupServer.get()); 71 g_assert_nonnull(uris); 72 m_baseURI = soup_uri_copy(static_cast<SoupURI*>(uris->data)); 73 g_slist_free_full(uris, reinterpret_cast<GDestroyNotify>(soup_uri_free)); 71 74 } 72 75 … … 114 117 return uriString.get(); 115 118 } 119 120 unsigned WebKitTestServer::port() const 121 { 122 return soup_uri_get_port(m_baseURI); 123 } -
trunk/Tools/TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h
r271794 r272195 39 39 40 40 SoupURI* baseURI() const { return m_baseURI; } 41 unsigned port() const; 41 42 CString getURIForPath(const char* path) const; 42 43 void run(SoupServerCallback);
Note: See TracChangeset
for help on using the changeset viewer.