コード例 #1
0
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);
}
コード例 #2
0
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());
}