static void test_webkit_web_settings_user_agent(void) { WebKitWebSettings *settings; GtkWidget *webView; char *defaultUserAgent; char *userAgent = 0; g_test_bug("17375"); webView = webkit_web_view_new(); g_object_ref_sink(webView); settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView)); defaultUserAgent = g_strdup(webkit_web_settings_get_user_agent(settings)); test_non_quirky_user_agents(settings, defaultUserAgent); /* Test quirky google domains */ g_object_set(settings, "user-agent", "testwebsettings/0.1", NULL); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com/"); g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1"); g_free(userAgent); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://gmail.com/"); g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1"); g_free(userAgent); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com.br/"); g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1"); g_free(userAgent); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://calendar.google.com/"); g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1"); g_free(userAgent); /* Now enable quirks handling */ g_object_set(settings, "enable-site-specific-quirks", TRUE, NULL); test_non_quirky_user_agents(settings, defaultUserAgent); g_object_set(settings, "user-agent", "testwebsettings/0.1", NULL); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com/"); g_assert_cmpstr(userAgent, ==, defaultUserAgent); g_free(userAgent); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://gmail.com/"); g_assert_cmpstr(userAgent, ==, defaultUserAgent); g_free(userAgent); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com.br/"); g_assert_cmpstr(userAgent, ==, defaultUserAgent); g_free(userAgent); userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.uk.not.com.br/"); g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1"); g_free(userAgent); g_free(defaultUserAgent); g_object_unref(webView); }
String FrameLoaderClient::userAgent(const KURL& url) { WebKitWebSettings* settings = webkit_web_view_get_settings(getViewFromFrame(m_frame)); GOwnPtr<gchar> userAgentString(webkitWebSettingsUserAgentForURI(settings, url.string().utf8().data())); return String::fromUTF8(userAgentString.get()); }