aboutsummaryrefslogtreecommitdiffstats
path: root/src/xwidget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xwidget.c')
-rw-r--r--src/xwidget.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index 89cd859fdfc..7f78ffed5e7 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -734,7 +734,51 @@ void gtk_window_get_position (GtkWindow *window,
734 *root_y = 0; 734 *root_y = 0;
735} 735}
736 736
737DEFUN ("xwidget-webkit-dom-dump", Fxwidget_webkit_dom_dump, Sxwidget_webkit_dom_dump, 1, 1, 0,
738 doc: /* webkit dom dump*/
739 )
740 (Lisp_Object xwidget)
741{
742 struct xwidget* xw = XXWIDGET(xwidget);
743 xwidget_webkit_dom_dump(webkit_web_view_get_dom_document(xw->widget_osr));
744 return Qnil;
745}
737 746
747void
748xwidget_webkit_dom_dump(WebKitDOMNode* parent){
749 WebKitDOMNodeList* list;
750 int i;
751 int length;
752 WebKitDOMNode* attribute;
753 WebKitDOMNamedNodeMap* attrs;
754 printf("node:%d type:%d name:%s content:%s\n",
755 parent,
756 webkit_dom_node_get_node_type(parent),//1 element 3 text 8 comment 2 attribute
757 webkit_dom_node_get_local_name(parent),
758 webkit_dom_node_get_text_content(parent));
759
760 if(webkit_dom_node_has_attributes(parent)){
761 attrs = webkit_dom_node_get_attributes(parent);
762
763 length = webkit_dom_named_node_map_get_length(attrs);
764 for (int i = 0; i < length; i++) {
765 attribute = webkit_dom_named_node_map_item(attrs,i);
766 printf(" attr node:%d type:%d name:%s content:%s\n",
767 attribute,
768 webkit_dom_node_get_node_type(attribute),//1 element 3 text 8 comment
769 webkit_dom_node_get_local_name(attribute),
770 webkit_dom_node_get_text_content(attribute));
771 }
772 }
773 list = webkit_dom_node_get_child_nodes(parent);
774 length = webkit_dom_node_list_get_length(list);
775 WebKitDOMNode* child;
776 for (int i = 0; i < length; i++) {
777 child = webkit_dom_node_list_item(list, i);
778 //if(webkit_dom_node_has_child_nodes(child))
779 xwidget_webkit_dom_dump(child);
780 }
781}
738 782
739 783
740#endif 784#endif
@@ -912,6 +956,7 @@ syms_of_xwidget (void)
912 defsubr (&Sxwidget_disable_plugin_for_mime); 956 defsubr (&Sxwidget_disable_plugin_for_mime);
913 957
914 defsubr (&Sxwidget_send_keyboard_event); 958 defsubr (&Sxwidget_send_keyboard_event);
959 defsubr (&Sxwidget_webkit_dom_dump);
915 DEFSYM (Qxwidget ,"xwidget"); 960 DEFSYM (Qxwidget ,"xwidget");
916 961
917 DEFSYM (Qcxwidget ,":xwidget"); 962 DEFSYM (Qcxwidget ,":xwidget");