コード例 #1
0
ファイル: webview_webkit2.cpp プロジェクト: minoki/wxWidgets
wxString wxWebViewWebKit::GetPageSource() const
{
    WebKitWebResource *resource = webkit_web_view_get_main_resource(m_web_view);
    if (!resource)
    {
        return wxString();
    }

    GAsyncResult *result = NULL;
    webkit_web_resource_get_data(resource, NULL,
                                 (GAsyncReadyCallback)wxgtk_web_resource_get_data_cb,
                                 &result);

    GMainContext *main_context = g_main_context_get_thread_default();
    while (!result)
    {
        g_main_context_iteration(main_context, TRUE);
    }

    guchar *source = webkit_web_resource_get_data_finish(resource, result,
                                                         NULL, NULL);
    if (result)
    {
        g_object_unref(result);
    }

    if (source)
    {
        wxString wxs = wxString(source, wxConvUTF8);
        free(source);
        return wxs;
    }
    return wxString();
}
コード例 #2
0
static void resourceGetDataCallback(GObject* object, GAsyncResult* result, gpointer userData)
{
    size_t dataSize;
    GOwnPtr<GError> error;
    unsigned char* data = webkit_web_resource_get_data_finish(WEBKIT_WEB_RESOURCE(object), result, &dataSize, &error.outPtr());
    g_assert(data);

    WebViewTest* test = static_cast<WebViewTest*>(userData);
    test->m_resourceData.set(reinterpret_cast<char*>(data));
    test->m_resourceDataSize = dataSize;
    g_main_loop_quit(test->m_mainLoop);
}
コード例 #3
0
ファイル: urlsnap.c プロジェクト: epitron/scripts
static void html_finished(GObject *object, GAsyncResult *result, gpointer user_data) {
    WebKitWebResource *wr = WEBKIT_WEB_RESOURCE(object);
    GError *error = NULL;
    gsize length;
    guchar *h = webkit_web_resource_get_data_finish(wr, result, &length, &error);
    FILE *f = open_file(html_file, "w");
    if (fwrite(h, length, 1, f) != 1) {
        errx(1, "error saving html");
    }
    fclose(f);
    done();
}
コード例 #4
0
ファイル: normal.c プロジェクト: fanglingsu/vimb
static void normal_view_source_loaded(WebKitWebResource *resource,
    GAsyncResult *res, Client *c)
{
    gsize length;
    guchar *data = NULL;
    char *text = NULL;

    data = webkit_web_resource_get_data_finish(resource, res, &length, NULL);
    if (data) {
        text = g_strndup((gchar*)data, length);
        command_spawn_editor(c, &((Arg){0, (char *)text}), NULL, NULL);
        g_free(data);
        g_free(text);
    }
}