diff options
author | Tomas Popela <tpopela@redhat.com> | 2014-08-01 20:49:57 +0800 |
---|---|---|
committer | Tomas Popela <tpopela@redhat.com> | 2014-08-01 20:49:57 +0800 |
commit | ba8b45931956123e1621a669aee661e21c3287c0 (patch) | |
tree | c03ba13b9a875d170c7a492b8f5eeff34d2ee576 /e-util/e-html-editor-view.c | |
parent | 1a515c48f9808a7c73233b22a6708d4c6695af3b (diff) | |
download | gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.tar gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.tar.gz gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.tar.bz2 gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.tar.lz gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.tar.xz gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.tar.zst gsoc2013-evolution-ba8b45931956123e1621a669aee661e21c3287c0.zip |
Bug 733973 - Calling e_html_editor_view_get_text_html() changes editors content
Do all the changes (remove the ids, classes, ... used internally by
composer) on the BODY clone instead of doing them on real BODY.
Diffstat (limited to 'e-util/e-html-editor-view.c')
-rw-r--r-- | e-util/e-html-editor-view.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c index 34d59ad483..580c8a3e69 100644 --- a/e-util/e-html-editor-view.c +++ b/e-util/e-html-editor-view.c @@ -6441,15 +6441,17 @@ static gchar * process_content_for_html (EHTMLEditorView *view) { WebKitDOMDocument *document; - WebKitDOMNode *body; - WebKitDOMElement *element; + WebKitDOMNode *body, *document_clone; document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view)); - body = WEBKIT_DOM_NODE (webkit_dom_document_get_body (document)); + document_clone = webkit_dom_node_clone_node ( + WEBKIT_DOM_NODE (webkit_dom_document_get_document_element (document)), TRUE); + body = WEBKIT_DOM_NODE (webkit_dom_element_query_selector ( + WEBKIT_DOM_ELEMENT (document_clone), "body", NULL)); process_elements (view, body, TRUE, FALSE, FALSE, NULL); - element = webkit_dom_document_get_document_element (document); + return webkit_dom_html_element_get_outer_html ( - WEBKIT_DOM_HTML_ELEMENT (element)); + WEBKIT_DOM_HTML_ELEMENT (document_clone)); } static gboolean |