Esempio n. 1
0
void
dom_blur_cb(WebKitDOMEventTarget *target, WebKitDOMEvent *event, gpointer user_data) {
    (void) target; (void) user_data;
    WebKitDOMEventTarget *etarget = webkit_dom_event_get_target (event);
    gchar* name = webkit_dom_node_get_node_name (WEBKIT_DOM_NODE (etarget));
    send_event (BLUR_ELEMENT, NULL, TYPE_STR, name, NULL);
}
static gboolean
mail_shell_view_mail_display_needs_key (EMailDisplay *mail_display,
                                        gboolean with_input)
{
	gboolean needs_key = FALSE;

	if (gtk_widget_has_focus (GTK_WIDGET (mail_display))) {
		WebKitWebFrame *frame;
		WebKitDOMDocument *dom;
		WebKitDOMElement *element;
		gchar *name = NULL;

		frame = webkit_web_view_get_focused_frame (WEBKIT_WEB_VIEW (mail_display));
		if (!frame)
			return FALSE;
		dom = webkit_web_frame_get_dom_document (frame);
		element = webkit_dom_html_document_get_active_element (WEBKIT_DOM_HTML_DOCUMENT (dom));

		if (element)
			name = webkit_dom_node_get_node_name (WEBKIT_DOM_NODE (element));

		/* if INPUT or TEXTAREA has focus, then any key press should go there */
		if (name && ((with_input && g_ascii_strcasecmp (name, "INPUT") == 0) || g_ascii_strcasecmp (name, "TEXTAREA") == 0)) {
			needs_key = TRUE;
		}

		g_free (name);
	}

	return needs_key;
}
static CString dumpNodePath(WebKitDOMNode* node)
{
    GOwnPtr<gchar> nodeName(webkit_dom_node_get_node_name(node));
    GString* path = g_string_new(nodeName.get());

    WebKitDOMNode* parent = webkit_dom_node_get_parent_node(node);
    while (parent) {
        GOwnPtr<gchar> parentName(webkit_dom_node_get_node_name(parent));

        g_string_append(path, " > ");
        g_string_append(path, parentName.get());
        parent = webkit_dom_node_get_parent_node(parent);
    }

    GOwnPtr<gchar> pathBuffer(g_string_free(path, FALSE));
    return pathBuffer.get();
}