[evolution/wip/webkit-composer] Rename EEditorWidget to EHTMLEditorView



commit 23f24b81110ab80c555ed3cf8ad772aa2d1098c7
Author: Tomas Popela <tpopela redhat com>
Date:   Fri Mar 28 08:05:35 2014 +0100

    Rename EEditorWidget to EHTMLEditorView

 composer/e-composer-actions.c                      |   46 +-
 composer/e-composer-private.c                      |   92 +-
 composer/e-msg-composer.c                          |  202 ++--
 .../evolution-util/evolution-util-sections.txt     |   70 +-
 e-util/Makefile.am                                 |    4 +-
 e-util/e-editor-actions.c                          |  130 ++--
 e-util/e-editor-find-dialog.c                      |    8 +-
 e-util/e-editor-hrule-dialog.c                     |   14 +-
 e-util/e-editor-image-dialog.c                     |    6 +-
 e-util/e-editor-link-dialog.c                      |   30 +-
 e-util/e-editor-page-dialog.c                      |   36 +-
 e-util/e-editor-private.h                          |    4 +-
 e-util/e-editor-replace-dialog.c                   |   14 +-
 e-util/e-editor-selection.c                        |  664 ++++++------
 e-util/e-editor-selection.h                        |    6 +-
 e-util/e-editor-spell-check-dialog.c               |   34 +-
 e-util/e-editor-table-dialog.c                     |   16 +-
 e-util/e-editor-text-dialog.c                      |   42 +-
 e-util/e-editor-widget.h                           |  153 ---
 e-util/e-editor.c                                  |   80 +-
 e-util/e-editor.h                                  |    5 +-
 e-util/e-focus-tracker.c                           |   16 +-
 e-util/{e-editor-widget.c => e-html-editor-view.c} | 1132 ++++++++++----------
 e-util/e-html-editor-view.h                        |  164 +++
 e-util/e-mail-signature-editor.c                   |   32 +-
 e-util/e-mail-signature-manager.c                  |    8 +-
 e-util/e-util-enums.h                              |  198 ++--
 e-util/e-util.h                                    |    2 +-
 e-util/test-editor.c                               |   34 +-
 em-format/e-mail-formatter-quote.c                 |    4 +-
 mail/em-composer-utils.c                           |   42 +-
 modules/composer-autosave/e-composer-autosave.c    |   12 +-
 modules/mail/e-mail-shell-backend.c                |    6 +-
 plugins/external-editor/external-editor.c          |   26 +-
 34 files changed, 1672 insertions(+), 1660 deletions(-)
---
diff --git a/composer/e-composer-actions.c b/composer/e-composer-actions.c
index 7630adb..a539fea 100644
--- a/composer/e-composer-actions.c
+++ b/composer/e-composer-actions.c
@@ -80,11 +80,11 @@ action_pgp_encrypt_cb (GtkToggleAction *action,
                        EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 }
 
 static void
@@ -92,11 +92,11 @@ action_pgp_sign_cb (GtkToggleAction *action,
                     EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 }
 
 static void
@@ -148,7 +148,7 @@ action_save_cb (GtkAction *action,
                 EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        const gchar *filename;
        gint fd;
        GError *error = NULL;
@@ -193,8 +193,8 @@ action_save_cb (GtkAction *action,
                return;
        }
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 }
 
 static void
@@ -255,11 +255,11 @@ action_smime_encrypt_cb (GtkToggleAction *action,
                          EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 }
 
 static void
@@ -267,11 +267,11 @@ action_smime_sign_cb (GtkToggleAction *action,
                       EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 }
 
 static GtkActionEntry entries[] = {
@@ -455,13 +455,13 @@ e_composer_actions_init (EMsgComposer *composer)
        GtkActionGroup *action_group;
        GtkUIManager *ui_manager;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        gboolean visible;
 
        g_return_if_fail (E_IS_MSG_COMPOSER (composer));
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
        ui_manager = e_editor_get_ui_manager (editor);
 
        /* Composer Actions */
@@ -506,32 +506,32 @@ e_composer_actions_init (EMsgComposer *composer)
                ACTION (SAVE_DRAFT), "short-label", _("Save Draft"), NULL);
 
        g_object_bind_property (
-               editor_widget, "html-mode",
+               view, "html-mode",
                ACTION (PICTURE_GALLERY), "sensitive",
                G_BINDING_SYNC_CREATE);
 
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                e_editor_get_action (editor, "edit-menu"), "sensitive",
                G_BINDING_SYNC_CREATE);
 
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                e_editor_get_action (editor, "format-menu"), "sensitive",
                G_BINDING_SYNC_CREATE);
 
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                e_editor_get_action (editor, "insert-menu"), "sensitive",
                G_BINDING_SYNC_CREATE);
 
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                e_editor_get_action (editor, "options-menu"), "sensitive",
                G_BINDING_SYNC_CREATE);
 
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                e_editor_get_action (editor, "picture-gallery"), "sensitive",
                G_BINDING_SYNC_CREATE);
 
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index 2b39cb1..dc09a0a 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -65,14 +65,14 @@ static void
 composer_update_gallery_visibility (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkToggleAction *toggle_action;
        gboolean gallery_active;
        gboolean is_html;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       is_html = e_editor_widget_get_html_mode (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       is_html = e_html_editor_view_get_html_mode (view);
 
        toggle_action = GTK_TOGGLE_ACTION (ACTION (PICTURE_GALLERY));
        gallery_active = gtk_toggle_action_get_active (toggle_action);
@@ -95,7 +95,7 @@ e_composer_private_constructed (EMsgComposer *composer)
        EShell *shell;
        EClientCache *client_cache;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkUIManager *ui_manager;
        GtkAction *action;
        GtkWidget *container;
@@ -110,7 +110,7 @@ e_composer_private_constructed (EMsgComposer *composer)
 
        editor = e_msg_composer_get_editor (composer);
        ui_manager = e_editor_get_ui_manager (editor);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        settings = g_settings_new ("org.gnome.evolution.mail");
 
@@ -206,12 +206,12 @@ e_composer_private_constructed (EMsgComposer *composer)
                E_COMPOSER_HEADER_TABLE (widget),
                E_COMPOSER_HEADER_SUBJECT);
        g_object_bind_property (
-               editor_widget, "spell-checker",
+               view, "spell-checker",
                header->input_widget, "spell-checker",
                G_BINDING_SYNC_CREATE);
 
        /* Construct the editing toolbars.  We'll have to reparent
-        * the embedded EEditorWidget a little further down. */
+        * the embedded EHTMLEditorView a little further down. */
 
        widget = GTK_WIDGET (editor);
        gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
@@ -225,7 +225,7 @@ e_composer_private_constructed (EMsgComposer *composer)
        gtk_widget_show (widget);
 
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                widget, "sensitive",
                G_BINDING_SYNC_CREATE);
 
@@ -252,7 +252,7 @@ e_composer_private_constructed (EMsgComposer *composer)
        /* Reparent the scrolled window containing the web view
         * widget into the content area of the top attachment pane. */
 
-       widget = GTK_WIDGET (editor_widget);
+       widget = GTK_WIDGET (view);
        widget = gtk_widget_get_parent (widget);
        gtk_widget_reparent (widget, container);
 
@@ -269,7 +269,7 @@ e_composer_private_constructed (EMsgComposer *composer)
        g_free (gallery_path);
 
        g_signal_connect_swapped (
-               editor_widget, "notify::mode",
+               view, "notify::mode",
                G_CALLBACK (composer_update_gallery_visibility), composer);
 
        g_signal_connect_swapped (
@@ -479,7 +479,7 @@ e_composer_paste_html (EMsgComposer *composer,
                        GtkClipboard *clipboard)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *editor_selection;
        gchar *html;
 
@@ -490,12 +490,12 @@ e_composer_paste_html (EMsgComposer *composer,
        g_return_val_if_fail (html != NULL, FALSE);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
        e_editor_selection_insert_html (editor_selection, html);
 
-       e_editor_widget_check_magic_links (editor_widget, FALSE);
-       e_editor_widget_force_spell_check (editor_widget);
+       e_html_editor_view_check_magic_links (view, FALSE);
+       e_html_editor_view_force_spell_check (view);
 
        e_editor_selection_scroll_to_caret (editor_selection);
        g_free (html);
@@ -508,7 +508,7 @@ e_composer_paste_image (EMsgComposer *composer,
                         GtkClipboard *clipboard)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *html_editor_view;
        EAttachmentStore *store;
        EAttachmentView *view;
        GdkPixbuf *pixbuf = NULL;
@@ -550,11 +550,11 @@ e_composer_paste_image (EMsgComposer *composer,
        /* In HTML mode, paste the image into the message body.
         * In text mode, add the image to the attachment store. */
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       if (e_editor_widget_get_html_mode (editor_widget)) {
+       html_editor_view = e_editor_get_html_editor_view (editor);
+       if (e_html_editor_view_get_html_mode (html_editor_view)) {
                EEditorSelection *selection;
 
-               selection = e_editor_widget_get_selection (editor_widget);
+               selection = e_html_editor_view_get_selection (html_editor_view);
                e_editor_selection_insert_image (selection, uri);
                e_editor_selection_scroll_to_caret (selection);
        } else {
@@ -588,7 +588,7 @@ e_composer_paste_text (EMsgComposer *composer,
                        GtkClipboard *clipboard)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *editor_selection;
        gchar *text;
 
@@ -599,16 +599,16 @@ e_composer_paste_text (EMsgComposer *composer,
        g_return_val_if_fail (text != NULL, FALSE);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
        /* If WebView doesn't have focus, focus it */
-       if (!gtk_widget_has_focus (GTK_WIDGET (editor_widget)))
-               gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
+       if (!gtk_widget_has_focus (GTK_WIDGET (view)))
+               gtk_widget_grab_focus (GTK_WIDGET (view));
 
        e_editor_selection_insert_text (editor_selection, text);
 
-       e_editor_widget_check_magic_links (editor_widget, FALSE);
-       e_editor_widget_force_spell_check (editor_widget);
+       e_html_editor_view_check_magic_links (view, FALSE);
+       e_html_editor_view_force_spell_check (view);
        e_editor_selection_scroll_to_caret (editor_selection);
 
        g_free (text);
@@ -826,7 +826,7 @@ static void
 composer_move_caret (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *editor_selection;
        GSettings *settings;
        gboolean start_bottom, html_mode, top_signature;
@@ -851,11 +851,11 @@ composer_move_caret (EMsgComposer *composer)
                !composer->priv->is_from_new_message;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
-       html_mode = e_editor_widget_get_html_mode (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
+       html_mode = e_html_editor_view_get_html_mode (view);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -872,7 +872,7 @@ composer_move_caret (EMsgComposer *composer)
                 * text mode (when switching to html mode, the underlined words are
                 * preserved */
                if (!html_mode)
-                       e_editor_widget_force_spell_check (editor_widget);
+                       e_html_editor_view_force_spell_check (view);
                return;
        }
 
@@ -886,7 +886,7 @@ composer_move_caret (EMsgComposer *composer)
                                NULL);
                e_editor_selection_restore_caret_position (editor_selection);
 
-               e_editor_widget_force_spell_check (editor_widget);
+               e_html_editor_view_force_spell_check (view);
                return;
        }
 
@@ -945,8 +945,8 @@ composer_move_caret (EMsgComposer *composer)
 
                        e_editor_selection_restore_caret_position (editor_selection);
                        if (!html_mode)
-                               e_editor_widget_quote_plain_text (editor_widget);
-                       e_editor_widget_force_spell_check (editor_widget);
+                               e_html_editor_view_quote_plain_text (view);
+                       e_html_editor_view_force_spell_check (view);
 
                        input_start = webkit_dom_document_get_element_by_id (
                                document, "-x-evo-input-start");
@@ -969,7 +969,7 @@ composer_move_caret (EMsgComposer *composer)
                }
 
                g_signal_connect (
-                       editor_widget, "size-allocate",
+                       view, "size-allocate",
                        G_CALLBACK (composer_size_allocate_cb), NULL);
        } else {
                /* Move caret on the beginning of message */
@@ -989,13 +989,13 @@ composer_move_caret (EMsgComposer *composer)
                                                WEBKIT_DOM_ELEMENT (blockquote));
 
                                        e_editor_selection_restore_caret_position (editor_selection);
-                                       e_editor_widget_quote_plain_text (editor_widget);
+                                       e_html_editor_view_quote_plain_text (view);
                                        body = webkit_dom_document_get_body (document);
                                }
                        }
                }
 
-               e_editor_widget_force_spell_check (editor_widget);
+               e_html_editor_view_force_spell_check (view);
 
                webkit_dom_range_select_node_contents (
                        new_range,
@@ -1024,7 +1024,7 @@ composer_load_signature_cb (EMailSignatureComboBox *combo_box,
        gboolean is_html;
        GError *error = NULL;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMNodeList *signatures;
        gulong list_length, ii;
@@ -1119,9 +1119,9 @@ insert:
        /* Remove the old signature and insert the new one. */
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        signatures = webkit_dom_document_get_elements_by_class_name (
                document, "-x-evo-signature");
@@ -1260,7 +1260,7 @@ e_composer_update_signature (EMsgComposer *composer)
        EComposerHeaderTable *table;
        EMailSignatureComboBox *combo_box;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitLoadStatus status;
 
        g_return_if_fail (E_IS_MSG_COMPOSER (composer));
@@ -1272,18 +1272,18 @@ e_composer_update_signature (EMsgComposer *composer)
        table = e_msg_composer_get_header_table (composer);
        combo_box = e_composer_header_table_get_signature_combo_box (table);
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       status = webkit_web_view_get_load_status (WEBKIT_WEB_VIEW (editor_widget));
+       status = webkit_web_view_get_load_status (WEBKIT_WEB_VIEW (view));
        /* If document is not loaded, we will wait for him */
        if (status != WEBKIT_LOAD_FINISHED) {
                /* Disconnect previous handlers */
                g_signal_handlers_disconnect_by_func (
-                       WEBKIT_WEB_VIEW (editor_widget),
+                       WEBKIT_WEB_VIEW (view),
                        G_CALLBACK (composer_web_view_load_status_changed_cb),
                        composer);
                g_signal_connect (
-                       WEBKIT_WEB_VIEW(editor_widget), "notify::load-status",
+                       WEBKIT_WEB_VIEW(view), "notify::load-status",
                        G_CALLBACK (composer_web_view_load_status_changed_cb),
                        composer);
                return;
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index c7558ea..b342665 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -1209,21 +1209,21 @@ composer_build_message (EMsgComposer *composer,
        if (flags & COMPOSER_FLAG_SAVE_DRAFT) {
                gchar *text;
                EEditor *editor;
-               EEditorWidget *editor_widget;
+               EHTMLEditorView *view;
                EEditorSelection *selection;
 
                editor = e_msg_composer_get_editor (composer);
-               editor_widget = e_editor_get_editor_widget (editor);
-               selection = e_editor_widget_get_selection (editor_widget);
+               view = e_editor_get_html_editor_view (editor);
+               selection = e_html_editor_view_get_selection (view);
 
                data = g_byte_array_new ();
 
-               e_editor_widget_embed_styles (editor_widget);
+               e_html_editor_view_embed_styles (view);
                e_editor_selection_save_caret_position (selection);
 
-               text = e_editor_widget_get_text_html_for_drafts (editor_widget);
+               text = e_html_editor_view_get_text_html_for_drafts (view);
 
-               e_editor_widget_remove_embed_styles (editor_widget);
+               e_html_editor_view_remove_embed_styles (view);
                e_editor_selection_restore_caret_position (selection);
 
                g_byte_array_append (data, (guint8 *) text, strlen (text));
@@ -1263,12 +1263,12 @@ composer_build_message (EMsgComposer *composer,
        } else {
                gchar *text;
                EEditor *editor;
-               EEditorWidget *editor_widget;
+               EHTMLEditorView *view;
 
                editor = e_msg_composer_get_editor (composer);
-               editor_widget = e_editor_get_editor_widget (editor);
+               view = e_editor_get_html_editor_view (editor);
                data = g_byte_array_new ();
-               text = e_editor_widget_get_text_plain (editor_widget);
+               text = e_html_editor_view_get_text_plain (view);
                g_byte_array_append (data, (guint8 *) text, strlen (text));
                g_free (text);
 
@@ -1336,15 +1336,15 @@ composer_build_message (EMsgComposer *composer,
                gsize length;
                gboolean pre_encode;
                EEditor *editor;
-               EEditorWidget *editor_widget;
+               EHTMLEditorView *view;
                GList *inline_images;
 
                editor = e_msg_composer_get_editor (composer);
-               editor_widget = e_editor_get_editor_widget (editor);
-               inline_images = e_editor_widget_get_parts_for_inline_images (editor_widget);
+               view = e_editor_get_html_editor_view (editor);
+               inline_images = e_html_editor_view_get_parts_for_inline_images (view);
 
                data = g_byte_array_new ();
-               text = e_editor_widget_get_text_html (editor_widget);
+               text = e_html_editor_view_get_text_html (view);
                length = strlen (text);
                g_byte_array_append (data, (guint8 *) text, (guint) length);
                pre_encode = text_requires_quoted_printable (text, length);
@@ -1547,7 +1547,7 @@ set_editor_text (EMsgComposer *composer,
                  gboolean set_signature)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        g_return_if_fail (E_IS_MSG_COMPOSER (composer));
        g_return_if_fail (text != NULL);
@@ -1570,16 +1570,16 @@ set_editor_text (EMsgComposer *composer,
         * Always put the signature at the bottom for that case. */
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        if (!composer->priv->is_from_message && use_top_signature (composer)) {
                gchar *body;
                /* put marker to the top */
                body = g_strdup_printf ("<BR>%s", text);
-               e_editor_widget_set_text_html (editor_widget, body);
+               e_html_editor_view_set_text_html (view, body);
                g_free (body);
        } else {
-               e_editor_widget_set_text_html (editor_widget, text);
+               e_html_editor_view_set_text_html (view, text);
        }
 
        if (set_signature)
@@ -1593,14 +1593,14 @@ static void
 attachment_store_changed_cb (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        /* Mark the editor as changed so it prompts about unsaved
         * changes on close. */
        editor = e_msg_composer_get_editor (composer);
        if (editor) {
-               editor_widget = e_editor_get_editor_widget (editor);
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               view = e_editor_get_html_editor_view (editor);
+               e_html_editor_view_set_changed (view, TRUE);
        }
 }
 
@@ -1697,10 +1697,10 @@ msg_composer_paste_clipboard_targets_cb (GtkClipboard *clipboard,
                                          EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        /* Order is important here to ensure common use cases are
         * handled correctly.  See GNOME bug #603715 for details. */
@@ -1711,7 +1711,7 @@ msg_composer_paste_clipboard_targets_cb (GtkClipboard *clipboard,
        }
 
        /* Only paste HTML content in HTML mode. */
-       if (e_editor_widget_get_html_mode (editor_widget)) {
+       if (e_html_editor_view_get_html_mode (view)) {
                if (e_targets_include_html (targets, n_targets)) {
                        e_composer_paste_html (composer, clipboard);
                        return;
@@ -1730,7 +1730,7 @@ msg_composer_paste_clipboard_targets_cb (GtkClipboard *clipboard,
 }
 
 static void
-msg_composer_paste_primary_clipboard_cb (EEditorWidget *web_view,
+msg_composer_paste_primary_clipboard_cb (EHTMLEditorView *view,
                                          EMsgComposer *composer)
 {
        GtkClipboard *clipboard;
@@ -1743,7 +1743,7 @@ msg_composer_paste_primary_clipboard_cb (EEditorWidget *web_view,
 }
 
 static void
-msg_composer_paste_clipboard_cb (EEditorWidget *web_view,
+msg_composer_paste_clipboard_cb (EHTMLEditorView *view,
                                  EMsgComposer *composer)
 {
        GtkClipboard *clipboard;
@@ -1754,7 +1754,7 @@ msg_composer_paste_clipboard_cb (EEditorWidget *web_view,
                clipboard, (GtkClipboardTargetsReceivedFunc)
                msg_composer_paste_clipboard_targets_cb, composer);
 
-       g_signal_stop_emission_by_name (web_view, "paste-clipboard");
+       g_signal_stop_emission_by_name (view, "paste-clipboard");
 }
 
 static gboolean
@@ -1812,15 +1812,15 @@ msg_composer_drag_data_received_cb (GtkWidget *widget,
 {
        EAttachmentView *view;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *html_editor_view;
        EEditorSelection *editor_selection;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
+       html_editor_view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (html_editor_view);
 
        /* HTML mode has a few special cases for drops... */
-       if (e_editor_widget_get_html_mode (editor_widget)) {
+       if (e_html_editor_view_get_html_mode (html_editor_view)) {
                /* If we're receiving an image, we want the image to be
                 * inserted in the message body.  Let GtkHtml handle it. */
                /* FIXME WebKit - how to reproduce this?
@@ -1887,11 +1887,11 @@ static void
 msg_composer_notify_header_cb (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 }
 
 static gboolean
@@ -2062,7 +2062,7 @@ composer_notify_activity_cb (EActivityBar *activity_bar,
                              EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        gboolean editable;
        gboolean busy;
@@ -2078,8 +2078,8 @@ composer_notify_activity_cb (EActivityBar *activity_bar,
                e_msg_composer_save_focused_widget (composer);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        if (busy) {
                editable = webkit_web_view_get_editable (web_view);
@@ -2106,7 +2106,7 @@ msg_composer_constructed (GObject *object)
        EAttachmentStore *store;
        EComposerHeaderTable *table;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *html_editor_view;
        GtkUIManager *ui_manager;
        GtkToggleAction *action;
        GSettings *settings;
@@ -2120,7 +2120,7 @@ msg_composer_constructed (GObject *object)
        e_composer_private_constructed (composer);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       html_editor_view = e_editor_get_html_editor_view (editor);
        ui_manager = e_editor_get_ui_manager (editor);
        view = e_msg_composer_get_attachment_view (composer);
        table = E_COMPOSER_HEADER_TABLE (composer->priv->header_table);
@@ -2169,21 +2169,21 @@ msg_composer_constructed (GObject *object)
        /* Clipboard Support */
 
        g_signal_connect (
-               editor_widget, "paste-clipboard",
+               html_editor_view, "paste-clipboard",
                G_CALLBACK (msg_composer_paste_clipboard_cb), composer);
 
        g_signal_connect (
-               editor_widget, "paste-primary-clipboard",
+               html_editor_view, "paste-primary-clipboard",
                G_CALLBACK (msg_composer_paste_primary_clipboard_cb), composer);
 
        /* Drag-and-Drop Support */
 
        g_signal_connect (
-               editor_widget, "drag-motion",
+               view, "drag-motion",
                G_CALLBACK (msg_composer_drag_motion_cb), composer);
 
        g_signal_connect (
-               editor_widget, "drag-data-received",
+               view, "drag-data-received",
                G_CALLBACK (msg_composer_drag_data_received_cb), composer);
 
        g_signal_connect (
@@ -2232,10 +2232,10 @@ msg_composer_constructed (GObject *object)
                G_CALLBACK (attachment_store_changed_cb), composer);
 
        /* Initialization may have tripped the "changed" state. */
-       e_editor_widget_set_changed (editor_widget, FALSE);
+       e_html_editor_view_set_changed (html_editor_view, FALSE);
 
        gtk_drag_dest_set (
-               GTK_WIDGET (editor_widget),
+               GTK_WIDGET (html_editor_view),
                GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP,
                drag_dest_targets, G_N_ELEMENTS (drag_dest_targets),
                GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK);
@@ -2283,7 +2283,7 @@ msg_composer_map (GtkWidget *widget)
        EComposerHeaderTable *table;
        GtkWidget *input_widget;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        const gchar *text;
 
        /* Chain up to parent's map() method. */
@@ -2314,8 +2314,8 @@ msg_composer_map (GtkWidget *widget)
        }
 
        /* Jump to the editor as a last resort. */
-       editor_widget = e_editor_get_editor_widget (editor);
-       gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
+       view = e_editor_get_html_editor_view (editor);
+       gtk_widget_grab_focus (GTK_WIDGET (view));
 }
 
 static gboolean
@@ -2325,11 +2325,11 @@ msg_composer_key_press_event (GtkWidget *widget,
        EMsgComposer *composer;
        GtkWidget *input_widget;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        composer = E_MSG_COMPOSER (widget);
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        input_widget =
                e_composer_header_table_get_header (
@@ -2349,12 +2349,12 @@ msg_composer_key_press_event (GtkWidget *widget,
        }
 
        if (event->keyval == GDK_KEY_Tab && gtk_widget_is_focus (input_widget)) {
-               gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
+               gtk_widget_grab_focus (GTK_WIDGET (view));
                return TRUE;
        }
 
        if (event->keyval == GDK_KEY_ISO_Left_Tab &&
-               gtk_widget_is_focus (GTK_WIDGET (editor_widget))) {
+               gtk_widget_is_focus (GTK_WIDGET (view))) {
                gtk_widget_grab_focus (input_widget);
                return TRUE;
        }
@@ -2593,7 +2593,7 @@ add_attachments_handle_mime_part (EMsgComposer *composer,
        CamelContentType *content_type;
        CamelDataWrapper *wrapper;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        if (!mime_part)
                return;
@@ -2601,7 +2601,7 @@ add_attachments_handle_mime_part (EMsgComposer *composer,
        content_type = camel_mime_part_get_content_type (mime_part);
        wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        if (CAMEL_IS_MULTIPART (wrapper)) {
                /* another layer of multipartness... */
@@ -2611,10 +2611,10 @@ add_attachments_handle_mime_part (EMsgComposer *composer,
        } else if (just_inlines) {
                if (camel_mime_part_get_content_id (mime_part) ||
                    camel_mime_part_get_content_location (mime_part))
-                       e_editor_widget_add_inline_image_from_mime_part (
-                               editor_widget, mime_part);
+                       e_html_editor_view_add_inline_image_from_mime_part (
+                               view, mime_part);
        } else if (related && camel_content_type_is (content_type, "image", "*")) {
-               e_editor_widget_add_inline_image_from_mime_part (editor_widget, mime_part);
+               e_html_editor_view_add_inline_image_from_mime_part (view, mime_part);
        } else if (camel_content_type_is (content_type, "text", "*") &&
                camel_mime_part_get_filename (mime_part) == NULL) {
                /* Do nothing if this is a text/anything without a
@@ -3035,8 +3035,8 @@ handle_multipart (EMsgComposer *composer,
                        EEditor *editor;
 
                        editor = e_msg_composer_get_editor (composer);
-                       e_editor_widget_add_inline_image_from_mime_part (
-                               e_editor_get_editor_widget (editor), mime_part);
+                       e_html_editor_view_add_inline_image_from_mime_part (
+                               e_editor_get_html_editor_view (editor), mime_part);
 
                } else {
                        /* normal attachment */
@@ -3049,7 +3049,7 @@ static void
 set_signature_gui (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMNodeList *nodes;
        EComposerHeaderTable *table;
@@ -3061,8 +3061,8 @@ set_signature_gui (EMsgComposer *composer)
        combo_box = e_composer_header_table_get_signature_combo_box (table);
 
        editor = e_msg_composer_get_editor (composer);
-       widget = e_editor_get_editor_widget (editor);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        uid = NULL;
        nodes = webkit_dom_document_get_elements_by_class_name (
@@ -3168,7 +3168,7 @@ e_msg_composer_new_with_message (EShell *shell,
        EComposerHeaderTable *table;
        ESource *source = NULL;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkToggleAction *action;
        struct _camel_header_raw *xev;
        gchar *identity_uid;
@@ -3192,7 +3192,7 @@ e_msg_composer_new_with_message (EShell *shell,
        priv = E_MSG_COMPOSER_GET_PRIVATE (composer);
        editor = e_msg_composer_get_editor (composer);
        table = e_msg_composer_get_header_table (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        if (postto) {
                e_composer_header_table_set_post_to_list (table, postto);
@@ -3328,19 +3328,19 @@ e_msg_composer_new_with_message (EShell *shell,
                for (i = 0; flags[i]; i++) {
                        if (g_ascii_strcasecmp (flags[i], "text/html") == 0) {
                                if (g_ascii_strcasecmp (composer_mode, "text/html") == 0) {
-                                       e_editor_widget_set_html_mode (
-                                               editor_widget, TRUE);
+                                       e_html_editor_view_set_html_mode (
+                                               view, TRUE);
                                } else {
-                                       e_editor_widget_set_html_mode (
-                                               editor_widget, FALSE);
+                                       e_html_editor_view_set_html_mode (
+                                               view, FALSE);
                                }
                        } else if (g_ascii_strcasecmp (flags[i], "text/plain") == 0) {
                                if (g_ascii_strcasecmp (composer_mode, "text/html") == 0) {
-                                       e_editor_widget_set_html_mode (
-                                               editor_widget, TRUE);
+                                       e_html_editor_view_set_html_mode (
+                                               view, TRUE);
                                } else {
-                                       e_editor_widget_set_html_mode (
-                                               editor_widget, FALSE);
+                                       e_html_editor_view_set_html_mode (
+                                               view, FALSE);
                                }
                        } else if (g_ascii_strcasecmp (flags[i], "pgp-sign") == 0) {
                                action = GTK_TOGGLE_ACTION (ACTION (PGP_SIGN));
@@ -3503,7 +3503,7 @@ e_msg_composer_new_redirect (EShell *shell,
        EMsgComposer *composer;
        EComposerHeaderTable *table;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        const gchar *subject;
 
        g_return_val_if_fail (E_IS_SHELL (shell), NULL);
@@ -3522,8 +3522,8 @@ e_msg_composer_new_redirect (EShell *shell,
        e_composer_header_table_set_subject (table, subject);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (editor_widget), FALSE);
+       view = e_editor_get_html_editor_view (editor);
+       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (view), FALSE);
 
        return composer;
 }
@@ -3582,7 +3582,7 @@ msg_composer_send_cb (EMsgComposer *composer,
        CamelMimeMessage *message;
        EAlertSink *alert_sink;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GError *error = NULL;
 
        alert_sink = e_activity_get_alert_sink (context->activity);
@@ -3615,8 +3615,8 @@ msg_composer_send_cb (EMsgComposer *composer,
 
        /* The callback can set editor 'changed' if anything failed. */
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, TRUE);
 
        g_signal_emit (
                composer, signals[SEND], 0,
@@ -3672,7 +3672,7 @@ msg_composer_save_to_drafts_cb (EMsgComposer *composer,
        CamelMimeMessage *message;
        EAlertSink *alert_sink;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GError *error = NULL;
 
        alert_sink = e_activity_get_alert_sink (context->activity);
@@ -3714,8 +3714,8 @@ msg_composer_save_to_drafts_cb (EMsgComposer *composer,
 
        /* The callback can set editor 'changed' if anything failed. */
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, FALSE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, FALSE);
 
        g_signal_emit (
                composer, signals[SAVE_TO_DRAFTS],
@@ -3767,7 +3767,7 @@ msg_composer_save_to_outbox_cb (EMsgComposer *composer,
        CamelMimeMessage *message;
        EAlertSink *alert_sink;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GError *error = NULL;
 
        alert_sink = e_activity_get_alert_sink (context->activity);
@@ -3803,8 +3803,8 @@ msg_composer_save_to_outbox_cb (EMsgComposer *composer,
        async_context_free (context);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_changed (editor_widget, FALSE);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_changed (view, FALSE);
 }
 
 /**
@@ -4281,7 +4281,7 @@ e_msg_composer_set_body (EMsgComposer *composer,
        EMsgComposerPrivate *priv = composer->priv;
        EComposerHeaderTable *table;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        ESource *source;
        const gchar *identity_uid;
        gchar *buff;
@@ -4289,7 +4289,7 @@ e_msg_composer_set_body (EMsgComposer *composer,
        g_return_if_fail (E_IS_MSG_COMPOSER (composer));
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
        table = e_msg_composer_get_header_table (composer);
 
        /* Disable signature */
@@ -4305,8 +4305,8 @@ e_msg_composer_set_body (EMsgComposer *composer,
        set_editor_text (composer, buff, FALSE);
        g_free (buff);
 
-       e_editor_widget_set_html_mode (editor_widget, FALSE);
-       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (editor_widget), FALSE);
+       e_html_editor_view_set_html_mode (view, FALSE);
+       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (view), FALSE);
 
        g_free (priv->mime_body);
        priv->mime_body = g_strdup (body);
@@ -4566,12 +4566,12 @@ e_msg_composer_get_message (EMsgComposer *composer,
        GtkAction *action;
        ComposerFlags flags = 0;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        g_return_if_fail (E_IS_MSG_COMPOSER (composer));
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        simple = g_simple_async_result_new (
                G_OBJECT (composer), callback,
@@ -4579,7 +4579,7 @@ e_msg_composer_get_message (EMsgComposer *composer,
 
        g_simple_async_result_set_check_cancellable (simple, cancellable);
 
-       if (e_editor_widget_get_html_mode (editor_widget))
+       if (e_html_editor_view_get_html_mode (view))
                flags |= COMPOSER_FLAG_HTML_CONTENT;
 
        action = ACTION (PRIORITIZE_MESSAGE);
@@ -4697,7 +4697,7 @@ e_msg_composer_get_message_draft (EMsgComposer *composer,
                                   gpointer user_data)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GSimpleAsyncResult *simple;
        ComposerFlags flags = COMPOSER_FLAG_SAVE_DRAFT;
        GtkAction *action;
@@ -4711,9 +4711,9 @@ e_msg_composer_get_message_draft (EMsgComposer *composer,
        g_simple_async_result_set_check_cancellable (simple, cancellable);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
        /* We need to remember composer mode */
-       if (e_editor_widget_get_html_mode (editor_widget))
+       if (e_html_editor_view_get_html_mode (view))
                flags |= COMPOSER_FLAG_HTML_MODE;
        /* We want to save HTML content everytime when we save as draft */
        flags |= COMPOSER_FLAG_SAVE_DRAFT;
@@ -4846,17 +4846,17 @@ GByteArray *
 e_msg_composer_get_raw_message_text (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GByteArray *array;
        gchar *text;
 
        g_return_val_if_fail (E_IS_MSG_COMPOSER (composer), NULL);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        array = g_byte_array_new ();
-       text = e_editor_widget_get_text_plain (editor_widget);
+       text = e_html_editor_view_get_text_plain (view);
        g_byte_array_append (array, (guint8 *) text, strlen (text));
        g_free (text);
 
@@ -4891,7 +4891,7 @@ e_msg_composer_can_close (EMsgComposer *composer,
 {
        gboolean res = FALSE;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EComposerHeaderTable *table;
        GdkWindow *window;
        GtkWidget *widget;
@@ -4900,14 +4900,14 @@ e_msg_composer_can_close (EMsgComposer *composer,
 
        widget = GTK_WIDGET (composer);
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        /* this means that there is an async operation running,
         * in which case the composer cannot be closed */
        if (!gtk_action_group_get_sensitive (composer->priv->async_actions))
                return FALSE;
 
-       if (!e_editor_widget_get_changed (editor_widget))
+       if (!e_html_editor_view_get_changed (view))
                return TRUE;
 
        window = gtk_widget_get_window (widget);
@@ -5019,8 +5019,8 @@ e_msg_composer_restore_focus_on_composer (EMsgComposer *composer)
 
        gtk_window_set_focus (GTK_WINDOW (composer), widget);
 
-       if (E_IS_EDITOR_WIDGET (widget))
-               e_editor_widget_force_spell_check (E_EDITOR_WIDGET (widget));
+       if (E_IS_HTML_EDITOR_VIEW (widget))
+               e_html_editor_view_force_spell_check (E_HTML_EDITOR_VIEW (widget));
 
        composer->priv->focused_entry = NULL;
 }
diff --git a/doc/reference/evolution-util/evolution-util-sections.txt 
b/doc/reference/evolution-util/evolution-util-sections.txt
index 4712ea1..e4af92b 100644
--- a/doc/reference/evolution-util/evolution-util-sections.txt
+++ b/doc/reference/evolution-util/evolution-util-sections.txt
@@ -1572,7 +1572,7 @@ e_dialog_combo_box_get
 EEditor
 e_editor_new
 e_editor_is_busy
-e_editor_get_editor_widget
+e_editor_get_html_editor_view
 e_editor_get_builder
 e_editor_get_ui_manager
 e_editor_get_action
@@ -1765,7 +1765,7 @@ EEditorReplaceDialogPrivate
 <SECTION>
 <FILE>e-editor-selection</FILE>
 <TITLE>EEditorSelection</TITLE>
-e_editor_selection_ref_editor_widget
+e_editor_selection_ref_html_editor_view
 e_editor_selection_has_text
 e_editor_selection_get_caret_word
 e_editor_selection_replace_caret_word
@@ -1885,40 +1885,40 @@ EEditorTextDialogPrivate
 
 <SECTION>
 <FILE>e-editor-widget</FILE>
-<TITLE>EEditorWidget</TITLE>
-EEditorWidget
-e_editor_widget_new
-e_editor_widget_get_selection
-EEditorWidgetCommand
-e_editor_widget_exec_command
-e_editor_widget_get_changed
-e_editor_widget_set_changed
-e_editor_widget_get_html_mode
-e_editor_widget_set_html_mode
-e_editor_widget_get_inline_spelling
-e_editor_widget_set_inline_spelling
-e_editor_widget_get_magic_links
-e_editor_widget_set_magic_links
-e_editor_widget_get_magic_smileys
-e_editor_widget_set_magic_smileys
-e_editor_widget_get_spell_checker
-e_editor_widget_get_text_html
-e_editor_widget_get_text_plain
-e_editor_widget_set_text_html
-e_editor_widget_set_text_plain
-e_editor_widget_paste_clipboard_quoted
-e_editor_widget_update_fonts
-<SUBSECTION Standard>
-E_EDITOR_WIDGET
-E_IS_EDITOR_WIDGET
-E_TYPE_EDITOR_WIDGET
-E_EDITOR_WIDGET_CLASS
-E_IS_EDITOR_WIDGET_CLASS
-E_EDITOR_WIDGET_GET_CLASS
-EEditorWidgetClass
-e_editor_widget_get_type
-<SUBSECTION Private>
-EEditorWidgetPrivate
+<TITLE>EHTMLEditorView</TITLE>
+EHTMLEditorView
+e_html_editor_view_new
+e_html_editor_view_get_selection
+EHTMLEditorViewCommand
+e_html_editor_view_exec_command
+e_html_editor_view_get_changed
+e_html_editor_view_set_changed
+e_html_editor_view_get_html_mode
+e_html_editor_view_set_html_mode
+e_html_editor_view_get_inline_spelling
+e_html_editor_view_set_inline_spelling
+e_html_editor_view_get_magic_links
+e_html_editor_view_set_magic_links
+e_html_editor_view_get_magic_smileys
+e_html_editor_view_set_magic_smileys
+e_html_editor_view_get_spell_checker
+e_html_editor_view_get_text_html
+e_html_editor_view_get_text_plain
+e_html_editor_view_set_text_html
+e_html_editor_view_set_text_plain
+e_html_editor_view_paste_clipboard_quoted
+e_html_editor_view_update_fonts
+<SUBSECTION Standard>
+E_HTML_EDITOR_VIEW
+E_IS_HTML_EDITOR_VIEW
+E_TYPE_HTML_EDITOR_VIEW
+E_HTML_EDITOR_VIEW_CLASS
+E_IS_HTML_EDITOR_VIEW_CLASS
+E_HTML_EDITOR_VIEW_GET_CLASS
+EHTMLEditorViewClass
+e_html_editor_view_get_type
+<SUBSECTION Private>
+EHTMLEditorViewPrivate
 </SECTION>
 
 <SECTION>
diff --git a/e-util/Makefile.am b/e-util/Makefile.am
index 957db84..bb961ea 100644
--- a/e-util/Makefile.am
+++ b/e-util/Makefile.am
@@ -191,7 +191,6 @@ evolution_util_include_HEADERS =  \
        e-editor-table-dialog.h \
        e-editor-text-dialog.h \
        e-editor-utils.h \
-       e-editor-widget.h \
        e-editor.h \
        e-emoticon-action.h \
        e-emoticon-chooser-menu.h \
@@ -212,6 +211,7 @@ evolution_util_include_HEADERS =  \
        e-filter-part.h \
        e-filter-rule.h \
        e-focus-tracker.h \
+       e-html-editor-view.h \
        e-html-utils.h \
        e-icon-factory.h \
        e-image-chooser.h \
@@ -463,7 +463,6 @@ libevolution_util_la_SOURCES = \
        e-editor-table-dialog.c \
        e-editor-text-dialog.c \
        e-editor-utils.c \
-       e-editor-widget.c \
        e-editor.c \
        e-emoticon-action.c \
        e-emoticon-chooser-menu.c \
@@ -484,6 +483,7 @@ libevolution_util_la_SOURCES = \
        e-filter-part.c \
        e-filter-rule.c \
        e-focus-tracker.c \
+       e-html-editor-view.c \
        e-html-utils.c \
        e-icon-factory.c \
        e-image-chooser.c \
diff --git a/e-util/e-editor-actions.c b/e-util/e-editor-actions.c
index ef4eacd..b64c1e3 100644
--- a/e-util/e-editor-actions.c
+++ b/e-util/e-editor-actions.c
@@ -64,8 +64,8 @@ insert_html_file_ready_cb (GFile *file,
                return;
        }
 
-       selection = e_editor_widget_get_selection (
-               e_editor_get_editor_widget (editor));
+       selection = e_html_editor_view_get_selection (
+               e_editor_get_html_editor_view (editor));
        e_editor_selection_insert_html (selection, contents);
        g_free (contents);
 
@@ -101,8 +101,8 @@ insert_text_file_ready_cb (GFile *file,
                return;
        }
 
-       selection = e_editor_widget_get_selection (
-                       e_editor_get_editor_widget (editor));
+       selection = e_html_editor_view_get_selection (
+               e_editor_get_html_editor_view (editor));
        e_editor_selection_insert_text (selection, contents);
        g_free (contents);
 
@@ -113,11 +113,11 @@ static void
 editor_update_static_spell_actions (EEditor *editor)
 {
        ESpellChecker *checker;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        guint count;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       checker = e_html_editor_view_get_spell_checker (view);
 
        count = e_spell_checker_count_active_languages (checker);
 
@@ -376,11 +376,11 @@ static void
 action_context_remove_link_cb (GtkAction *action,
                                EEditor *editor)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_unlink (selection);
 }
@@ -393,8 +393,9 @@ action_context_spell_add_cb (GtkAction *action,
        EEditorSelection *selection;
        gchar *word;
 
-       spell_checker = e_editor_widget_get_spell_checker (editor->priv->editor_widget);
-       selection = e_editor_widget_get_selection (editor->priv->editor_widget);
+       spell_checker = e_html_editor_view_get_spell_checker (
+               editor->priv->html_editor_view);
+       selection = e_html_editor_view_get_selection (editor->priv->html_editor_view);
 
        word = e_editor_selection_get_caret_word (selection);
        if (word && *word) {
@@ -410,8 +411,9 @@ action_context_spell_ignore_cb (GtkAction *action,
        EEditorSelection *selection;
        gchar *word;
 
-       spell_checker = e_editor_widget_get_spell_checker (editor->priv->editor_widget);
-       selection = e_editor_widget_get_selection (editor->priv->editor_widget);
+       spell_checker = e_html_editor_view_get_spell_checker (
+               editor->priv->html_editor_view);
+       selection = e_html_editor_view_get_selection (editor->priv->html_editor_view);
 
        word = e_editor_selection_get_caret_word (selection);
        if (word && *word) {
@@ -424,7 +426,7 @@ action_copy_cb (GtkAction *action,
                 EEditor *editor)
 {
        webkit_web_view_copy_clipboard (
-               WEBKIT_WEB_VIEW (e_editor_get_editor_widget (editor)));
+               WEBKIT_WEB_VIEW (e_editor_get_html_editor_view (editor)));
 }
 
 static void
@@ -432,7 +434,7 @@ action_cut_cb (GtkAction *action,
                EEditor *editor)
 {
        webkit_web_view_cut_clipboard (
-               WEBKIT_WEB_VIEW (e_editor_get_editor_widget (editor)));
+               WEBKIT_WEB_VIEW (e_editor_get_html_editor_view (editor)));
 }
 
 static void
@@ -446,15 +448,15 @@ static void
 action_insert_emoticon_cb (GtkAction *action,
                            EEditor *editor)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEmoticon *emoticon;
 
        emoticon = e_emoticon_chooser_get_current_emoticon (
                                        E_EMOTICON_CHOOSER (action));
        g_return_if_fail (emoticon != NULL);
 
-       widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_insert_smiley (widget, emoticon);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_insert_smiley (view, emoticon);
 }
 
 static void
@@ -501,14 +503,14 @@ action_insert_image_cb (GtkAction *action,
        dialog = e_image_chooser_dialog_new (_("Insert Image"), NULL);
 
        if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
-               EEditorWidget *editor_widget;
+               EHTMLEditorView *view;
                EEditorSelection *selection;
                gchar *uri;
 
                uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (dialog));
 
-               editor_widget = e_editor_get_editor_widget (editor);
-               selection = e_editor_widget_get_selection (editor_widget);
+               view = e_editor_get_html_editor_view (editor);
+               selection = e_html_editor_view_get_selection (view);
                e_editor_selection_insert_image (selection, uri);
 
                g_free (uri);
@@ -590,14 +592,14 @@ action_language_cb (GtkToggleAction *toggle_action,
                     EEditor *editor)
 {
        ESpellChecker *checker;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        const gchar *language_code;
        GtkAction *add_action;
        gchar *action_name;
        gboolean active;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       checker = e_html_editor_view_get_spell_checker (view);
        language_code = gtk_action_get_name (GTK_ACTION (toggle_action));
 
        active = gtk_toggle_action_get_active (toggle_action);
@@ -618,15 +620,15 @@ static gboolean
 update_mode_combobox (gpointer data)
 {
        EEditor *editor = data;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkAction *action;
        gboolean is_html;
 
        if (!E_IS_EDITOR (editor))
                return FALSE;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       is_html = e_editor_widget_get_html_mode (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       is_html = e_html_editor_view_get_html_mode (view);
 
        action = gtk_action_group_get_action (
                editor->priv->core_actions, "mode-html");
@@ -642,12 +644,12 @@ action_mode_cb (GtkRadioAction *action,
                 EEditor *editor)
 {
        GtkActionGroup *action_group;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkWidget *style_combo_box;
        gboolean is_html;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       is_html = e_editor_widget_get_html_mode (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       is_html = e_html_editor_view_get_html_mode (view);
 
        /* This must be done from idle callback, because apparently we can change
         * current value in callback of current value change */
@@ -692,14 +694,14 @@ static void
 action_paste_cb (GtkAction *action,
                  EEditor *editor)
 {
-       EEditorWidget *widget = e_editor_get_editor_widget (editor);
+       EHTMLEditorView *view = e_editor_get_html_editor_view (editor);
 
        /* Paste only if WebView has focus */
-       if (gtk_widget_has_focus (widget)) {
+       if (gtk_widget_has_focus (GTK_WIDGET (view))) {
                webkit_web_view_paste_clipboard (
-                       WEBKIT_WEB_VIEW (widget));
+                       WEBKIT_WEB_VIEW (view));
 
-               e_editor_widget_force_spell_check (widget);
+               e_html_editor_view_force_spell_check (view);
        }
 }
 
@@ -707,11 +709,11 @@ static void
 action_paste_quote_cb (GtkAction *action,
                        EEditor *editor)
 {
-       e_editor_widget_paste_clipboard_quoted (
-               e_editor_get_editor_widget (editor));
+       e_html_editor_view_paste_clipboard_quoted (
+               e_editor_get_html_editor_view (editor));
 
-       e_editor_widget_force_spell_check (
-               e_editor_get_editor_widget (editor));
+       e_html_editor_view_force_spell_check (
+               e_editor_get_html_editor_view (editor));
 }
 
 static void
@@ -819,7 +821,7 @@ action_redo_cb (GtkAction *action,
                 EEditor *editor)
 {
        webkit_web_view_redo (
-               WEBKIT_WEB_VIEW (e_editor_get_editor_widget (editor)));
+               WEBKIT_WEB_VIEW (e_editor_get_html_editor_view (editor)));
 }
 
 static void
@@ -827,7 +829,7 @@ action_select_all_cb (GtkAction *action,
                       EEditor *editor)
 {
        webkit_web_view_select_all (
-               WEBKIT_WEB_VIEW (e_editor_get_editor_widget (editor)));
+               WEBKIT_WEB_VIEW (e_editor_get_html_editor_view (editor)));
 }
 
 static void
@@ -883,7 +885,7 @@ action_undo_cb (GtkAction *action,
                 EEditor *editor)
 {
        webkit_web_view_undo (
-               WEBKIT_WEB_VIEW (e_editor_get_editor_widget (editor)));
+               WEBKIT_WEB_VIEW (e_editor_get_html_editor_view (editor)));
 }
 
 static void
@@ -905,10 +907,10 @@ action_show_webkit_inspector_cb (GtkAction *action,
                                  EEditor *editor)
 {
        WebKitWebInspector *inspector;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
 
-       widget = e_editor_get_editor_widget (editor);
-       inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (view));
 
        webkit_web_inspector_show (inspector);
 }
@@ -1130,14 +1132,14 @@ static GtkRadioActionEntry core_mode_entries[] = {
          N_("_HTML"),
          NULL,
          N_("HTML editing mode"),
-         TRUE },       /* e_editor_widget_set_html_mode */
+         TRUE },       /* e_html_editor_view_set_html_mode */
 
        { "mode-plain",
          NULL,
          N_("Plain _Text"),
          NULL,
          N_("Plain text editing mode"),
-         FALSE }       /* e_editor_widget_set_html_mode */
+         FALSE }       /* e_html_editor_view_set_html_mode */
 };
 
 static GtkRadioActionEntry core_style_entries[] = {
@@ -1674,7 +1676,7 @@ static void
 editor_actions_setup_languages_menu (EEditor *editor)
 {
        ESpellChecker *checker;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkUIManager *manager;
        GtkActionGroup *action_group;
        GList *list, *link;
@@ -1682,8 +1684,8 @@ editor_actions_setup_languages_menu (EEditor *editor)
 
        manager = editor->priv->manager;
        action_group = editor->priv->language_actions;
-       editor_widget = e_editor_get_editor_widget (editor);
-       checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       checker = e_html_editor_view_get_spell_checker (view);
        merge_id = gtk_ui_manager_new_merge_id (manager);
 
        list = e_spell_checker_list_available_dicts (checker);
@@ -1736,7 +1738,7 @@ editor_actions_setup_spell_check_menu (EEditor *editor)
 
        manager = editor->priv->manager;
        action_group = editor->priv->spell_check_actions;;
-       checker = e_editor_widget_get_spell_checker (editor->priv->editor_widget);
+       checker = e_html_editor_view_get_spell_checker (editor->priv->html_editor_view);
        available_dicts = e_spell_checker_list_available_dicts (checker);
        merge_id = gtk_ui_manager_new_merge_id (manager);
 
@@ -1809,14 +1811,14 @@ editor_actions_init (EEditor *editor)
        GtkActionGroup *action_group;
        GtkUIManager *manager;
        const gchar *domain;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GSettings *settings;
 
        g_return_if_fail (E_IS_EDITOR (editor));
 
        manager = e_editor_get_ui_manager (editor);
        domain = GETTEXT_PACKAGE;
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        /* Core Actions */
        action_group = editor->priv->core_actions;
@@ -1843,12 +1845,12 @@ editor_actions_init (EEditor *editor)
 
        action = gtk_action_group_get_action (action_group, "mode-html");
        g_object_bind_property (
-               editor_widget, "html-mode",
+               view, "html-mode",
                action, "current-value",
                G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
 
        /* Synchronize wiget mode with the buttons */
-       e_editor_widget_set_html_mode (editor_widget, TRUE);
+       e_html_editor_view_set_html_mode (view, TRUE);
 
        /* Face Action */
        action = e_emoticon_action_new (
@@ -1941,23 +1943,23 @@ editor_actions_init (EEditor *editor)
        gtk_action_set_sensitive (ACTION (SPELL_CHECK), FALSE);
 
        g_object_bind_property (
-               editor_widget, "can-redo",
+               view, "can-redo",
                ACTION (REDO), "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "can-undo",
+               view, "can-undo",
                ACTION (UNDO), "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "can-copy",
+               view, "can-copy",
                ACTION (COPY), "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "can-cut",
+               view, "can-cut",
                ACTION (CUT), "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "can-paste",
+               view, "can-paste",
                ACTION (PASTE), "sensitive",
                G_BINDING_SYNC_CREATE);
 
@@ -2002,19 +2004,19 @@ editor_actions_init (EEditor *editor)
 
        /* Disable all actions and toolbars when editor is not editable */
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                editor->priv->core_actions, "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                editor->priv->html_actions, "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                editor->priv->spell_check_actions, "sensitive",
                G_BINDING_SYNC_CREATE);
        g_object_bind_property (
-               editor_widget, "editable",
+               view, "editable",
                editor->priv->suggestion_actions, "sensitive",
                G_BINDING_SYNC_CREATE);
 
diff --git a/e-util/e-editor-find-dialog.c b/e-util/e-editor-find-dialog.c
index 9aa68b9..b6e46b0 100644
--- a/e-util/e-editor-find-dialog.c
+++ b/e-util/e-editor-find-dialog.c
@@ -71,12 +71,12 @@ editor_find_dialog_find_cb (EEditorFindDialog *dialog)
 {
        gboolean found;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
        found = webkit_web_view_search_text (
-                       WEBKIT_WEB_VIEW (editor_widget),
+                       WEBKIT_WEB_VIEW (view),
                        gtk_entry_get_text (
                                GTK_ENTRY (dialog->priv->entry)),
                        gtk_toggle_button_get_active (
@@ -96,7 +96,7 @@ editor_find_dialog_find_cb (EEditorFindDialog *dialog)
         * color scheme). The focus in fact is not given to WebKit, because
         * this dialog is modal, but it satisfies it in a way that it paints
         * the selection :) */
-       gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
+       gtk_widget_grab_focus (GTK_WIDGET (view));
 
        if (!found) {
                gtk_label_set_label (
diff --git a/e-util/e-editor-hrule-dialog.c b/e-util/e-editor-hrule-dialog.c
index 503934f..2f41826 100644
--- a/e-util/e-editor-hrule-dialog.c
+++ b/e-util/e-editor-hrule-dialog.c
@@ -24,7 +24,7 @@
 
 #include "e-editor-hrule-dialog.h"
 #include "e-editor-utils.h"
-#include "e-editor-widget.h"
+#include "e-html-editor-view.h"
 
 #include <glib/gi18n-lib.h>
 #include <webkit/webkitdom.h>
@@ -212,7 +212,7 @@ editor_hrule_dialog_show (GtkWidget *widget)
        EEditorHRuleDialog *dialog;
        EEditor *editor;
        EEditorSelection *editor_selection;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -221,11 +221,11 @@ editor_hrule_dialog_show (GtkWidget *widget)
 
        dialog = E_EDITOR_HRULE_DIALOG (widget);
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
 
        document = webkit_web_view_get_dom_document (
-                       WEBKIT_WEB_VIEW (editor_widget));
+                       WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        selection = webkit_dom_dom_window_get_selection (window);
        if (webkit_dom_dom_selection_get_range_count (selection) < 1) {
@@ -233,7 +233,7 @@ editor_hrule_dialog_show (GtkWidget *widget)
                return;
        }
 
-       rule = e_editor_widget_get_element_under_mouse_click (editor_widget);
+       rule = e_html_editor_view_get_element_under_mouse_click (view);
        if (!rule) {
                WebKitDOMElement *caret, *parent, *element;
 
@@ -278,7 +278,7 @@ editor_hrule_dialog_show (GtkWidget *widget)
                editor_hrule_dialog_set_alignment (dialog);
                editor_hrule_dialog_set_shading (dialog);
 
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               e_html_editor_view_set_changed (view, TRUE);
        } else {
                dialog->priv->hr_element = WEBKIT_DOM_HTMLHR_ELEMENT (rule);
 
diff --git a/e-util/e-editor-image-dialog.c b/e-util/e-editor-image-dialog.c
index 4a9c810..4fe113f 100644
--- a/e-util/e-editor-image-dialog.c
+++ b/e-util/e-editor-image-dialog.c
@@ -64,11 +64,11 @@ editor_image_dialog_set_src (EEditorImageDialog *dialog)
 {
        EEditor *editor;
        EEditorSelection *editor_selection;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_replace_image_src (
                editor_selection,
diff --git a/e-util/e-editor-link-dialog.c b/e-util/e-editor-link-dialog.c
index a63f4bb..6943403 100644
--- a/e-util/e-editor-link-dialog.c
+++ b/e-util/e-editor-link-dialog.c
@@ -25,7 +25,7 @@
 #include "e-editor-link-dialog.h"
 #include "e-editor-selection.h"
 #include "e-editor-utils.h"
-#include "e-editor-widget.h"
+#include "e-html-editor-view.h"
 
 #include <glib/gi18n-lib.h>
 
@@ -88,12 +88,12 @@ static void
 editor_link_dialog_remove_link (EEditorLinkDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
        e_editor_selection_unlink (selection);
 
        gtk_widget_hide (GTK_WIDGET (dialog));
@@ -103,7 +103,7 @@ static void
 editor_link_dialog_ok (EEditorLinkDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -112,10 +112,10 @@ editor_link_dialog_ok (EEditorLinkDialog *dialog)
        WebKitDOMElement *link;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -150,7 +150,7 @@ editor_link_dialog_ok (EEditorLinkDialog *dialog)
                                NULL);
                } else {
                        /* get element that was clicked on */
-                       link = e_editor_widget_get_element_under_mouse_click (widget);
+                       link = e_html_editor_view_get_element_under_mouse_click (view);
                        if (!WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (link))
                                link = NULL;
                }
@@ -182,8 +182,8 @@ editor_link_dialog_ok (EEditorLinkDialog *dialog)
                                gtk_entry_get_text (
                                        GTK_ENTRY (dialog->priv->label_edit)));
 
-                       e_editor_widget_exec_command (
-                               widget, E_EDITOR_WIDGET_COMMAND_INSERT_HTML, html);
+                       e_html_editor_view_exec_command (
+                               view, E_HTML_EDITOR_VIEW_COMMAND_INSERT_HTML, html);
 
                        g_free (html);
 
@@ -213,7 +213,7 @@ static void
 editor_link_dialog_show (GtkWidget *widget)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorLinkDialog *dialog;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -223,9 +223,9 @@ editor_link_dialog_show (GtkWidget *widget)
 
        dialog = E_EDITOR_LINK_DIALOG (widget);
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -258,7 +258,7 @@ editor_link_dialog_show (GtkWidget *widget)
                                        WEBKIT_DOM_NODE (fragment), "A");
                } else {
                        /* get element that was clicked on */
-                       link = e_editor_widget_get_element_under_mouse_click (editor_widget);
+                       link = e_html_editor_view_get_element_under_mouse_click (view);
                        if (!WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (link))
                                link = NULL;
                }
diff --git a/e-util/e-editor-page-dialog.c b/e-util/e-editor-page-dialog.c
index d07d8fc..624a010 100644
--- a/e-util/e-editor-page-dialog.c
+++ b/e-util/e-editor-page-dialog.c
@@ -144,15 +144,15 @@ static void
 editor_page_dialog_set_text_color (EEditorPageDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
        GdkRGBA rgba;
        gchar *color;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        e_color_combo_get_current_color (
@@ -169,15 +169,15 @@ static void
 editor_page_dialog_set_link_color (EEditorPageDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
        GdkRGBA rgba;
        gchar *color;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        e_color_combo_get_current_color (
@@ -194,15 +194,15 @@ static void
 editor_page_dialog_set_background_color (EEditorPageDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
        GdkRGBA rgba;
        gchar *color;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        e_color_combo_get_current_color (
@@ -256,14 +256,14 @@ static void
 editor_page_dialog_set_background_image (EEditorPageDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
        gchar *uri;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        uri = gtk_file_chooser_get_uri (
@@ -280,7 +280,7 @@ static void
 editor_page_dialog_show (GtkWidget *widget)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorPageDialog *dialog;
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
@@ -289,9 +289,9 @@ editor_page_dialog_show (GtkWidget *widget)
 
        dialog = E_EDITOR_PAGE_DIALOG (widget);
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        tmp = webkit_dom_html_body_element_get_background (
@@ -320,7 +320,7 @@ editor_page_dialog_show (GtkWidget *widget)
                        WEBKIT_DOM_HTML_BODY_ELEMENT (body));
        if (!tmp || !*tmp) {
                GdkColor *color;
-               GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (editor_widget));
+               GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (view));
                color = &style->text[GTK_STATE_NORMAL];
 
                rgba.alpha = 1;
@@ -339,7 +339,7 @@ editor_page_dialog_show (GtkWidget *widget)
        if (!tmp || !*tmp) {
                GdkColor color;
                gtk_widget_style_get (
-                       GTK_WIDGET (editor_widget), "link-color", &color, NULL);
+                       GTK_WIDGET (view), "link-color", &color, NULL);
 
                rgba.alpha = 1;
                rgba.red = ((gdouble) color.red) / G_MAXUINT16;
@@ -356,7 +356,7 @@ editor_page_dialog_show (GtkWidget *widget)
                        WEBKIT_DOM_HTML_BODY_ELEMENT (body));
        if (!tmp || !*tmp) {
                GdkColor *color;
-               GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (editor_widget));
+               GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (view));
                color = &style->base[GTK_STATE_NORMAL];
 
                rgba.alpha = 1;
diff --git a/e-util/e-editor-private.h b/e-util/e-editor-private.h
index 0ac4334..822a2fd 100644
--- a/e-util/e-editor-private.h
+++ b/e-util/e-editor-private.h
@@ -25,7 +25,7 @@
 #include <e-action-combo-box.h>
 #include <e-color-combo.h>
 #include <e-editor-actions.h>
-#include <e-editor-widget.h>
+#include <e-html-editor-view.h>
 #include <e-editor-find-dialog.h>
 #include <e-editor-replace-dialog.h>
 #include <e-editor-link-dialog.h>
@@ -83,7 +83,7 @@ struct _EEditorPrivate {
        GtkWidget *style_combo_box;
        GtkWidget *scrolled_window;
 
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *html_editor_view;
        EEditorSelection *selection;
 
        gchar *filename;
diff --git a/e-util/e-editor-replace-dialog.c b/e-util/e-editor-replace-dialog.c
index 4f7b64b..a8806c7 100644
--- a/e-util/e-editor-replace-dialog.c
+++ b/e-util/e-editor-replace-dialog.c
@@ -59,7 +59,7 @@ jump (EEditorReplaceDialog *dialog)
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
        webview = WEBKIT_WEB_VIEW (
-                       e_editor_get_editor_widget (editor));
+                       e_editor_get_html_editor_view (editor));
 
        found = webkit_web_view_search_text (
                webview,
@@ -91,7 +91,7 @@ static void
 editor_replace_dialog_replace_cb (EEditorReplaceDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
        /* Jump to next matching word */
@@ -106,8 +106,8 @@ editor_replace_dialog_replace_cb (EEditorReplaceDialog *dialog)
        }
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_replace (
                selection,
@@ -120,13 +120,13 @@ editor_replace_dialog_replace_all_cb (EEditorReplaceDialog *dialog)
        gint i = 0;
        gchar *result;
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        const gchar *replacement;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
        replacement = gtk_entry_get_text (GTK_ENTRY (dialog->priv->replace_entry));
 
        while (jump (dialog)) {
diff --git a/e-util/e-editor-selection.c b/e-util/e-editor-selection.c
index edeced4..dd99066 100644
--- a/e-util/e-editor-selection.c
+++ b/e-util/e-editor-selection.c
@@ -23,7 +23,7 @@
 #endif
 
 #include "e-editor-selection.h"
-#include "e-editor-widget.h"
+#include "e-html-editor-view.h"
 #include "e-editor.h"
 #include "e-editor-utils.h"
 
@@ -47,12 +47,12 @@
  *
  * The #EEditorSelection object represents current position of the cursor
  * with the editor or current text selection within the editor. To obtain
- * valid #EEditorSelection, call e_editor_widget_get_selection().
+ * valid #EEditorSelection, call e_html_editor_view_get_selection().
  */
 
 struct _EEditorSelectionPrivate {
 
-       GWeakRef editor_widget;
+       GWeakRef html_editor_view;
        gulong selection_changed_handler_id;
 
        gchar *text;
@@ -81,7 +81,7 @@ enum {
        PROP_BACKGROUND_COLOR,
        PROP_BLOCK_FORMAT,
        PROP_BOLD,
-       PROP_EDITOR_WIDGET,
+       PROP_HTML_EDITOR_VIEW,
        PROP_FONT_COLOR,
        PROP_FONT_NAME,
        PROP_FONT_SIZE,
@@ -106,17 +106,17 @@ G_DEFINE_TYPE (
 static WebKitDOMRange *
 editor_selection_get_current_range (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
        WebKitDOMDOMSelection *dom_selection;
        WebKitDOMRange *range = NULL;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, NULL);
 
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        document = webkit_web_view_get_dom_document (web_view);
        window = webkit_dom_document_get_default_view (document);
@@ -133,7 +133,7 @@ editor_selection_get_current_range (EEditorSelection *selection)
        range = webkit_dom_dom_selection_get_range_at (dom_selection, 0, NULL);
 
  exit:
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        return range;
 }
@@ -257,37 +257,37 @@ editor_selection_selection_changed_cb (WebKitWebView *webview,
 void
 e_editor_selection_block_selection_changed (EEditorSelection *selection)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
 
-       widget = e_editor_selection_ref_editor_widget (selection);
+       view = e_editor_selection_ref_html_editor_view (selection);
        g_signal_handlers_block_by_func (
-               widget, editor_selection_selection_changed_cb, selection);
-       g_object_unref (widget);
+               view, editor_selection_selection_changed_cb, selection);
+       g_object_unref (view);
 }
 
 void
 e_editor_selection_unblock_selection_changed (EEditorSelection *selection)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
 
-       widget = e_editor_selection_ref_editor_widget (selection);
+       view = e_editor_selection_ref_html_editor_view (selection);
        g_signal_handlers_unblock_by_func (
-               widget, editor_selection_selection_changed_cb, selection);
-       g_object_unref (widget);
+               view, editor_selection_selection_changed_cb, selection);
+       g_object_unref (view);
 }
 
 static void
-editor_selection_set_editor_widget (EEditorSelection *selection,
-                                    EEditorWidget *editor_widget)
+editor_selection_set_html_editor_view (EEditorSelection *selection,
+                                    EHTMLEditorView *view)
 {
        gulong handler_id;
 
-       g_return_if_fail (E_IS_EDITOR_WIDGET (editor_widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       g_weak_ref_set (&selection->priv->editor_widget, editor_widget);
+       g_weak_ref_set (&selection->priv->html_editor_view, view);
 
        handler_id = g_signal_connect (
-               editor_widget, "selection-changed",
+               view, "selection-changed",
                G_CALLBACK (editor_selection_selection_changed_cb),
                selection);
 
@@ -331,10 +331,10 @@ editor_selection_get_property (GObject *object,
                                E_EDITOR_SELECTION (object)));
                        return;
 
-               case PROP_EDITOR_WIDGET:
+               case PROP_HTML_EDITOR_VIEW:
                        g_value_take_object (
                                value,
-                               e_editor_selection_ref_editor_widget (
+                               e_editor_selection_ref_html_editor_view (
                                E_EDITOR_SELECTION (object)));
                        return;
 
@@ -443,8 +443,8 @@ editor_selection_set_property (GObject *object,
                                g_value_get_boolean (value));
                        return;
 
-               case PROP_EDITOR_WIDGET:
-                       editor_selection_set_editor_widget (
+               case PROP_HTML_EDITOR_VIEW:
+                       editor_selection_set_html_editor_view (
                                E_EDITOR_SELECTION (object),
                                g_value_get_object (value));
                        return;
@@ -517,19 +517,19 @@ static void
 editor_selection_dispose (GObject *object)
 {
        EEditorSelectionPrivate *priv;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        priv = E_EDITOR_SELECTION_GET_PRIVATE (object);
 
-       editor_widget = g_weak_ref_get (&priv->editor_widget);
-       if (editor_widget != NULL) {
+       view = g_weak_ref_get (&priv->html_editor_view);
+       if (view != NULL) {
                g_signal_handler_disconnect (
-                       editor_widget, priv->selection_changed_handler_id);
+                       view, priv->selection_changed_handler_id);
                priv->selection_changed_handler_id = 0;
-               g_object_unref (editor_widget);
+               g_object_unref (view);
        }
 
-       g_weak_ref_set (&priv->editor_widget, NULL);
+       g_weak_ref_set (&priv->html_editor_view, NULL);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (e_editor_selection_parent_class)->dispose (object);
@@ -636,12 +636,12 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
 
        g_object_class_install_property (
                object_class,
-               PROP_EDITOR_WIDGET,
+               PROP_HTML_EDITOR_VIEW,
                g_param_spec_object (
-                       "editor-widget",
+                       "html-editor-view",
                        NULL,
                        NULL,
-                       E_TYPE_EDITOR_WIDGET,
+                       E_TYPE_HTML_EDITOR_VIEW,
                        G_PARAM_READWRITE |
                        G_PARAM_CONSTRUCT_ONLY |
                        G_PARAM_STATIC_STRINGS));
@@ -855,20 +855,20 @@ e_editor_selection_get_word_wrap_length (EEditorSelection *selection)
 }
 
 /**
- * e_editor_selection_ref_editor_widget:
+ * e_editor_selection_ref_html_editor_view:
  * @selection: an #EEditorSelection
  *
- * Returns a new reference to @selection's #EEditorWidget.  Unreference
- * the #EEditorWidget with g_object_unref() when finished with it.
+ * Returns a new reference to @selection's #EHTMLEditorView.  Unreference
+ * the #EHTMLEditorView with g_object_unref() when finished with it.
  *
- * Returns: an #EEditorWidget
+ * Returns: an #EHTMLEditorView
  **/
-EEditorWidget *
-e_editor_selection_ref_editor_widget (EEditorSelection *selection)
+EHTMLEditorView *
+e_editor_selection_ref_html_editor_view (EEditorSelection *selection)
 {
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), NULL);
 
-       return g_weak_ref_get (&selection->priv->editor_widget);
+       return g_weak_ref_get (&selection->priv->html_editor_view);
 }
 
 /**
@@ -953,7 +953,7 @@ void
 e_editor_selection_replace_caret_word (EEditorSelection *selection,
                                        const gchar *replacement)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -963,10 +963,10 @@ e_editor_selection_replace_caret_word (EEditorSelection *selection,
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
        g_return_if_fail (replacement != NULL);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        range = editor_selection_get_current_range (selection);
        document = webkit_web_view_get_dom_document (web_view);
@@ -978,7 +978,7 @@ e_editor_selection_replace_caret_word (EEditorSelection *selection,
 
        e_editor_selection_insert_html (selection, replacement);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
@@ -1018,19 +1018,17 @@ void
 e_editor_selection_replace (EEditorSelection *selection,
                             const gchar *new_string)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       e_editor_widget_exec_command (
-               editor_widget,
-               E_EDITOR_WIDGET_COMMAND_INSERT_TEXT,
-               new_string);
+       e_html_editor_view_exec_command (
+               view, E_HTML_EDITOR_VIEW_COMMAND_INSERT_TEXT, new_string);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
@@ -1045,7 +1043,7 @@ EEditorSelectionAlignment
 e_editor_selection_get_alignment (EEditorSelection *selection)
 {
        EEditorSelectionAlignment alignment;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        gchar *value;
        WebKitDOMCSSStyleDeclaration *style;
        WebKitDOMDocument *document;
@@ -1058,11 +1056,11 @@ e_editor_selection_get_alignment (EEditorSelection *selection)
                E_IS_EDITOR_SELECTION (selection),
                E_EDITOR_SELECTION_ALIGNMENT_LEFT);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
        window = webkit_dom_document_get_default_view (document);
        range = editor_selection_get_current_range (selection);
        if (!range)
@@ -1107,8 +1105,8 @@ void
 e_editor_selection_set_alignment (EEditorSelection *selection,
                                   EEditorSelectionAlignment alignment)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
@@ -1117,26 +1115,26 @@ e_editor_selection_set_alignment (EEditorSelection *selection,
 
        switch (alignment) {
                case E_EDITOR_SELECTION_ALIGNMENT_CENTER:
-                       command = E_EDITOR_WIDGET_COMMAND_JUSTIFY_CENTER;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_CENTER;
                        break;
 
                case E_EDITOR_SELECTION_ALIGNMENT_LEFT:
-                       command = E_EDITOR_WIDGET_COMMAND_JUSTIFY_LEFT;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_LEFT;
                        break;
 
                case E_EDITOR_SELECTION_ALIGNMENT_RIGHT:
-                       command = E_EDITOR_WIDGET_COMMAND_JUSTIFY_RIGHT;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_RIGHT;
                        break;
        }
 
        selection->priv->alignment = alignment;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "alignment");
 }
@@ -1183,19 +1181,19 @@ void
 e_editor_selection_set_background_color (EEditorSelection *selection,
                                         const gchar *color)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
        g_return_if_fail (color != NULL && *color != '\0');
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_BACKGROUND_COLOR;
-       e_editor_widget_exec_command (editor_widget, command, color);
+       command = E_HTML_EDITOR_VIEW_COMMAND_BACKGROUND_COLOR;
+       e_html_editor_view_exec_command (view, command, color);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "background-color");
 }
@@ -1605,9 +1603,9 @@ void
 e_editor_selection_set_block_format (EEditorSelection *selection,
                                      EEditorSelectionBlockFormat format)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelectionBlockFormat current_format;
-       EEditorWidgetCommand command;
+       EHTMLEditorViewCommand command;
        const gchar *value;
        gboolean has_selection = FALSE;
        gboolean from_list = FALSE, to_list = FALSE, html_mode;
@@ -1624,60 +1622,60 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
 
        switch (format) {
                case E_EDITOR_SELECTION_BLOCK_FORMAT_BLOCKQUOTE:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "BLOCKQUOTE";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_H1:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "H1";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_H2:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "H2";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_H3:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "H3";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_H4:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "H4";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_H5:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "H5";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_H6:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "H6";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_PARAGRAPH:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "P";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_PRE:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "PRE";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_ADDRESS:
-                       command = E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK;
                        value = "ADDRESS";
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST:
                case E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST_ALPHA:
                case E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST_ROMAN:
-                       command = E_EDITOR_WIDGET_COMMAND_INSERT_ORDERED_LIST;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_INSERT_ORDERED_LIST;
                        to_list = TRUE;
                        value = NULL;
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_UNORDERED_LIST:
-                       command = E_EDITOR_WIDGET_COMMAND_INSERT_UNORDERED_LIST;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_INSERT_UNORDERED_LIST;
                        to_list = TRUE;
                        value = NULL;
                        break;
                case E_EDITOR_SELECTION_BLOCK_FORMAT_NONE:
                default:
-                       command = E_EDITOR_WIDGET_COMMAND_REMOVE_FORMAT;
+                       command = E_HTML_EDITOR_VIEW_COMMAND_REMOVE_FORMAT;
                        value = NULL;
                        break;
        }
@@ -1689,11 +1687,11 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
        if (format >= E_EDITOR_SELECTION_BLOCK_FORMAT_H1 && format <= E_EDITOR_SELECTION_BLOCK_FORMAT_H6)
                selection->priv->is_bold = TRUE;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       html_mode = e_editor_widget_get_html_mode (editor_widget);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       html_mode = e_html_editor_view_get_html_mode (view);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        from_list =
                (current_format == E_EDITOR_SELECTION_BLOCK_FORMAT_UNORDERED_LIST) ||
@@ -1702,15 +1700,15 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
        if (from_list && !to_list) {
                /* First remove (un)ordered list before changing formatting */
                if (current_format == E_EDITOR_SELECTION_BLOCK_FORMAT_UNORDERED_LIST) {
-                       e_editor_widget_exec_command (
-                               editor_widget,
-                               E_EDITOR_WIDGET_COMMAND_INSERT_UNORDERED_LIST, NULL);
+                       e_html_editor_view_exec_command (
+                               view,
+                               E_HTML_EDITOR_VIEW_COMMAND_INSERT_UNORDERED_LIST, NULL);
                        /*                  ^-- not a typo, "insert" toggles the
                         *                      formatting if already present */
                } else if (current_format >= E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST) {
-                       e_editor_widget_exec_command (
-                               editor_widget,
-                               E_EDITOR_WIDGET_COMMAND_INSERT_ORDERED_LIST, NULL);
+                       e_html_editor_view_exec_command (
+                               view,
+                               E_HTML_EDITOR_VIEW_COMMAND_INSERT_ORDERED_LIST, NULL);
                }
        }
 
@@ -1718,7 +1716,7 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
 
        range = editor_selection_get_current_range (selection);
        if (!range) {
-               g_object_unref (editor_widget);
+               g_object_unref (view);
                return;
        }
 
@@ -1782,15 +1780,15 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
                                block = WEBKIT_DOM_NODE (new);
                        } else {
                                select_nodes_for_format_change (selection, document);
-                               e_editor_widget_exec_command (editor_widget, command, value);
+                               e_html_editor_view_exec_command (view, command, value);
                        }
 
                        if (restore_caret)
                                e_editor_selection_restore_caret_position (selection);
                } else {
                        e_editor_selection_save (selection);
-                       e_editor_widget_exec_command (editor_widget, command, value);
-                       e_editor_widget_force_spell_check_for_current_paragraph (editor_widget);
+                       e_html_editor_view_exec_command (view, command, value);
+                       e_html_editor_view_force_spell_check_for_current_paragraph (view);
                        e_editor_selection_restore (selection);
                }
        } else {
@@ -1798,8 +1796,8 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
                        insert_new_list (selection, document, format, html_mode);
                else {
                        e_editor_selection_save (selection);
-                       e_editor_widget_exec_command (editor_widget, command, value);
-                       e_editor_widget_force_spell_check_for_current_paragraph (editor_widget);
+                       e_html_editor_view_exec_command (view, command, value);
+                       e_html_editor_view_force_spell_check_for_current_paragraph (view);
                        e_editor_selection_restore (selection);
                }
        }
@@ -1819,8 +1817,8 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
                                                selection, WEBKIT_DOM_ELEMENT (block)));
                                }
 
-                               block = WEBKIT_DOM_NODE (e_editor_widget_quote_plain_text_element (
-                                       editor_widget, WEBKIT_DOM_ELEMENT (block)));
+                               block = WEBKIT_DOM_NODE (e_html_editor_view_quote_plain_text_element (
+                                       view, WEBKIT_DOM_ELEMENT (block)));
                        }
                        g_free (value);
                }
@@ -1829,9 +1827,9 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
        }
 
        if (!has_selection)
-               e_editor_widget_force_spell_check_for_current_paragraph (editor_widget);
+               e_html_editor_view_force_spell_check_for_current_paragraph (view);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        /* When changing the format we need to re-set the alignment */
        e_editor_selection_set_alignment (selection, selection->priv->alignment);
@@ -1880,8 +1878,8 @@ void
 e_editor_selection_set_font_color (EEditorSelection *selection,
                                    const GdkRGBA *rgba)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
        guint32 rgba_value;
        gchar *color;
 
@@ -1892,16 +1890,16 @@ e_editor_selection_set_font_color (EEditorSelection *selection,
 
        rgba_value = e_rgba_to_value ((GdkRGBA *) rgba);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_FORE_COLOR;
+       command = E_HTML_EDITOR_VIEW_COMMAND_FORE_COLOR;
        color = g_strdup_printf ("#%06x", rgba_value);
        selection->priv->font_color = g_strdup (color);
-       e_editor_widget_exec_command (editor_widget, command, color);
+       e_html_editor_view_exec_command (view, command, color);
        g_free (color);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "font-color");
 }
@@ -1947,18 +1945,18 @@ void
 e_editor_selection_set_font_name (EEditorSelection *selection,
                                   const gchar *font_name)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_FONT_NAME;
-       e_editor_widget_exec_command (editor_widget, command, font_name);
+       command = E_HTML_EDITOR_VIEW_COMMAND_FONT_NAME;
+       e_html_editor_view_exec_command (view, command, font_name);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "font-name");
 }
@@ -2004,22 +2002,22 @@ void
 e_editor_selection_set_font_size (EEditorSelection *selection,
                                   guint font_size)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
        gchar *size_str;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
        selection->priv->font_size = font_size;
-       command = E_EDITOR_WIDGET_COMMAND_FONT_SIZE;
+       command = E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE;
        size_str = g_strdup_printf ("%d", font_size);
-       e_editor_widget_exec_command (editor_widget, command, size_str);
+       e_html_editor_view_exec_command (view, command, size_str);
        g_free (size_str);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "font-size");
 }
@@ -2110,14 +2108,14 @@ e_editor_selection_is_indented (EEditorSelection *selection)
 static gboolean
 is_in_html_mode (EEditorSelection *selection)
 {
-       EEditorWidget *widget = e_editor_selection_ref_editor_widget (selection);
+       EHTMLEditorView *view = e_editor_selection_ref_html_editor_view (selection);
        gboolean ret_val;
 
-       g_return_val_if_fail (widget != NULL, FALSE);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       ret_val = e_editor_widget_get_html_mode (widget);
+       ret_val = e_html_editor_view_get_html_mode (view);
 
-       g_object_unref (widget);
+       g_object_unref (view);
 
        return ret_val;
 }
@@ -2131,13 +2129,13 @@ is_in_html_mode (EEditorSelection *selection)
 void
 e_editor_selection_indent (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
        if (g_strcmp0 (e_editor_selection_get_string (selection), "") == 0) {
                WebKitDOMDocument *document;
@@ -2150,13 +2148,13 @@ e_editor_selection_indent (EEditorSelection *selection)
                gint final_width = 0;
 
                document = webkit_web_view_get_dom_document (
-                       WEBKIT_WEB_VIEW (editor_widget));
+                       WEBKIT_WEB_VIEW (view));
 
                e_editor_selection_save_caret_position (selection);
 
                range = editor_selection_get_current_range (selection);
                if (!range) {
-                       g_object_unref (editor_widget);
+                       g_object_unref (view);
                        return;
                }
 
@@ -2170,7 +2168,7 @@ e_editor_selection_indent (EEditorSelection *selection)
                final_width = word_wrap_length - SPACES_PER_INDENTATION * (level + 1);
                if (final_width < 10 && !is_in_html_mode (selection)) {
                        e_editor_selection_restore_caret_position (selection);
-                       g_object_unref (editor_widget);
+                       g_object_unref (view);
                        return;
                }
 
@@ -2198,13 +2196,13 @@ e_editor_selection_indent (EEditorSelection *selection)
 
                e_editor_selection_restore_caret_position (selection);
        } else {
-               command = E_EDITOR_WIDGET_COMMAND_INDENT;
-               e_editor_widget_exec_command (editor_widget, command, NULL);
+               command = E_HTML_EDITOR_VIEW_COMMAND_INDENT;
+               e_html_editor_view_exec_command (view, command, NULL);
        }
 
-       e_editor_widget_force_spell_check_for_current_paragraph (editor_widget);
+       e_html_editor_view_force_spell_check_for_current_paragraph (view);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "indented");
 }
@@ -2239,13 +2237,13 @@ get_css_alignment_value (EEditorSelectionAlignment alignment)
 void
 e_editor_selection_unindent (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
        if (g_strcmp0 (e_editor_selection_get_string (selection), "") == 0) {
                EEditorSelectionAlignment alignment;
@@ -2259,7 +2257,7 @@ e_editor_selection_unindent (EEditorSelection *selection)
                WebKitDOMNode *node, *clone, *node_clone, *caret_node;
                WebKitDOMRange *range;
 
-               document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+               document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
                e_editor_selection_save_caret_position (selection);
 
@@ -2268,7 +2266,7 @@ e_editor_selection_unindent (EEditorSelection *selection)
 
                range = editor_selection_get_current_range (selection);
                if (!range) {
-                       g_object_unref (editor_widget);
+                       g_object_unref (view);
                        return;
                }
 
@@ -2381,13 +2379,13 @@ e_editor_selection_unindent (EEditorSelection *selection)
 
                e_editor_selection_restore_caret_position (selection);
        } else {
-               command = E_EDITOR_WIDGET_COMMAND_OUTDENT;
-               e_editor_widget_exec_command (editor_widget, command, NULL);
+               command = E_HTML_EDITOR_VIEW_COMMAND_OUTDENT;
+               e_html_editor_view_exec_command (view, command, NULL);
        }
 
-       e_editor_widget_force_spell_check_for_current_paragraph (editor_widget);
+       e_html_editor_view_force_spell_check_for_current_paragraph (view);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "indented");
 }
@@ -2406,7 +2404,7 @@ e_editor_selection_is_bold (EEditorSelection *selection)
 {
        gboolean ret_val;
        gchar *value, *text_content;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMCSSStyleDeclaration *style;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -2416,16 +2414,16 @@ e_editor_selection_is_bold (EEditorSelection *selection)
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
        window = webkit_dom_document_get_default_view (document);
 
        range = editor_selection_get_current_range (selection);
@@ -2471,8 +2469,8 @@ void
 e_editor_selection_set_bold (EEditorSelection *selection,
                              gboolean bold)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
@@ -2481,13 +2479,13 @@ e_editor_selection_set_bold (EEditorSelection *selection,
 
        selection->priv->is_bold = bold;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_BOLD;
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       command = E_HTML_EDITOR_VIEW_COMMAND_BOLD;
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "bold");
 }
@@ -2506,7 +2504,7 @@ e_editor_selection_is_italic (EEditorSelection *selection)
 {
        gboolean ret_val;
        gchar *value, *text_content;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMCSSStyleDeclaration *style;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -2516,16 +2514,16 @@ e_editor_selection_is_italic (EEditorSelection *selection)
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
        window = webkit_dom_document_get_default_view (document);
 
        range = editor_selection_get_current_range (selection);
@@ -2571,8 +2569,8 @@ void
 e_editor_selection_set_italic (EEditorSelection *selection,
                                gboolean italic)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
@@ -2581,13 +2579,13 @@ e_editor_selection_set_italic (EEditorSelection *selection,
 
        selection->priv->is_italic = italic;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_ITALIC;
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       command = E_HTML_EDITOR_VIEW_COMMAND_ITALIC;
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "italic");
 }
@@ -2628,7 +2626,7 @@ e_editor_selection_is_monospaced (EEditorSelection *selection)
 {
        gboolean ret_val;
        gchar *value, *text_content;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMCSSStyleDeclaration *style;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -2638,16 +2636,16 @@ e_editor_selection_is_monospaced (EEditorSelection *selection)
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
        window = webkit_dom_document_get_default_view (document);
 
        range = editor_selection_get_current_range (selection);
@@ -2715,7 +2713,7 @@ void
 e_editor_selection_set_monospaced (EEditorSelection *selection,
                                    gboolean monospaced)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        WebKitDOMDocument *document;
        WebKitDOMRange *range;
@@ -2733,10 +2731,10 @@ e_editor_selection_set_monospaced (EEditorSelection *selection,
        if (!range)
                return;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        document = webkit_web_view_get_dom_document (web_view);
        window = webkit_dom_document_get_default_view (document);
@@ -2810,7 +2808,7 @@ e_editor_selection_set_monospaced (EEditorSelection *selection,
                        tt_element = e_editor_dom_node_find_parent_element (node, "FONT");
 
                        if (!is_monospaced_element (tt_element)) {
-                               g_object_unref (editor_widget);
+                               g_object_unref (view);
                                return;
                        }
                }
@@ -2923,8 +2921,8 @@ e_editor_selection_set_monospaced (EEditorSelection *selection,
                        g_free (outer_html);
                        g_free (tmp);
 
-                       e_editor_widget_force_spell_check_for_current_paragraph (
-                               editor_widget);
+                       e_html_editor_view_force_spell_check_for_current_paragraph (
+                               view);
                }
 
                /* Re-set formatting */
@@ -2940,7 +2938,7 @@ e_editor_selection_set_monospaced (EEditorSelection *selection,
                e_editor_selection_set_font_size (selection, font_size);
        }
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "monospaced");
 }
@@ -2959,7 +2957,7 @@ e_editor_selection_is_strikethrough (EEditorSelection *selection)
 {
        gboolean ret_val;
        gchar *value, *text_content;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMCSSStyleDeclaration *style;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -2969,16 +2967,16 @@ e_editor_selection_is_strikethrough (EEditorSelection *selection)
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
        window = webkit_dom_document_get_default_view (document);
 
        range = editor_selection_get_current_range (selection);
@@ -3024,8 +3022,8 @@ void
 e_editor_selection_set_strikethrough (EEditorSelection *selection,
                                        gboolean strikethrough)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
@@ -3034,13 +3032,13 @@ e_editor_selection_set_strikethrough (EEditorSelection *selection,
 
        selection->priv->is_strikethrough = strikethrough;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_STRIKETHROUGH;
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       command = E_HTML_EDITOR_VIEW_COMMAND_STRIKETHROUGH;
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "strikethrough");
 }
@@ -3057,21 +3055,21 @@ e_editor_selection_set_strikethrough (EEditorSelection *selection,
 gboolean
 e_editor_selection_is_subscript (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMNode *node;
        WebKitDOMRange *range;
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        range = editor_selection_get_current_range (selection);
        node = webkit_dom_range_get_common_ancestor_container (range, NULL);
@@ -3105,21 +3103,21 @@ void
 e_editor_selection_set_subscript (EEditorSelection *selection,
                                   gboolean subscript)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
        if (e_editor_selection_is_subscript (selection) == subscript)
                return;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_SUBSCRIPT;
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       command = E_HTML_EDITOR_VIEW_COMMAND_SUBSCRIPT;
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "subscript");
 }
@@ -3136,21 +3134,21 @@ e_editor_selection_set_subscript (EEditorSelection *selection,
 gboolean
 e_editor_selection_is_superscript (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMNode *node;
        WebKitDOMRange *range;
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        range = editor_selection_get_current_range (selection);
        node = webkit_dom_range_get_common_ancestor_container (range, NULL);
@@ -3184,21 +3182,21 @@ void
 e_editor_selection_set_superscript (EEditorSelection *selection,
                                     gboolean superscript)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
        if (e_editor_selection_is_superscript (selection) == superscript)
                return;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_SUPERSCRIPT;
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       command = E_HTML_EDITOR_VIEW_COMMAND_SUPERSCRIPT;
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "superscript");
 }
@@ -3217,7 +3215,7 @@ e_editor_selection_is_underline (EEditorSelection *selection)
 {
        gboolean ret_val;
        gchar *value, *text_content;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMCSSStyleDeclaration *style;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -3227,16 +3225,16 @@ e_editor_selection_is_underline (EEditorSelection *selection)
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (editor_widget != NULL, FALSE);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, FALSE);
 
-       if (!e_editor_widget_get_html_mode (editor_widget)) {
-               g_object_unref (editor_widget);
+       if (!e_html_editor_view_get_html_mode (view)) {
+               g_object_unref (view);
                return FALSE;
        }
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
        window = webkit_dom_document_get_default_view (document);
 
        range = editor_selection_get_current_range (selection);
@@ -3282,8 +3280,8 @@ void
 e_editor_selection_set_underline (EEditorSelection *selection,
                                   gboolean underline)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
@@ -3292,13 +3290,13 @@ e_editor_selection_set_underline (EEditorSelection *selection,
 
        selection->priv->is_underline = underline;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_UNDERLINE;
-       e_editor_widget_exec_command (editor_widget, command, NULL);
+       command = E_HTML_EDITOR_VIEW_COMMAND_UNDERLINE;
+       e_html_editor_view_exec_command (view, command, NULL);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 
        g_object_notify (G_OBJECT (selection), "underline");
 }
@@ -3313,8 +3311,8 @@ e_editor_selection_set_underline (EEditorSelection *selection,
 void
 e_editor_selection_unlink (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
        WebKitDOMDOMSelection *dom_selection;
@@ -3323,10 +3321,10 @@ e_editor_selection_unlink (EEditorSelection *selection)
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -3337,7 +3335,7 @@ e_editor_selection_unlink (EEditorSelection *selection)
        if (!link) {
                gchar *text;
                /* get element that was clicked on */
-               link = e_editor_widget_get_element_under_mouse_click (editor_widget);
+               link = e_html_editor_view_get_element_under_mouse_click (view);
                if (!WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (link))
                        link = NULL;
 
@@ -3346,10 +3344,10 @@ e_editor_selection_unlink (EEditorSelection *selection)
                webkit_dom_html_element_set_outer_html (WEBKIT_DOM_HTML_ELEMENT (link), text, NULL);
                g_free (text);
        } else {
-               command = E_EDITOR_WIDGET_COMMAND_UNLINK;
-               e_editor_widget_exec_command (editor_widget, command, NULL);
+               command = E_HTML_EDITOR_VIEW_COMMAND_UNLINK;
+               e_html_editor_view_exec_command (view, command, NULL);
        }
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
@@ -3363,19 +3361,19 @@ void
 e_editor_selection_create_link (EEditorSelection *selection,
                                 const gchar *uri)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
        g_return_if_fail (uri != NULL && *uri != '\0');
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_CREATE_LINK;
-       e_editor_widget_exec_command (editor_widget, command, uri);
+       command = E_HTML_EDITOR_VIEW_COMMAND_CREATE_LINK;
+       e_html_editor_view_exec_command (view, command, uri);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
@@ -3390,19 +3388,19 @@ void
 e_editor_selection_insert_text (EEditorSelection *selection,
                                 const gchar *plain_text)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
        g_return_if_fail (plain_text != NULL);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_INSERT_TEXT;
-       e_editor_widget_exec_command (editor_widget, command, plain_text);
+       command = E_HTML_EDITOR_VIEW_COMMAND_INSERT_TEXT;
+       e_html_editor_view_exec_command (view, command, plain_text);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
@@ -3417,24 +3415,24 @@ void
 e_editor_selection_insert_html (EEditorSelection *selection,
                                 const gchar *html_text)
 {
-       EEditorWidget *editor_widget;
-       EEditorWidgetCommand command;
+       EHTMLEditorView *view;
+       EHTMLEditorViewCommand command;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
        g_return_if_fail (html_text != NULL);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       command = E_EDITOR_WIDGET_COMMAND_INSERT_HTML;
-       if (e_editor_widget_get_html_mode (editor_widget)) {
-               e_editor_widget_exec_command (editor_widget, command, html_text);
+       command = E_HTML_EDITOR_VIEW_COMMAND_INSERT_HTML;
+       if (e_html_editor_view_get_html_mode (view)) {
+               e_html_editor_view_exec_command (view, command, html_text);
        } else {
-               e_editor_widget_convert_and_insert_html_to_plain_text (
-                       editor_widget, html_text);
+               e_html_editor_view_convert_and_insert_html_to_plain_text (
+                       view, html_text);
        }
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 
@@ -3498,13 +3496,13 @@ replace_base64_image_src (EEditorSelection *selection,
                          const gchar *filename,
                          const gchar *uri)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       e_editor_widget_set_changed (editor_widget, TRUE);
-       g_object_unref (editor_widget);
+       e_html_editor_view_set_changed (view, TRUE);
+       g_object_unref (view);
 
        webkit_dom_html_image_element_set_src (
                WEBKIT_DOM_HTML_IMAGE_ELEMENT (element),
@@ -3524,21 +3522,21 @@ insert_base64_image (EEditorSelection *selection,
                      const gchar *filename,
                      const gchar *uri)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMElement *element, *caret_position, *resizable_wrapper;
        WebKitDOMText *text;
 
        caret_position = e_editor_selection_save_caret_position (selection);
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
        document = webkit_web_view_get_dom_document (
-               WEBKIT_WEB_VIEW (editor_widget));
+               WEBKIT_WEB_VIEW (view));
 
-       e_editor_widget_set_changed (editor_widget, TRUE);
-       g_object_unref (editor_widget);
+       e_html_editor_view_set_changed (view, TRUE);
+       g_object_unref (view);
 
        resizable_wrapper =
                webkit_dom_document_create_element (document, "span", NULL);
@@ -3861,16 +3859,16 @@ e_editor_selection_replace_image_src (EEditorSelection *selection,
 void
 e_editor_selection_clear_caret_position_marker (EEditorSelection *selection)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMElement *element;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        element = webkit_dom_document_get_element_by_id (document, "-x-evo-caret-position");
 
@@ -3881,7 +3879,7 @@ e_editor_selection_clear_caret_position_marker (EEditorSelection *selection)
                        NULL);
        }
 
-       g_object_unref (widget);
+       g_object_unref (view);
 }
 
 WebKitDOMNode *
@@ -3910,7 +3908,7 @@ e_editor_selection_get_caret_position_node (WebKitDOMDocument *document)
 WebKitDOMElement *
 e_editor_selection_save_caret_position (EEditorSelection *selection)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMNode *split_node;
        WebKitDOMNode *start_offset_node;
@@ -3920,11 +3918,11 @@ e_editor_selection_save_caret_position (EEditorSelection *selection)
 
        g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), NULL);
 
-       widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_val_if_fail (widget != NULL, NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_val_if_fail (view != NULL, NULL);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
-       g_object_unref (widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
 
        e_editor_selection_clear_caret_position_marker (selection);
 
@@ -4004,7 +4002,7 @@ fix_quoting_nodes_after_caret_restoration (WebKitDOMDOMSelection *window_selecti
 void
 e_editor_selection_restore_caret_position (EEditorSelection *selection)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMElement *element;
        gboolean fix_after_quoting;
@@ -4012,11 +4010,11 @@ e_editor_selection_restore_caret_position (EEditorSelection *selection)
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
-       g_object_unref (widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
 
        element = webkit_dom_document_get_element_by_id (
                document, "-x-evo-caret-position");
@@ -4609,18 +4607,18 @@ e_editor_selection_put_node_into_paragraph (EEditorSelection *selection,
 void
 e_editor_selection_wrap_lines (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMRange *range;
        WebKitDOMDocument *document;
        WebKitDOMElement *active_paragraph, *caret;
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
-       g_object_unref (editor_widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       g_object_unref (view);
 
        caret = e_editor_selection_save_caret_position (selection);
        if (g_strcmp0 (e_editor_selection_get_string (selection), "") == 0) {
@@ -4837,7 +4835,7 @@ e_editor_selection_wrap_paragraph (EEditorSelection *selection,
 void
 e_editor_selection_save (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        WebKitDOMDocument *document;
        WebKitDOMRange *range;
@@ -4846,10 +4844,10 @@ e_editor_selection_save (EEditorSelection *selection)
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        document = webkit_web_view_get_dom_document (web_view);
 
@@ -4959,7 +4957,7 @@ e_editor_selection_save (EEditorSelection *selection)
                }
        }
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
@@ -4975,7 +4973,7 @@ e_editor_selection_save (EEditorSelection *selection)
 void
 e_editor_selection_restore (EEditorSelection *selection)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -4985,10 +4983,10 @@ e_editor_selection_restore (EEditorSelection *selection)
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        document = webkit_web_view_get_dom_document (web_view);
        window = webkit_dom_document_get_default_view (document);
@@ -5047,7 +5045,7 @@ e_editor_selection_restore (EEditorSelection *selection)
                webkit_dom_dom_selection_add_range (dom_selection, range);
        }
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 static void
@@ -5056,7 +5054,7 @@ editor_selection_modify (EEditorSelection *selection,
                          gboolean forward,
                          EEditorSelectionGranularity granularity)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebView *web_view;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -5065,10 +5063,10 @@ editor_selection_modify (EEditorSelection *selection,
 
        g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
 
-       editor_widget = e_editor_selection_ref_editor_widget (selection);
-       g_return_if_fail (editor_widget != NULL);
+       view = e_editor_selection_ref_html_editor_view (selection);
+       g_return_if_fail (view != NULL);
 
-       web_view = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        document = webkit_web_view_get_dom_document (web_view);
        window = webkit_dom_document_get_default_view (document);
@@ -5088,7 +5086,7 @@ editor_selection_modify (EEditorSelection *selection,
                forward ? "forward" : "backward",
                granularity_str);
 
-       g_object_unref (editor_widget);
+       g_object_unref (view);
 }
 
 /**
diff --git a/e-util/e-editor-selection.h b/e-util/e-editor-selection.h
index 28c0974..455488b 100644
--- a/e-util/e-editor-selection.h
+++ b/e-util/e-editor-selection.h
@@ -50,7 +50,7 @@
 
 G_BEGIN_DECLS
 
-struct _EEditorWidget;
+struct _EHTMLEditorView;
 
 typedef struct _EEditorSelection EEditorSelection;
 typedef struct _EEditorSelectionClass EEditorSelectionClass;
@@ -66,8 +66,8 @@ struct _EEditorSelectionClass {
 };
 
 GType          e_editor_selection_get_type     (void) G_GNUC_CONST;
-struct _EEditorWidget *
-               e_editor_selection_ref_editor_widget
+struct _EHTMLEditorView *
+               e_editor_selection_ref_html_editor_view
                                                (EEditorSelection *selection);
 void           e_editor_selection_block_selection_changed
                                                (EEditorSelection *selection);
diff --git a/e-util/e-editor-spell-check-dialog.c b/e-util/e-editor-spell-check-dialog.c
index edeaa3d..2b6b9f1 100644
--- a/e-util/e-editor-spell-check-dialog.c
+++ b/e-util/e-editor-spell-check-dialog.c
@@ -27,7 +27,7 @@
 #include <glib/gi18n-lib.h>
 #include <enchant/enchant.h>
 
-#include "e-editor-widget.h"
+#include "e-html-editor-view.h"
 #include "e-spell-checker.h"
 #include "e-spell-dictionary.h"
 
@@ -68,7 +68,7 @@ editor_spell_check_dialog_set_word (EEditorSpellCheckDialog *dialog,
                                     const gchar *word)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkTreeView *tree_view;
        GtkListStore *store;
        gchar *markup;
@@ -110,8 +110,8 @@ editor_spell_check_dialog_set_word (EEditorSpellCheckDialog *dialog,
         * given to WebKit, because this dialog is modal, but it satisfies
         * it in a way that it paints the selection :) */
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
+       view = e_editor_get_html_editor_view (editor);
+       gtk_widget_grab_focus (GTK_WIDGET (view));
 }
 
 static gboolean
@@ -307,7 +307,7 @@ static void
 editor_spell_check_dialog_replace (EEditorSpellCheckDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *editor_selection;
        GtkTreeModel *model;
        GtkTreeSelection *selection;
@@ -315,8 +315,8 @@ editor_spell_check_dialog_replace (EEditorSpellCheckDialog *dialog)
        gchar *replacement;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
 
        selection = gtk_tree_view_get_selection (
                GTK_TREE_VIEW (dialog->priv->tree_view));
@@ -334,7 +334,7 @@ static void
 editor_spell_check_dialog_replace_all (EEditorSpellCheckDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *editor_selection;
        GtkTreeModel *model;
        GtkTreeSelection *selection;
@@ -342,8 +342,8 @@ editor_spell_check_dialog_replace_all (EEditorSpellCheckDialog *dialog)
        gchar *replacement;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
 
        selection = gtk_tree_view_get_selection (
                GTK_TREE_VIEW (dialog->priv->tree_view));
@@ -354,7 +354,7 @@ editor_spell_check_dialog_replace_all (EEditorSpellCheckDialog *dialog)
         * 'replacement'. Repeat until there's at least one occurence of
         * 'word' in the document */
        while (webkit_web_view_search_text (
-                       WEBKIT_WEB_VIEW (widget), dialog->priv->word,
+                       WEBKIT_WEB_VIEW (view), dialog->priv->word,
                        FALSE, TRUE, TRUE)) {
 
                e_editor_selection_insert_html (
@@ -413,7 +413,7 @@ static void
 editor_spell_check_dialog_show (GtkWidget *widget)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSpellCheckDialog *dialog;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -424,9 +424,9 @@ editor_spell_check_dialog_show (GtkWidget *widget)
        dialog->priv->word = NULL;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dialog->priv->selection = webkit_dom_dom_window_get_selection (window);
 
@@ -645,7 +645,7 @@ void
 e_editor_spell_check_dialog_update_dictionaries (EEditorSpellCheckDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        ESpellChecker *spell_checker;
        GtkComboBox *combo_box;
        GtkListStore *store;
@@ -657,8 +657,8 @@ e_editor_spell_check_dialog_update_dictionaries (EEditorSpellCheckDialog *dialog
        g_return_if_fail (E_IS_EDITOR_SPELL_CHECK_DIALOG (dialog));
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       spell_checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       spell_checker = e_html_editor_view_get_spell_checker (view);
 
        languages = e_spell_checker_list_active_languages (
                spell_checker, &n_languages);
diff --git a/e-util/e-editor-table-dialog.c b/e-util/e-editor-table-dialog.c
index 7b3096b..5a238d0 100644
--- a/e-util/e-editor-table-dialog.c
+++ b/e-util/e-editor-table-dialog.c
@@ -68,17 +68,17 @@ editor_table_dialog_create_table (EEditorTableDialog *dialog)
 {
        EEditor *editor;
        EEditorSelection *editor_selection;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMElement *table, *br, *caret, *parent, *element;
        gint i;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       editor_selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       editor_selection = e_html_editor_view_get_selection (view);
 
        document = webkit_web_view_get_dom_document (
-               WEBKIT_WEB_VIEW (editor_widget));
+               WEBKIT_WEB_VIEW (view));
 
        /* Default 3x3 table */
        table = webkit_dom_document_create_element (document, "TABLE", NULL);
@@ -122,7 +122,7 @@ editor_table_dialog_create_table (EEditorTableDialog *dialog)
 
        e_editor_selection_clear_caret_position_marker (editor_selection);
 
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       e_html_editor_view_set_changed (view, TRUE);
 
        return table;
 }
@@ -576,16 +576,16 @@ editor_table_dialog_show (GtkWidget *widget)
 {
        EEditorTableDialog *dialog;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
        WebKitDOMDOMSelection *selection;
 
        dialog = E_EDITOR_TABLE_DIALOG (widget);
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (editor_widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        selection = webkit_dom_dom_window_get_selection (window);
        if (selection && (webkit_dom_dom_selection_get_range_count (selection) > 0)) {
diff --git a/e-util/e-editor-text-dialog.c b/e-util/e-editor-text-dialog.c
index 1fae1c3..effd323 100644
--- a/e-util/e-editor-text-dialog.c
+++ b/e-util/e-editor-text-dialog.c
@@ -51,12 +51,12 @@ static void
 editor_text_dialog_set_bold (EEditorTextDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_set_bold (
                selection,
@@ -68,12 +68,12 @@ static void
 editor_text_dialog_set_italic (EEditorTextDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_set_italic (
                selection,
@@ -85,12 +85,12 @@ static void
 editor_text_dialog_set_underline (EEditorTextDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_set_underline (
                selection,
@@ -102,12 +102,12 @@ static void
 editor_text_dialog_set_strikethrough (EEditorTextDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_set_strikethrough (
                selection,
@@ -119,13 +119,13 @@ static void
 editor_text_dialog_set_color (EEditorTextDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        GdkRGBA rgba;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_color_combo_get_current_color (
                E_COLOR_COMBO (dialog->priv->color_check), &rgba);
@@ -136,13 +136,13 @@ static void
 editor_text_dialog_set_size (EEditorTextDialog *dialog)
 {
        EEditor *editor;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        gint size;
 
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
        size = gtk_combo_box_get_active (GTK_COMBO_BOX (dialog->priv->size_check));
 
        e_editor_selection_set_font_size (selection, size + 1);
@@ -153,14 +153,14 @@ editor_text_dialog_show (GtkWidget *widget)
 {
        EEditorTextDialog *dialog;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        GdkRGBA rgba;
 
        dialog = E_EDITOR_TEXT_DIALOG (widget);
        editor = e_editor_dialog_get_editor (E_EDITOR_DIALOG (dialog));
-       editor_widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        gtk_toggle_button_set_active (
                GTK_TOGGLE_BUTTON (dialog->priv->bold_check),
diff --git a/e-util/e-editor.c b/e-util/e-editor.c
index 77f142e..c5c2cbf 100644
--- a/e-util/e-editor.c
+++ b/e-util/e-editor.c
@@ -41,7 +41,7 @@
 /**
  * EEditor:
  *
- * #EEditor provides GUI for manipulating with properties of #EEditorWidget and
+ * #EEditor provides GUI for manipulating with properties of #EHTMLEditorView and
  * its #EEditorSelection - i.e. toolbars and actions.
  */
 
@@ -96,15 +96,15 @@ static void
 action_context_spell_suggest_cb (GtkAction *action,
                                  EEditor *editor)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        const gchar *word;
 
        word = g_object_get_data (G_OBJECT (action), "word");
        g_return_if_fail (word != NULL);
 
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
 
        e_editor_selection_replace_caret_word (selection, word);
 }
@@ -112,7 +112,7 @@ action_context_spell_suggest_cb (GtkAction *action,
 static void
 editor_inline_spelling_suggestions (EEditor *editor)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        WebKitSpellChecker *checker;
        GtkActionGroup *action_group;
@@ -126,8 +126,8 @@ editor_inline_spelling_suggestions (EEditor *editor)
        guint threshold;
        gint ii;
 
-       widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
        checker = WEBKIT_SPELL_CHECKER (webkit_get_text_checker ());
 
        word = e_editor_selection_get_caret_word (selection);
@@ -212,7 +212,7 @@ static void
 editor_spell_checkers_foreach (EEditor *editor,
                                const gchar *language_code)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
        ESpellChecker *spell_checker;
        ESpellDictionary *dictionary;
@@ -224,9 +224,9 @@ editor_spell_checkers_foreach (EEditor *editor,
        gint ii = 0;
        guint merge_id;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       selection = e_editor_widget_get_selection (editor_widget);
-       spell_checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       selection = e_html_editor_view_get_selection (view);
+       spell_checker = e_html_editor_view_get_spell_checker (view);
 
        word = e_editor_selection_get_caret_word (selection);
        if (word == NULL || *word == '\0')
@@ -307,13 +307,13 @@ static void
 editor_update_actions (EEditor *editor,
                        GdkEventButton *event)
 {
-       WebKitWebView *webview;
+       WebKitWebView *web_view;
        WebKitSpellChecker *checker;
        WebKitHitTestResult *hit_test;
        WebKitHitTestResultContext context;
        WebKitDOMNode *node;
        EEditorSelection *selection;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        ESpellChecker *spell_checker;
        GtkUIManager *manager;
        GtkActionGroup *action_group;
@@ -324,17 +324,17 @@ editor_update_actions (EEditor *editor,
        guint merge_id;
        gint loc, len;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       spell_checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       spell_checker = e_html_editor_view_get_spell_checker (view);
 
-       webview = WEBKIT_WEB_VIEW (editor_widget);
+       web_view = WEBKIT_WEB_VIEW (view);
        manager = e_editor_get_ui_manager (editor);
 
        editor->priv->image = NULL;
        editor->priv->table_cell = NULL;
 
        /* Update context menu item visibility. */
-       hit_test = webkit_web_view_get_hit_test_result (webview, event);
+       hit_test = webkit_web_view_get_hit_test_result (web_view, event);
        g_object_get (
                G_OBJECT (hit_test),
                "context", &context,
@@ -416,7 +416,7 @@ editor_update_actions (EEditor *editor,
 
        /* Decide if we should show spell checking items. */
        checker = WEBKIT_SPELL_CHECKER (webkit_get_text_checker ());
-       selection = e_editor_widget_get_selection (editor_widget);
+       selection = e_html_editor_view_get_selection (view);
        visible = FALSE;
        if ((n_languages > 0) && e_editor_selection_has_text (selection)) {
                gchar *word = e_editor_selection_get_caret_word (selection);
@@ -459,14 +459,14 @@ editor_update_actions (EEditor *editor,
 static void
 editor_spell_languages_changed (EEditor *editor)
 {
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        ESpellChecker *spell_checker;
        WebKitWebSettings *settings;
        gchar *comma_separated;
        gchar **languages;
 
-       editor_widget = e_editor_get_editor_widget (editor);
-       spell_checker = e_editor_widget_get_spell_checker (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       spell_checker = e_html_editor_view_get_spell_checker (view);
 
        languages = e_spell_checker_list_active_languages (spell_checker, NULL);
        comma_separated = g_strjoinv (",", languages);
@@ -474,7 +474,7 @@ editor_spell_languages_changed (EEditor *editor)
 
        /* Set the languages for webview to highlight misspelled words */
        settings = webkit_web_view_get_settings (
-               WEBKIT_WEB_VIEW (editor->priv->editor_widget));
+               WEBKIT_WEB_VIEW (editor->priv->html_editor_view));
 
        g_object_set (
                G_OBJECT (settings),
@@ -487,9 +487,9 @@ editor_spell_languages_changed (EEditor *editor)
                        editor->priv->spell_check_dialog));
 
        if (*comma_separated)
-               e_editor_widget_force_spell_check (editor->priv->editor_widget);
+               e_html_editor_view_force_spell_check (editor->priv->html_editor_view);
        else
-               e_editor_widget_turn_spell_check_off (editor->priv->editor_widget);
+               e_html_editor_view_turn_spell_check_off (editor->priv->html_editor_view);
 
        g_free (comma_separated);
 }
@@ -648,7 +648,7 @@ editor_constructed (GObject *object)
        priv->scrolled_window = g_object_ref (widget);
        gtk_widget_show (widget);
 
-       widget = GTK_WIDGET (e_editor_get_editor_widget (editor));
+       widget = GTK_WIDGET (e_editor_get_html_editor_view (editor));
        gtk_container_add (GTK_CONTAINER (priv->scrolled_window), widget);
        gtk_widget_show (widget);
        g_signal_connect_swapped (
@@ -699,7 +699,7 @@ editor_constructed (GObject *object)
                priv->selection, "font-color",
                G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
        g_object_bind_property (
-               priv->editor_widget, "editable",
+               priv->html_editor_view, "editable",
                priv->color_combo_box, "sensitive",
                G_BINDING_SYNC_CREATE);
 
@@ -718,7 +718,7 @@ editor_constructed (GObject *object)
                editor, "/context-menu/context-input-methods-menu");
        widget = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
        g_object_get (
-               G_OBJECT (priv->editor_widget), "im-context", &im_context, NULL);
+               G_OBJECT (priv->html_editor_view), "im-context", &im_context, NULL);
        gtk_im_multicontext_append_menuitems (
                GTK_IM_MULTICONTEXT (im_context),
                GTK_MENU_SHELL (widget));
@@ -754,7 +754,7 @@ editor_dispose (GObject *object)
        g_clear_object (&priv->style_combo_box);
        g_clear_object (&priv->scrolled_window);
 
-       g_clear_object (&priv->editor_widget);
+       g_clear_object (&priv->html_editor_view);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (e_editor_parent_class)->dispose (object);
@@ -870,8 +870,8 @@ e_editor_init (EEditor *editor)
        priv->language_actions = gtk_action_group_new ("language");
        priv->spell_check_actions = gtk_action_group_new ("spell-check");
        priv->suggestion_actions = gtk_action_group_new ("suggestion");
-       priv->editor_widget = g_object_ref_sink (e_editor_widget_new ());
-       priv->selection = e_editor_widget_get_selection (priv->editor_widget);
+       priv->html_editor_view = g_object_ref_sink (e_html_editor_view_new ());
+       priv->selection = e_html_editor_view_get_selection (priv->html_editor_view);
 
        filename = editor_find_ui_file ("e-editor-manager.ui");
        if (!gtk_ui_manager_add_ui_from_file (priv->manager, filename, &error)) {
@@ -904,17 +904,17 @@ e_editor_new (void)
 }
 
 /**
- * e_editor_get_editor_widget:
+ * e_editor_get_html_editor_view:
  * @editor: an #EEditor
  *
- * Returns instance of #EEditorWidget used in the @editor.
+ * Returns instance of #EHTMLEditorView used in the @editor.
  */
-EEditorWidget *
-e_editor_get_editor_widget (EEditor *editor)
+EHTMLEditorView *
+e_editor_get_html_editor_view (EEditor *editor)
 {
        g_return_val_if_fail (E_IS_EDITOR (editor), NULL);
 
-       return editor->priv->editor_widget;
+       return editor->priv->html_editor_view;
 }
 
 /**
@@ -1129,7 +1129,7 @@ e_editor_pack_above (EEditor *editor,
  * @as_html: whether the content should be saved as HTML or plain text
  * @error:[out] a #GError
  *
- * Saves current content of the #EEditorWidget into given file. When @as_html
+ * Saves current content of the #EHTMLEditorView into given file. When @as_html
  * is @FALSE, the content is first converted into plain text.
  *
  * Returns: @TRUE when content is succesfully saved, @FALSE otherwise.
@@ -1152,11 +1152,11 @@ e_editor_save (EEditor *editor,
                return FALSE;
 
        if (as_html)
-               content = e_editor_widget_get_text_html (
-                       E_EDITOR_WIDGET (editor));
+               content = e_html_editor_view_get_text_html (
+                       E_HTML_EDITOR_VIEW (editor));
        else
-               content = e_editor_widget_get_text_plain (
-                       E_EDITOR_WIDGET (editor));
+               content = e_html_editor_view_get_text_plain (
+                       E_HTML_EDITOR_VIEW (editor));
 
        if (!content || !*content) {
                g_set_error (
diff --git a/e-util/e-editor.h b/e-util/e-editor.h
index 4b5e736..cc03150 100644
--- a/e-util/e-editor.h
+++ b/e-util/e-editor.h
@@ -28,7 +28,7 @@
 #include <gtk/gtk.h>
 #include <e-util/e-activity.h>
 #include <e-util/e-activity-bar.h>
-#include <e-util/e-editor-widget.h>
+#include <e-util/e-html-editor-view.h>
 
 /* Standard GObject macros */
 #define E_TYPE_EDITOR \
@@ -71,7 +71,8 @@ struct _EEditorClass {
 
 GType          e_editor_get_type               (void) G_GNUC_CONST;
 GtkWidget *    e_editor_new                    (void);
-EEditorWidget *        e_editor_get_editor_widget      (EEditor *editor);
+EHTMLEditorView *
+               e_editor_get_html_editor_view   (EEditor *editor);
 GtkBuilder *   e_editor_get_builder            (EEditor *editor);
 GtkUIManager * e_editor_get_ui_manager         (EEditor *editor);
 GtkAction *    e_editor_get_action             (EEditor *editor,
diff --git a/e-util/e-focus-tracker.c b/e-util/e-focus-tracker.c
index 21d1fcc..fe0f8a2 100644
--- a/e-util/e-focus-tracker.c
+++ b/e-util/e-focus-tracker.c
@@ -28,7 +28,7 @@
 
 #include "e-selectable.h"
 #include "e-widget-undo.h"
-#include "e-editor-widget.h"
+#include "e-html-editor-view.h"
 
 #define E_FOCUS_TRACKER_GET_PRIVATE(obj) \
        (G_TYPE_INSTANCE_GET_PRIVATE \
@@ -258,16 +258,16 @@ focus_tracker_text_view_update_actions (EFocusTracker *focus_tracker,
 
 static void
 focus_tracker_editor_update_actions (EFocusTracker *focus_tracker,
-                                       EEditorWidget *editor,
-                                       GdkAtom *targets,
-                                       gint n_targets)
+                                     EHTMLEditorView *view,
+                                     GdkAtom *targets,
+                                     gint n_targets)
 {
        GtkAction *action;
        gboolean can_copy;
        gboolean can_cut;
        gboolean can_paste;
 
-       g_object_get (editor,
+       g_object_get (view,
                      "can-copy", &can_copy,
                      "can-cut", &can_cut,
                      "can-paste", &can_paste,
@@ -369,9 +369,9 @@ focus_tracker_targets_received_cb (GtkClipboard *clipboard,
                        focus_tracker, GTK_TEXT_VIEW (focus),
                        targets, n_targets);
 
-       else if (E_IS_EDITOR_WIDGET (focus))
+       else if (E_IS_HTML_EDITOR_VIEW (focus))
                focus_tracker_editor_update_actions (
-                       focus_tracker, E_EDITOR_WIDGET (focus),
+                       focus_tracker, E_HTML_EDITOR_VIEW (focus),
                        targets, n_targets);
 
        g_object_unref (focus_tracker);
@@ -392,7 +392,7 @@ focus_tracker_set_focus_cb (GtkWindow *window,
                if (GTK_IS_TEXT_VIEW (focus))
                        break;
 
-               if (E_IS_EDITOR_WIDGET (focus))
+               if (E_IS_HTML_EDITOR_VIEW (focus))
                        break;
 
                focus = gtk_widget_get_parent (focus);
diff --git a/e-util/e-editor-widget.c b/e-util/e-html-editor-view.c
similarity index 83%
rename from e-util/e-editor-widget.c
rename to e-util/e-html-editor-view.c
index 620393c..f14963a 100644
--- a/e-util/e-editor-widget.c
+++ b/e-util/e-html-editor-view.c
@@ -1,5 +1,5 @@
 /*
- * e-editor-widget.c
+ * e-html-editor-view.c
  *
  * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
  *
@@ -22,7 +22,7 @@
 #include <config.h>
 #endif
 
-#include "e-editor-widget.h"
+#include "e-html-editor-view.h"
 #include "e-editor.h"
 #include "e-emoticon-chooser.h"
 
@@ -31,9 +31,9 @@
 #include <glib/gi18n-lib.h>
 #include <gdk/gdkkeysyms.h>
 
-#define E_EDITOR_WIDGET_GET_PRIVATE(obj) \
+#define E_HTML_EDITOR_VIEW_GET_PRIVATE(obj) \
        (G_TYPE_INSTANCE_GET_PRIVATE \
-       ((obj), E_TYPE_EDITOR_WIDGET, EEditorWidgetPrivate))
+       ((obj), E_TYPE_HTML_EDITOR_VIEW, EHTMLEditorViewPrivate))
 
 #define UNICODE_ZERO_WIDTH_SPACE "\xe2\x80\x8b"
 
@@ -48,15 +48,15 @@
 #define QUOTE_SYMBOL ">"
 
 /**
- * EEditorWidget:
+ * EHTMLEditorView:
  *
- * The #EEditorWidget is a WebKit-based rich text editor. The widget itself
+ * The #EHTMLEditorView is a WebKit-based rich text editor. The view itself
  * only provides means to configure global behavior of the editor. To work
  * with the actual content, current cursor position or current selection,
  * use #EEditorSelection object.
  */
 
-struct _EEditorWidgetPrivate {
+struct _EHTMLEditorViewPrivate {
        gint changed            : 1;
        gint inline_spelling    : 1;
        gint magic_links        : 1;
@@ -109,20 +109,20 @@ static guint signals[LAST_SIGNAL] = { 0 };
 static CamelDataCache *emd_global_http_cache = NULL;
 
 G_DEFINE_TYPE_WITH_CODE (
-       EEditorWidget,
-       e_editor_widget,
+       EHTMLEditorView,
+       e_html_editor_view,
        WEBKIT_TYPE_WEB_VIEW,
        G_IMPLEMENT_INTERFACE (
                E_TYPE_EXTENSIBLE, NULL))
 
 static WebKitDOMRange *
-editor_widget_get_dom_range (EEditorWidget *widget)
+html_editor_view_get_dom_range (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
        WebKitDOMDOMSelection *selection;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        selection = webkit_dom_dom_window_get_selection (window);
 
@@ -134,75 +134,75 @@ editor_widget_get_dom_range (EEditorWidget *widget)
 }
 
 static void
-editor_widget_user_changed_contents_cb (EEditorWidget *widget,
+html_editor_view_user_changed_contents_cb (EHTMLEditorView *view,
                                         gpointer user_data)
 {
        WebKitWebView *web_view;
        gboolean can_redo, can_undo;
 
-       web_view = WEBKIT_WEB_VIEW (widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
-       e_editor_widget_set_changed (widget, TRUE);
+       e_html_editor_view_set_changed (view, TRUE);
 
        can_redo = webkit_web_view_can_redo (web_view);
-       if (widget->priv->can_redo != can_redo) {
-               widget->priv->can_redo = can_redo;
-               g_object_notify (G_OBJECT (widget), "can-redo");
+       if (view->priv->can_redo != can_redo) {
+               view->priv->can_redo = can_redo;
+               g_object_notify (G_OBJECT (view), "can-redo");
        }
 
        can_undo = webkit_web_view_can_undo (web_view);
-       if (widget->priv->can_undo != can_undo) {
-               widget->priv->can_undo = can_undo;
-               g_object_notify (G_OBJECT (widget), "can-undo");
+       if (view->priv->can_undo != can_undo) {
+               view->priv->can_undo = can_undo;
+               g_object_notify (G_OBJECT (view), "can-undo");
        }
 }
 
 static void
-editor_widget_selection_changed_cb (EEditorWidget *widget,
+html_editor_view_selection_changed_cb (EHTMLEditorView *view,
                                     gpointer user_data)
 {
        WebKitWebView *web_view;
        gboolean can_copy, can_cut, can_paste;
 
-       web_view = WEBKIT_WEB_VIEW (widget);
+       web_view = WEBKIT_WEB_VIEW (view);
 
        /* When the webview is being (re)loaded, the document is in an
         * inconsistant state and there is no selection, so don't propagate
         * the signal further to EEditorSelection and others and wait until
         * the load is finished. */
-       if (widget->priv->reload_in_progress) {
-               g_signal_stop_emission_by_name (widget, "selection-changed");
+       if (view->priv->reload_in_progress) {
+               g_signal_stop_emission_by_name (view, "selection-changed");
                return;
        }
 
        can_copy = webkit_web_view_can_copy_clipboard (web_view);
-       if (widget->priv->can_copy != can_copy) {
-               widget->priv->can_copy = can_copy;
-               g_object_notify (G_OBJECT (widget), "can-copy");
+       if (view->priv->can_copy != can_copy) {
+               view->priv->can_copy = can_copy;
+               g_object_notify (G_OBJECT (view), "can-copy");
        }
 
        can_cut = webkit_web_view_can_cut_clipboard (web_view);
-       if (widget->priv->can_cut != can_cut) {
-               widget->priv->can_cut = can_cut;
-               g_object_notify (G_OBJECT (widget), "can-cut");
+       if (view->priv->can_cut != can_cut) {
+               view->priv->can_cut = can_cut;
+               g_object_notify (G_OBJECT (view), "can-cut");
        }
 
        can_paste = webkit_web_view_can_paste_clipboard (web_view);
-       if (widget->priv->can_paste != can_paste) {
-               widget->priv->can_paste = can_paste;
-               g_object_notify (G_OBJECT (widget), "can-paste");
+       if (view->priv->can_paste != can_paste) {
+               view->priv->can_paste = can_paste;
+               g_object_notify (G_OBJECT (view), "can-paste");
        }
 }
 
 static gboolean
-editor_widget_should_show_delete_interface_for_element (EEditorWidget *widget,
+html_editor_view_should_show_delete_interface_for_element (EHTMLEditorView *view,
                                                         WebKitDOMHTMLElement *element)
 {
        return FALSE;
 }
 
 void
-e_editor_widget_force_spell_check_for_current_paragraph (EEditorWidget *widget)
+e_html_editor_view_force_spell_check_for_current_paragraph (EHTMLEditorView *view)
 {
        EEditorSelection *selection;
        WebKitDOMDocument *document;
@@ -212,7 +212,7 @@ e_editor_widget_force_spell_check_for_current_paragraph (EEditorWidget *widget)
        WebKitDOMRange *end_range, *actual;
        WebKitDOMText *text;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -222,14 +222,14 @@ e_editor_widget_force_spell_check_for_current_paragraph (EEditorWidget *widget)
        if (!element)
                return;
 
-       selection = e_editor_widget_get_selection (widget);
+       selection = e_html_editor_view_get_selection (view);
        caret = e_editor_selection_save_caret_position (selection);
 
        /* Block callbacks of selection-changed signal as we don't want to
         * recount all the block format things in EEditorSelection and here as well
         * when we are moving with caret */
        g_signal_handlers_block_by_func (
-               widget, editor_widget_selection_changed_cb, NULL);
+               view, html_editor_view_selection_changed_cb, NULL);
        e_editor_selection_block_selection_changed (selection);
 
        parent = webkit_dom_node_get_parent_element (WEBKIT_DOM_NODE (caret));
@@ -278,7 +278,7 @@ e_editor_widget_force_spell_check_for_current_paragraph (EEditorWidget *widget)
 
        /* Unblock the callbacks */
        g_signal_handlers_unblock_by_func (
-               widget, editor_widget_selection_changed_cb, NULL);
+               view, html_editor_view_selection_changed_cb, NULL);
        e_editor_selection_unblock_selection_changed (selection);
 
        e_editor_selection_restore_caret_position (selection);
@@ -307,7 +307,7 @@ move_caret_into_element (WebKitDOMDocument *document,
 }
 
 static void
-refresh_spell_check (EEditorWidget *widget,
+refresh_spell_check (EHTMLEditorView *view,
                      gboolean enable_spell_check)
 {
        EEditorSelection *selection;
@@ -318,7 +318,7 @@ refresh_spell_check (EEditorWidget *widget,
        WebKitDOMRange *end_range, *actual;
        WebKitDOMText *text;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -330,7 +330,7 @@ refresh_spell_check (EEditorWidget *widget,
                enable_spell_check ? "true" : "false",
                NULL);
 
-       selection = e_editor_widget_get_selection (widget);
+       selection = e_html_editor_view_get_selection (view);
        e_editor_selection_save_caret_position (selection);
 
        /* Sometimes the web view is not event focused, so we have to move caret
@@ -346,7 +346,7 @@ refresh_spell_check (EEditorWidget *widget,
         * recount all the block format things in EEditorSelection and here as well
         * when we are moving with caret */
        g_signal_handlers_block_by_func (
-               widget, editor_widget_selection_changed_cb, NULL);
+               view, html_editor_view_selection_changed_cb, NULL);
        e_editor_selection_block_selection_changed (selection);
 
        /* Append some text on the end of the body */
@@ -382,40 +382,40 @@ refresh_spell_check (EEditorWidget *widget,
 
        /* Unblock the callbacks */
        g_signal_handlers_unblock_by_func (
-               widget, editor_widget_selection_changed_cb, NULL);
+               view, html_editor_view_selection_changed_cb, NULL);
        e_editor_selection_unblock_selection_changed (selection);
 
        e_editor_selection_restore_caret_position (selection);
 }
 
 void
-e_editor_widget_turn_spell_check_off (EEditorWidget *widget)
+e_html_editor_view_turn_spell_check_off (EHTMLEditorView *view)
 {
-       refresh_spell_check (widget, FALSE);
+       refresh_spell_check (view, FALSE);
 }
 
 void
-e_editor_widget_force_spell_check (EEditorWidget *widget)
+e_html_editor_view_force_spell_check (EHTMLEditorView *view)
 {
-       refresh_spell_check (widget, TRUE);
+       refresh_spell_check (view, TRUE);
 }
 
 static void
 body_input_event_cb (WebKitDOMElement *element,
                      WebKitDOMEvent *event,
-                     EEditorWidget *editor_widget)
+                     EHTMLEditorView *view)
 {
        WebKitDOMNode *node;
-       WebKitDOMRange *range = editor_widget_get_dom_range (editor_widget);
+       WebKitDOMRange *range = html_editor_view_get_dom_range (view);
 
-       e_editor_widget_set_changed (editor_widget, TRUE);
+       e_html_editor_view_set_changed (view, TRUE);
 
        node = webkit_dom_range_get_end_container (range, NULL);
 
        /* After toggling monospaced format, we are using UNICODE_ZERO_WIDTH_SPACE
         * to move caret into right space. When this callback is called it is not
         * necassary anymore so remove it */
-       if (e_editor_widget_get_html_mode (editor_widget)) {
+       if (e_html_editor_view_get_html_mode (view)) {
                WebKitDOMElement *parent = webkit_dom_node_get_parent_element (node);
 
                if (parent) {
@@ -463,12 +463,12 @@ body_input_event_cb (WebKitDOMElement *element,
                if ((WEBKIT_DOM_IS_HTML_PARAGRAPH_ELEMENT (parent) ||
                    WEBKIT_DOM_IS_HTML_DIV_ELEMENT (parent)) &&
                    !element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-paragraph")) {
-                       if (e_editor_widget_get_html_mode (editor_widget)) {
+                       if (e_html_editor_view_get_html_mode (view)) {
                                element_add_class (
                                        WEBKIT_DOM_ELEMENT (parent), "-x-evo-paragraph");
                        } else {
                                e_editor_selection_set_paragraph_style (
-                                       e_editor_widget_get_selection (editor_widget),
+                                       e_html_editor_view_get_selection (view),
                                        WEBKIT_DOM_ELEMENT (parent),
                                        -1, 0, "");
                        }
@@ -476,7 +476,7 @@ body_input_event_cb (WebKitDOMElement *element,
        } else if (WEBKIT_DOM_IS_HTMLLI_ELEMENT (node)) {
                WebKitDOMElement *parent;
 
-               if (e_editor_widget_get_html_mode (editor_widget))
+               if (e_html_editor_view_get_html_mode (view))
                        return;
 
                parent = webkit_dom_node_get_parent_element (node);
@@ -485,7 +485,7 @@ body_input_event_cb (WebKitDOMElement *element,
                        WebKitDOMDocument *document;
 
                        document = webkit_web_view_get_dom_document (
-                               WEBKIT_WEB_VIEW (editor_widget));
+                               WEBKIT_WEB_VIEW (view));
 
                        webkit_dom_html_element_set_inner_html (
                                WEBKIT_DOM_HTML_ELEMENT (node),
@@ -499,13 +499,13 @@ body_input_event_cb (WebKitDOMElement *element,
                                NULL);
 
                        e_editor_selection_restore_caret_position (
-                               e_editor_widget_get_selection (editor_widget));
+                               e_html_editor_view_get_selection (view));
                }
        }
 }
 
 static void
-set_base64_to_element_attribute (EEditorWidget *widget,
+set_base64_to_element_attribute (EHTMLEditorView *view,
                                  WebKitDOMElement *element,
                                  const gchar *attribute)
 {
@@ -514,7 +514,7 @@ set_base64_to_element_attribute (EEditorWidget *widget,
 
        attribute_value = webkit_dom_element_get_attribute (element, attribute);
 
-       if ((base64_src = g_hash_table_lookup (widget->priv->inline_images, attribute_value)) != NULL) {
+       if ((base64_src = g_hash_table_lookup (view->priv->inline_images, attribute_value)) != NULL) {
                const gchar *base64_data = strstr (base64_src, ";") + 1;
                gchar *name;
                glong name_length;
@@ -533,7 +533,7 @@ set_base64_to_element_attribute (EEditorWidget *widget,
 }
 
 static void
-change_cid_images_src_to_base64 (EEditorWidget *widget)
+change_cid_images_src_to_base64 (EHTMLEditorView *view)
 {
        gint ii, length;
        WebKitDOMDocument *document;
@@ -541,7 +541,7 @@ change_cid_images_src_to_base64 (EEditorWidget *widget)
        WebKitDOMNamedNodeMap *attributes;
        WebKitDOMNodeList *list;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        document_element = webkit_dom_document_get_document_element (document);
 
        list = webkit_dom_document_query_selector_all (document, "img[src^=\"cid:\"]", NULL);
@@ -549,7 +549,7 @@ change_cid_images_src_to_base64 (EEditorWidget *widget)
        for (ii = 0; ii < length; ii++) {
                WebKitDOMNode *node = webkit_dom_node_list_item (list, ii);
 
-               set_base64_to_element_attribute (widget, WEBKIT_DOM_ELEMENT (node), "src");
+               set_base64_to_element_attribute (view, WEBKIT_DOM_ELEMENT (node), "src");
        }
 
        /* Namespaces */
@@ -574,7 +574,7 @@ change_cid_images_src_to_base64 (EEditorWidget *widget)
                                WebKitDOMNode *node = webkit_dom_node_list_item (list, jj);
 
                                set_base64_to_element_attribute (
-                                       widget, WEBKIT_DOM_ELEMENT (node), attribute_ns);
+                                       view, WEBKIT_DOM_ELEMENT (node), attribute_ns);
                        }
 
                        g_free (attribute_ns);
@@ -590,9 +590,9 @@ change_cid_images_src_to_base64 (EEditorWidget *widget)
                WebKitDOMNode *node = webkit_dom_node_list_item (list, ii);
 
                set_base64_to_element_attribute (
-                       widget, WEBKIT_DOM_ELEMENT (node), "background");
+                       view, WEBKIT_DOM_ELEMENT (node), "background");
        }
-       g_hash_table_remove_all (widget->priv->inline_images);
+       g_hash_table_remove_all (view->priv->inline_images);
 }
 
 /* For purpose of this function see e-mail-formatter-quote.c */
@@ -669,19 +669,19 @@ repair_gmail_blockquotes (WebKitDOMDocument *document)
 }
 
 static void
-editor_widget_load_status_changed (EEditorWidget *widget)
+html_editor_view_load_status_changed (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
        WebKitLoadStatus status;
 
-       status = webkit_web_view_get_load_status (WEBKIT_WEB_VIEW (widget));
+       status = webkit_web_view_get_load_status (WEBKIT_WEB_VIEW (view));
        if (status != WEBKIT_LOAD_FINISHED)
                return;
 
-       widget->priv->reload_in_progress = FALSE;
+       view->priv->reload_in_progress = FALSE;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        webkit_dom_element_remove_attribute (WEBKIT_DOM_ELEMENT (body), "style");
@@ -698,10 +698,10 @@ editor_widget_load_status_changed (EEditorWidget *widget)
                "input",
                G_CALLBACK (body_input_event_cb),
                FALSE,
-               widget);
+               view);
 
-       if (widget->priv->html_mode)
-               change_cid_images_src_to_base64 (widget);
+       if (view->priv->html_mode)
+               change_cid_images_src_to_base64 (view);
 }
 
 /* Based on original use_pictograms() from GtkHTML */
@@ -748,7 +748,7 @@ static const gchar *emoticons_icon_names[] = {
 };
 
 static void
-editor_widget_check_magic_links (EEditorWidget *widget,
+html_editor_view_check_magic_links (EHTMLEditorView *view,
                                 WebKitDOMRange *range,
                                 gboolean include_space_by_user,
                                 GdkEventKey *event)
@@ -814,11 +814,11 @@ editor_widget_check_magic_links (EEditorWidget *widget,
                WebKitDOMElement *anchor;
                const gchar* url_text;
 
-               document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+               document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
                if (!return_pressed)
                        e_editor_selection_save_caret_position (
-                               e_editor_widget_get_selection (widget));
+                               e_html_editor_view_get_selection (view));
 
                g_match_info_fetch_pos (match_info, 0, &start_pos_url, &end_pos_url);
 
@@ -866,7 +866,7 @@ editor_widget_check_magic_links (EEditorWidget *widget,
 
                if (!return_pressed)
                        e_editor_selection_restore_caret_position (
-                               e_editor_widget_get_selection (widget));
+                               e_html_editor_view_get_selection (view));
 
                g_free (url_end_raw);
                g_free (final_url);
@@ -1011,20 +1011,20 @@ editor_widget_check_magic_links (EEditorWidget *widget,
 typedef struct _LoadContext LoadContext;
 
 struct _LoadContext {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
        gchar *content_type;
        gchar *name;
        EEmoticon *emoticon;
 };
 
 static LoadContext *
-emoticon_load_context_new (EEditorWidget *widget,
+emoticon_load_context_new (EHTMLEditorView *view,
                            EEmoticon *emoticon)
 {
        LoadContext *load_context;
 
        load_context = g_slice_new0 (LoadContext);
-       load_context->widget = widget;
+       load_context->view = view;
        load_context->emoticon = emoticon;
 
        return load_context;
@@ -1043,7 +1043,7 @@ emoticon_read_async_cb (GFile *file,
                         GAsyncResult *result,
                         LoadContext *load_context)
 {
-       EEditorWidget *widget = load_context->widget;
+       EHTMLEditorView *view = load_context->view;
        EEmoticon *emoticon = load_context->emoticon;
        GError *error = NULL;
        gchar *html, *node_text, *mime_type;
@@ -1070,11 +1070,11 @@ emoticon_read_async_cb (GFile *file,
                goto out;
 
        caret_position = e_editor_selection_save_caret_position (
-               e_editor_widget_get_selection (widget));
+               e_html_editor_view_get_selection (view));
 
        mime_type = g_content_type_get_mime_type (load_context->content_type);
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
-       range = editor_widget_get_dom_range (widget);
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
+       range = html_editor_view_get_dom_range (view);
        node = webkit_dom_range_get_end_container (range, NULL);
        node_text = webkit_dom_text_get_whole_text (WEBKIT_DOM_TEXT (node));
        parent = webkit_dom_node_get_parent_node (node);
@@ -1117,9 +1117,9 @@ emoticon_read_async_cb (GFile *file,
        }
 
        e_editor_selection_restore_caret_position (
-               e_editor_widget_get_selection (widget));
+               e_html_editor_view_get_selection (view));
 
-       e_editor_widget_set_changed (widget, TRUE);
+       e_html_editor_view_set_changed (view, TRUE);
 
        g_free (html);
        g_free (node_text);
@@ -1153,7 +1153,7 @@ emoticon_query_info_async_cb (GFile *file,
 }
 
 void
-e_editor_widget_insert_smiley (EEditorWidget *widget,
+e_html_editor_view_insert_smiley (EHTMLEditorView *view,
                                EEmoticon *emoticon)
 {
        GFile *file;
@@ -1163,7 +1163,7 @@ e_editor_widget_insert_smiley (EEditorWidget *widget,
        filename_uri = e_emoticon_get_uri (emoticon);
        g_return_if_fail (filename_uri != NULL);
 
-       load_context = emoticon_load_context_new (widget, emoticon);
+       load_context = emoticon_load_context_new (view, emoticon);
 
        file = g_file_new_for_uri (filename_uri);
        g_file_query_info_async (
@@ -1176,7 +1176,7 @@ e_editor_widget_insert_smiley (EEditorWidget *widget,
 }
 
 static void
-editor_widget_check_magic_smileys (EEditorWidget *widget,
+html_editor_view_check_magic_smileys (EHTMLEditorView *view,
                                    WebKitDOMRange *range)
 {
        gint pos;
@@ -1238,20 +1238,20 @@ editor_widget_check_magic_smileys (EEditorWidget *widget,
 
                emoticon = (e_emoticon_chooser_lookup_emoticon (
                        emoticons_icon_names[-state - 1]));
-               e_editor_widget_insert_smiley (widget, (EEmoticon *) emoticon);
+               e_html_editor_view_insert_smiley (view, (EEmoticon *) emoticon);
        }
 
        g_free (node_text);
 }
 
 static void
-editor_widget_set_links_active (EEditorWidget *widget,
+html_editor_view_set_links_active (EHTMLEditorView *view,
                                 gboolean active)
 {
        WebKitDOMDocument *document;
        WebKitDOMElement *style;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        if (active) {
                style = webkit_dom_document_get_element_by_id (
@@ -1279,7 +1279,7 @@ editor_widget_set_links_active (EEditorWidget *widget,
 static void
 clipboard_text_received (GtkClipboard *clipboard,
                          const gchar *text,
-                         EEditorWidget *widget)
+                         EHTMLEditorView *view)
 {
        EEditorSelection *selection;
        gchar *escaped_text;
@@ -1293,9 +1293,9 @@ clipboard_text_received (GtkClipboard *clipboard,
        if (!text || !*text)
                return;
 
-       selection = e_editor_widget_get_selection (widget);
+       selection = e_html_editor_view_get_selection (view);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        dom_selection = webkit_dom_dom_window_get_selection (window);
 
@@ -1324,8 +1324,8 @@ clipboard_text_received (GtkClipboard *clipboard,
        webkit_dom_node_append_child (
                WEBKIT_DOM_NODE (blockquote), WEBKIT_DOM_NODE (element), NULL);
 
-       if (!e_editor_widget_get_html_mode (widget))
-               e_editor_widget_quote_plain_text_element (widget, element);
+       if (!e_html_editor_view_get_html_mode (view))
+               e_html_editor_view_quote_plain_text_element (view, element);
 
        range = webkit_dom_dom_selection_get_range_at (dom_selection, 0, NULL);
        node = webkit_dom_range_get_end_container (range, NULL);
@@ -1341,39 +1341,39 @@ clipboard_text_received (GtkClipboard *clipboard,
 }
 
 static void
-editor_widget_set_property (GObject *object,
+html_editor_view_set_property (GObject *object,
                             guint property_id,
                             const GValue *value,
                             GParamSpec *pspec)
 {
        switch (property_id) {
                case PROP_CHANGED:
-                       e_editor_widget_set_changed (
-                               E_EDITOR_WIDGET (object),
+                       e_html_editor_view_set_changed (
+                               E_HTML_EDITOR_VIEW (object),
                                g_value_get_boolean (value));
                        return;
 
                case PROP_HTML_MODE:
-                       e_editor_widget_set_html_mode (
-                               E_EDITOR_WIDGET (object),
+                       e_html_editor_view_set_html_mode (
+                               E_HTML_EDITOR_VIEW (object),
                                g_value_get_boolean (value));
                        return;
 
                case PROP_INLINE_SPELLING:
-                       e_editor_widget_set_inline_spelling (
-                               E_EDITOR_WIDGET (object),
+                       e_html_editor_view_set_inline_spelling (
+                               E_HTML_EDITOR_VIEW (object),
                                g_value_get_boolean (value));
                        return;
 
                case PROP_MAGIC_LINKS:
-                       e_editor_widget_set_magic_links (
-                               E_EDITOR_WIDGET (object),
+                       e_html_editor_view_set_magic_links (
+                               E_HTML_EDITOR_VIEW (object),
                                g_value_get_boolean (value));
                        return;
 
                case PROP_MAGIC_SMILEYS:
-                       e_editor_widget_set_magic_smileys (
-                               E_EDITOR_WIDGET (object),
+                       e_html_editor_view_set_magic_smileys (
+                               E_HTML_EDITOR_VIEW (object),
                                g_value_get_boolean (value));
                        return;
        }
@@ -1382,7 +1382,7 @@ editor_widget_set_property (GObject *object,
 }
 
 static void
-editor_widget_get_property (GObject *object,
+html_editor_view_get_property (GObject *object,
                             guint property_id,
                             GValue *value,
                             GParamSpec *pspec)
@@ -1420,38 +1420,38 @@ editor_widget_get_property (GObject *object,
 
                case PROP_CHANGED:
                        g_value_set_boolean (
-                               value, e_editor_widget_get_changed (
-                               E_EDITOR_WIDGET (object)));
+                               value, e_html_editor_view_get_changed (
+                               E_HTML_EDITOR_VIEW (object)));
                        return;
 
                case PROP_HTML_MODE:
                        g_value_set_boolean (
-                               value, e_editor_widget_get_html_mode (
-                               E_EDITOR_WIDGET (object)));
+                               value, e_html_editor_view_get_html_mode (
+                               E_HTML_EDITOR_VIEW (object)));
                        return;
 
                case PROP_INLINE_SPELLING:
                        g_value_set_boolean (
-                               value, e_editor_widget_get_inline_spelling (
-                               E_EDITOR_WIDGET (object)));
+                               value, e_html_editor_view_get_inline_spelling (
+                               E_HTML_EDITOR_VIEW (object)));
                        return;
 
                case PROP_MAGIC_LINKS:
                        g_value_set_boolean (
-                               value, e_editor_widget_get_magic_links (
-                               E_EDITOR_WIDGET (object)));
+                               value, e_html_editor_view_get_magic_links (
+                               E_HTML_EDITOR_VIEW (object)));
                        return;
 
                case PROP_MAGIC_SMILEYS:
                        g_value_set_boolean (
-                               value, e_editor_widget_get_magic_smileys (
-                               E_EDITOR_WIDGET (object)));
+                               value, e_html_editor_view_get_magic_smileys (
+                               E_HTML_EDITOR_VIEW (object)));
                        return;
 
                case PROP_SPELL_CHECKER:
                        g_value_set_object (
-                               value, e_editor_widget_get_spell_checker (
-                               E_EDITOR_WIDGET (object)));
+                               value, e_html_editor_view_get_spell_checker (
+                               E_HTML_EDITOR_VIEW (object)));
                        return;
        }
 
@@ -1459,11 +1459,11 @@ editor_widget_get_property (GObject *object,
 }
 
 static void
-editor_widget_dispose (GObject *object)
+html_editor_view_dispose (GObject *object)
 {
-       EEditorWidgetPrivate *priv;
+       EHTMLEditorViewPrivate *priv;
 
-       priv = E_EDITOR_WIDGET_GET_PRIVATE (object);
+       priv = E_HTML_EDITOR_VIEW_GET_PRIVATE (object);
 
        g_clear_object (&priv->selection);
 
@@ -1491,56 +1491,58 @@ editor_widget_dispose (GObject *object)
        g_hash_table_remove_all (priv->inline_images);
 
        /* Chain up to parent's dispose() method. */
-       G_OBJECT_CLASS (e_editor_widget_parent_class)->dispose (object);
+       G_OBJECT_CLASS (e_html_editor_view_parent_class)->dispose (object);
 }
 
 static void
-editor_widget_finalize (GObject *object)
+html_editor_view_finalize (GObject *object)
 {
-       EEditorWidgetPrivate *priv;
+       EHTMLEditorViewPrivate *priv;
 
-       priv = E_EDITOR_WIDGET_GET_PRIVATE (object);
+       priv = E_HTML_EDITOR_VIEW_GET_PRIVATE (object);
 
        g_hash_table_destroy (priv->inline_images);
 
        /* Chain up to parent's finalize() method. */
-       G_OBJECT_CLASS (e_editor_widget_parent_class)->finalize (object);
+       G_OBJECT_CLASS (e_html_editor_view_parent_class)->finalize (object);
 }
 
 static void
-editor_widget_constructed (GObject *object)
+html_editor_view_constructed (GObject *object)
 {
        e_extensible_load_extensions (E_EXTENSIBLE (object));
 
        /* Chain up to parent's constructed() method. */
-       G_OBJECT_CLASS (e_editor_widget_parent_class)->constructed (object);
+       G_OBJECT_CLASS (e_html_editor_view_parent_class)->constructed (object);
 }
 
 static void
-editor_widget_save_element_under_mouse_click (GtkWidget *widget)
+html_editor_view_save_element_under_mouse_click (GtkWidget *widget)
 {
        gint x, y;
        GdkDeviceManager *device_manager;
        GdkDevice *pointer;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitDOMDocument *document;
        WebKitDOMElement *element;
 
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (widget));
 
-       device_manager = gdk_display_get_device_manager (gtk_widget_get_display (GTK_WIDGET (widget)));
+       device_manager = gdk_display_get_device_manager (
+               gtk_widget_get_display (GTK_WIDGET (widget)));
        pointer = gdk_device_manager_get_client_pointer (device_manager);
-       gdk_window_get_device_position (gtk_widget_get_window (GTK_WIDGET (widget)), pointer, &x, &y, NULL);
+       gdk_window_get_device_position (
+               gtk_widget_get_window (GTK_WIDGET (widget)), pointer, &x, &y, NULL);
 
        document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
        element = webkit_dom_document_element_from_point (document, x, y);
 
-       editor_widget = E_EDITOR_WIDGET (widget);
-       editor_widget->priv->element_under_mouse = element;
+       view = E_HTML_EDITOR_VIEW (widget);
+       view->priv->element_under_mouse = element;
 }
 
 static gboolean
-editor_widget_button_press_event (GtkWidget *widget,
+html_editor_view_button_press_event (GtkWidget *widget,
                                   GdkEventButton *event)
 {
        gboolean event_handled;
@@ -1550,7 +1552,7 @@ editor_widget_button_press_event (GtkWidget *widget,
                g_signal_emit (widget, signals[PASTE_PRIMARY_CLIPBOARD], 0);
                event_handled = TRUE;
        } else if (event->button == 3) {
-               editor_widget_save_element_under_mouse_click (widget);
+               html_editor_view_save_element_under_mouse_click (widget);
                g_signal_emit (
                        widget, signals[POPUP_EVENT],
                        0, event, &event_handled);
@@ -1562,12 +1564,12 @@ editor_widget_button_press_event (GtkWidget *widget,
                return TRUE;
 
        /* Chain up to parent's button_press_event() method. */
-       return GTK_WIDGET_CLASS (e_editor_widget_parent_class)->
+       return GTK_WIDGET_CLASS (e_html_editor_view_parent_class)->
                button_press_event (widget, event);
 }
 
 static gboolean
-editor_widget_button_release_event (GtkWidget *widget,
+html_editor_view_button_release_event (GtkWidget *widget,
                                     GdkEventButton *event)
 {
        WebKitWebView *webview;
@@ -1608,26 +1610,26 @@ editor_widget_button_release_event (GtkWidget *widget,
        g_free (uri);
 
        /* Chain up to parent's button_release_event() method. */
-       return GTK_WIDGET_CLASS (e_editor_widget_parent_class)->
+       return GTK_WIDGET_CLASS (e_html_editor_view_parent_class)->
                button_release_event (widget, event);
 }
 
 static gboolean
-end_list_on_return_press_in_plain_text_mode (EEditorWidget *editor_widget)
+end_list_on_return_press_in_plain_text_mode (EHTMLEditorView *view)
 {
        EEditorSelection *selection;
        WebKitDOMDocument *document;
        WebKitDOMElement *caret, *li, *list, *paragraph;
        WebKitDOMNode *prev_sibling, *parent;
 
-       if (e_editor_widget_get_html_mode (editor_widget))
+       if (e_html_editor_view_get_html_mode (view))
                return FALSE;
 
-       selection = e_editor_widget_get_selection (editor_widget);
+       selection = e_html_editor_view_get_selection (view);
        caret = e_editor_selection_save_caret_position (selection);
 
        document = webkit_web_view_get_dom_document (
-               WEBKIT_WEB_VIEW (editor_widget));
+               WEBKIT_WEB_VIEW (view));
 
        /* Check if item already containes some text */
        prev_sibling = webkit_dom_node_get_previous_sibling (WEBKIT_DOM_NODE (caret));
@@ -1689,16 +1691,16 @@ end_list_on_return_press_in_plain_text_mode (EEditorWidget *editor_widget)
 }
 
 static gboolean
-insert_new_line_into_citation (EEditorWidget *widget)
+insert_new_line_into_citation (EHTMLEditorView *view)
 {
        EEditorSelection *selection;
        gboolean html_mode, ret_val;
 
-       html_mode = e_editor_widget_get_html_mode (widget);
-       selection = e_editor_widget_get_selection (widget);
+       html_mode = e_html_editor_view_get_html_mode (view);
+       selection = e_html_editor_view_get_selection (view);
 
-       ret_val = e_editor_widget_exec_command (
-               widget, E_EDITOR_WIDGET_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT, NULL);
+       ret_val = e_html_editor_view_exec_command (
+               view, E_HTML_EDITOR_VIEW_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT, NULL);
 
        if (ret_val && !html_mode) {
                WebKitDOMElement *element;
@@ -1706,7 +1708,7 @@ insert_new_line_into_citation (EEditorWidget *widget)
                WebKitDOMNode *next_sibling;
 
                document = webkit_web_view_get_dom_document (
-                       WEBKIT_WEB_VIEW (widget));
+                       WEBKIT_WEB_VIEW (view));
 
                element = webkit_dom_document_query_selector (
                        document, "body>br", NULL);
@@ -1717,10 +1719,10 @@ insert_new_line_into_citation (EEditorWidget *widget)
                if (WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (next_sibling)) {
                        /* Quote content */
                        next_sibling = WEBKIT_DOM_NODE (
-                               e_editor_widget_quote_plain_text_element (
-                                       widget, WEBKIT_DOM_ELEMENT (next_sibling)));
+                               e_html_editor_view_quote_plain_text_element (
+                                       view, WEBKIT_DOM_ELEMENT (next_sibling)));
                        /* Renew spellcheck */
-                       e_editor_widget_force_spell_check (widget);
+                       e_html_editor_view_force_spell_check (view);
                        /* Insert caret node on right position */
                        webkit_dom_node_insert_before (
                                webkit_dom_node_get_parent_node (
@@ -1739,35 +1741,33 @@ insert_new_line_into_citation (EEditorWidget *widget)
 }
 
 static gboolean
-editor_widget_key_press_event (GtkWidget *widget,
+html_editor_view_key_press_event (GtkWidget *widget,
                                GdkEventKey *event)
 {
-       EEditorWidget *editor_widget = E_EDITOR_WIDGET (widget);
+       EHTMLEditorView *view = E_HTML_EDITOR_VIEW (widget);
 
        if (event->keyval == GDK_KEY_Tab)
-               return e_editor_widget_exec_command (
-                       editor_widget,
-                       E_EDITOR_WIDGET_COMMAND_INSERT_TEXT,
-                       "\t");
+               return e_html_editor_view_exec_command (
+                       view, E_HTML_EDITOR_VIEW_COMMAND_INSERT_TEXT, "\t");
 
        if ((event->keyval == GDK_KEY_Control_L) ||
            (event->keyval == GDK_KEY_Control_R)) {
 
-               editor_widget_set_links_active (editor_widget, TRUE);
+               html_editor_view_set_links_active (view, TRUE);
        }
 
        if ((event->keyval == GDK_KEY_Return) ||
            (event->keyval == GDK_KEY_KP_Enter)) {
                EEditorSelection *selection;
 
-               selection = e_editor_widget_get_selection (editor_widget);
+               selection = e_html_editor_view_get_selection (view);
                /* When user presses ENTER in a citation block, WebKit does
                 * not break the citation automatically, so we need to use
                 * the special command to do it. */
                if (e_editor_selection_is_citation (selection)) {
-                       return insert_new_line_into_citation (editor_widget);
+                       return insert_new_line_into_citation (view);
                } else {
-                       if (end_list_on_return_press_in_plain_text_mode (editor_widget))
+                       if (end_list_on_return_press_in_plain_text_mode (view))
                                return TRUE;
                }
        }
@@ -1776,7 +1776,7 @@ editor_widget_key_press_event (GtkWidget *widget,
        if (event->keyval == GDK_KEY_BackSpace) {
                EEditorSelection *selection;
 
-               selection = e_editor_widget_get_selection (editor_widget);
+               selection = e_html_editor_view_get_selection (view);
                if (e_editor_selection_is_indented (selection)) {
                        WebKitDOMElement *caret;
 
@@ -1792,7 +1792,7 @@ editor_widget_key_press_event (GtkWidget *widget,
        }
 
        /* Chain up to parent's key_press_event() method. */
-       return GTK_WIDGET_CLASS (e_editor_widget_parent_class)->
+       return GTK_WIDGET_CLASS (e_html_editor_view_parent_class)->
                key_press_event (widget, event);
 }
 
@@ -1902,23 +1902,23 @@ surround_text_with_paragraph_if_needed (EEditorSelection *selection,
 }
 
 static gboolean
-editor_widget_key_release_event (GtkWidget *widget,
+html_editor_view_key_release_event (GtkWidget *widget,
                                  GdkEventKey *event)
 {
        WebKitDOMDocument *document;
        WebKitDOMRange *range;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EEditorSelection *selection;
 
-       editor_widget = E_EDITOR_WIDGET (widget);
-       range = editor_widget_get_dom_range (editor_widget);
-       selection = e_editor_widget_get_selection (editor_widget);
+       view = E_HTML_EDITOR_VIEW (widget);
+       range = html_editor_view_get_dom_range (view);
+       selection = e_html_editor_view_get_selection (view);
 
        document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
 
-       if (editor_widget->priv->magic_smileys &&
-           editor_widget->priv->html_mode) {
-               editor_widget_check_magic_smileys (editor_widget, range);
+       if (view->priv->magic_smileys &&
+           view->priv->html_mode) {
+               html_editor_view_check_magic_smileys (view, range);
        }
 
        if ((event->keyval == GDK_KEY_Return) ||
@@ -1926,7 +1926,7 @@ editor_widget_key_release_event (GtkWidget *widget,
            (event->keyval == GDK_KEY_KP_Enter) ||
            (event->keyval == GDK_KEY_space)) {
 
-               editor_widget_check_magic_links (editor_widget, range, FALSE, event);
+               html_editor_view_check_magic_links (view, range, FALSE, event);
                adjust_html_structure_after_ending_list (
                        selection,
                        document,
@@ -1939,7 +1939,7 @@ editor_widget_key_release_event (GtkWidget *widget,
                if (surround_text_with_paragraph_if_needed (selection, document, node)) {
                        e_editor_selection_restore_caret_position (selection);
                        node = webkit_dom_range_get_end_container (range, NULL);
-                       range = editor_widget_get_dom_range (editor_widget);
+                       range = html_editor_view_get_dom_range (view);
                }
 
                if (WEBKIT_DOM_IS_TEXT (node)) {
@@ -1953,7 +1953,7 @@ editor_widget_key_release_event (GtkWidget *widget,
                                prev_sibling = webkit_dom_node_get_previous_sibling (node);
 
                                if (WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (prev_sibling))
-                                       editor_widget_check_magic_links (editor_widget, range, FALSE, event);
+                                       html_editor_view_check_magic_links (view, range, FALSE, event);
                        }
                        g_free (text);
                }
@@ -1962,16 +1962,16 @@ editor_widget_key_release_event (GtkWidget *widget,
        if ((event->keyval == GDK_KEY_Control_L) ||
            (event->keyval == GDK_KEY_Control_R)) {
 
-               editor_widget_set_links_active (editor_widget, FALSE);
+               html_editor_view_set_links_active (view, FALSE);
        }
 
        /* Chain up to parent's key_release_event() method. */
-       return GTK_WIDGET_CLASS (e_editor_widget_parent_class)->
+       return GTK_WIDGET_CLASS (e_html_editor_view_parent_class)->
                key_release_event (widget, event);
 }
 
 static void
-editor_widget_paste_clipboard_quoted (EEditorWidget *widget)
+html_editor_view_paste_clipboard_quoted (EHTMLEditorView *view)
 {
        GtkClipboard *clipboard;
 
@@ -1982,11 +1982,11 @@ editor_widget_paste_clipboard_quoted (EEditorWidget *widget)
        gtk_clipboard_request_text (
                clipboard,
                (GtkClipboardTextReceivedFunc) clipboard_text_received,
-               widget);
+               view);
 }
 
 static gboolean
-editor_widget_image_exists_in_cache (const gchar *image_uri)
+html_editor_view_image_exists_in_cache (const gchar *image_uri)
 {
        gchar *filename;
        gchar *hash;
@@ -2009,7 +2009,7 @@ editor_widget_image_exists_in_cache (const gchar *image_uri)
 }
 
 static gchar *
-editor_widget_redirect_uri (EEditorWidget *widget,
+html_editor_view_redirect_uri (EHTMLEditorView *view,
                             const gchar *uri)
 {
        EImageLoadingPolicy image_policy;
@@ -2030,7 +2030,7 @@ editor_widget_redirect_uri (EEditorWidget *widget,
                gboolean image_exists;
 
                /* Check Evolution's cache */
-               image_exists = editor_widget_image_exists_in_cache (uri);
+               image_exists = html_editor_view_image_exists_in_cache (uri);
 
                settings = g_settings_new ("org.gnome.evolution.mail");
                image_policy = g_settings_get_enum (settings, "image-loading-policy");
@@ -2057,7 +2057,7 @@ editor_widget_redirect_uri (EEditorWidget *widget,
 }
 
 static void
-editor_widget_resource_requested (WebKitWebView *web_view,
+html_editor_view_resource_requested (WebKitWebView *web_view,
                                   WebKitWebFrame *frame,
                                   WebKitWebResource *resource,
                                   WebKitNetworkRequest *request,
@@ -2071,8 +2071,8 @@ editor_widget_resource_requested (WebKitWebView *web_view,
        if (original_uri != NULL) {
                gchar *redirected_uri;
 
-               redirected_uri = editor_widget_redirect_uri (
-                       E_EDITOR_WIDGET (web_view), original_uri);
+               redirected_uri = html_editor_view_redirect_uri (
+                       E_HTML_EDITOR_VIEW (web_view), original_uri);
 
                webkit_network_request_set_uri (request, redirected_uri);
 
@@ -2081,30 +2081,30 @@ editor_widget_resource_requested (WebKitWebView *web_view,
 }
 
 static void
-e_editor_widget_class_init (EEditorWidgetClass *class)
+e_html_editor_view_class_init (EHTMLEditorViewClass *class)
 {
        GObjectClass *object_class;
        GtkWidgetClass *widget_class;
 
-       g_type_class_add_private (class, sizeof (EEditorWidgetPrivate));
+       g_type_class_add_private (class, sizeof (EHTMLEditorViewPrivate));
 
        object_class = G_OBJECT_CLASS (class);
-       object_class->get_property = editor_widget_get_property;
-       object_class->set_property = editor_widget_set_property;
-       object_class->dispose = editor_widget_dispose;
-       object_class->finalize = editor_widget_finalize;
-       object_class->constructed = editor_widget_constructed;
+       object_class->get_property = html_editor_view_get_property;
+       object_class->set_property = html_editor_view_set_property;
+       object_class->dispose = html_editor_view_dispose;
+       object_class->finalize = html_editor_view_finalize;
+       object_class->constructed = html_editor_view_constructed;
 
        widget_class = GTK_WIDGET_CLASS (class);
-       widget_class->button_press_event = editor_widget_button_press_event;
-       widget_class->button_release_event = editor_widget_button_release_event;
-       widget_class->key_press_event = editor_widget_key_press_event;
-       widget_class->key_release_event = editor_widget_key_release_event;
+       widget_class->button_press_event = html_editor_view_button_press_event;
+       widget_class->button_release_event = html_editor_view_button_release_event;
+       widget_class->key_press_event = html_editor_view_key_press_event;
+       widget_class->key_release_event = html_editor_view_key_release_event;
 
-       class->paste_clipboard_quoted = editor_widget_paste_clipboard_quoted;
+       class->paste_clipboard_quoted = html_editor_view_paste_clipboard_quoted;
 
        /**
-        * EEditorWidget:can-copy
+        * EHTMLEditorView:can-copy
         *
         * Determines whether it's possible to copy to clipboard. The action
         * is usually disabled when there is no selection to copy.
@@ -2121,7 +2121,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:can-cut
+        * EHTMLEditorView:can-cut
         *
         * Determines whether it's possible to cut to clipboard. The action
         * is usually disabled when there is no selection to cut.
@@ -2138,7 +2138,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:can-paste
+        * EHTMLEditorView:can-paste
         *
         * Determines whether it's possible to paste from clipboard. The action
         * is usually disabled when there is no valid content in clipboard to
@@ -2156,7 +2156,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:can-redo
+        * EHTMLEditorView:can-redo
         *
         * Determines whether it's possible to redo previous action. The action
         * is usually disabled when there is no action to redo.
@@ -2173,7 +2173,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:can-undo
+        * EHTMLEditorView:can-undo
         *
         * Determines whether it's possible to undo last action. The action
         * is usually disabled when there is no previous action to undo.
@@ -2190,7 +2190,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:changed
+        * EHTMLEditorView:changed
         *
         * Determines whether document has been modified
         */
@@ -2206,7 +2206,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:html-mode
+        * EHTMLEditorView:html-mode
         *
         * Determines whether HTML or plain text mode is enabled.
         **/
@@ -2223,7 +2223,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget::inline-spelling
+        * EHTMLEditorView::inline-spelling
         *
         * Determines whether automatic spellchecking is enabled.
         */
@@ -2240,7 +2240,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:magic-links
+        * EHTMLEditorView:magic-links
         *
         * Determines whether automatic conversion of text links into
         * HTML links is enabled.
@@ -2258,7 +2258,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:magic-smileys
+        * EHTMLEditorView:magic-smileys
         *
         * Determines whether automatic conversion of text smileys into
         * images is enabled.
@@ -2276,7 +2276,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:spell-checker:
+        * EHTMLEditorView:spell-checker:
         *
         * The #ESpellChecker used for spell checking.
         **/
@@ -2292,7 +2292,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                        G_PARAM_STATIC_STRINGS));
 
        /**
-        * EEditorWidget:popup-event
+        * EHTMLEditorView:popup-event
         *
         * Emitted whenever a context menu is requested.
         */
@@ -2300,21 +2300,21 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
                "popup-event",
                G_TYPE_FROM_CLASS (class),
                G_SIGNAL_RUN_LAST,
-               G_STRUCT_OFFSET (EEditorWidgetClass, popup_event),
+               G_STRUCT_OFFSET (EHTMLEditorViewClass, popup_event),
                g_signal_accumulator_true_handled, NULL,
                e_marshal_BOOLEAN__BOXED,
                G_TYPE_BOOLEAN, 1,
                GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
        /**
-        * EEditorWidget:paste-primary-clipboad
+        * EHTMLEditorView:paste-primary-clipboad
         *
-        * Emitted when user presses middle button on EEditorWidget
+        * Emitted when user presses middle button on EHTMLEditorView
         */
        signals[PASTE_PRIMARY_CLIPBOARD] = g_signal_new (
                "paste-primary-clipboard",
                G_TYPE_FROM_CLASS (class),
                G_SIGNAL_RUN_LAST,
-               G_STRUCT_OFFSET (EEditorWidgetClass, paste_primary_clipboard),
+               G_STRUCT_OFFSET (EHTMLEditorViewClass, paste_primary_clipboard),
                NULL, NULL,
                g_cclosure_marshal_VOID__VOID,
                G_TYPE_NONE, 0);
@@ -2325,7 +2325,7 @@ e_editor_widget_class_init (EEditorWidgetClass *class)
  * HTML code in that format we can get by taking innerText from some element,
  * setting it to another one and finally getting innerHTML from it */
 static void
-parse_html_into_paragraphs (EEditorWidget *widget,
+parse_html_into_paragraphs (EHTMLEditorView *view,
                             WebKitDOMDocument *document,
                             WebKitDOMElement *blockquote,
                             const gchar *html,
@@ -2377,7 +2377,7 @@ parse_html_into_paragraphs (EEditorWidget *widget,
                                document, "pre", NULL);
                } else {
                        paragraph = e_editor_selection_get_paragraph_element (
-                               e_editor_widget_get_selection (widget),
+                               e_html_editor_view_get_selection (view),
                                document, -1, citation_level);
                }
 
@@ -2445,7 +2445,7 @@ parse_html_into_paragraphs (EEditorWidget *widget,
                                document, "pre", NULL);
                } else {
                        paragraph = e_editor_selection_get_paragraph_element (
-                               e_editor_widget_get_selection (widget),
+                               e_html_editor_view_get_selection (view),
                                document, -1, citation_level);
                }
 
@@ -2536,10 +2536,10 @@ create_text_markers_for_citations_in_element (WebKitDOMElement *element)
 }
 
 static void
-editor_widget_process_document_from_convertor (EEditorWidget *widget,
+html_editor_view_process_document_from_convertor (EHTMLEditorView *view,
                                                WebKitDOMDocument *document_convertor)
 {
-       EEditorSelection *selection = e_editor_widget_get_selection (widget);
+       EEditorSelection *selection = e_html_editor_view_get_selection (view);
        gboolean start_bottom;
        gchar *inner_text, *inner_html;
        gint ii;
@@ -2554,7 +2554,7 @@ editor_widget_process_document_from_convertor (EEditorWidget *widget,
        start_bottom = g_settings_get_boolean (settings, "composer-reply-start-bottom");
        g_object_unref (settings);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
        body_convertor = webkit_dom_document_get_body (document_convertor);
 
@@ -2641,7 +2641,7 @@ editor_widget_process_document_from_convertor (EEditorWidget *widget,
                        new_blockquote, "id", "-x-evo-main-cite", NULL);
 
                parse_html_into_paragraphs (
-                       widget, document, new_blockquote, inner_html, TRUE);
+                       view, document, new_blockquote, inner_html, TRUE);
 
                if (start_bottom) {
                        if (signature) {
@@ -2739,7 +2739,7 @@ editor_widget_process_document_from_convertor (EEditorWidget *widget,
                }
 
                parse_html_into_paragraphs (
-                       widget, document, WEBKIT_DOM_ELEMENT (body),
+                       view, document, WEBKIT_DOM_ELEMENT (body),
                        inner_html, FALSE);
 
                if (signature) {
@@ -2769,9 +2769,9 @@ editor_widget_process_document_from_convertor (EEditorWidget *widget,
                        NULL);
        }
 
-       body = WEBKIT_DOM_HTML_ELEMENT (e_editor_widget_quote_plain_text (widget));
+       body = WEBKIT_DOM_HTML_ELEMENT (e_html_editor_view_quote_plain_text (view));
        e_editor_selection_restore_caret_position (selection);
-       e_editor_widget_force_spell_check (widget);
+       e_html_editor_view_force_spell_check (view);
 
        /* Register on input event that is called when the content (body) is modified */
        webkit_dom_event_target_add_event_listener (
@@ -2779,14 +2779,14 @@ editor_widget_process_document_from_convertor (EEditorWidget *widget,
                "input",
                G_CALLBACK (body_input_event_cb),
                FALSE,
-               widget);
+               view);
 
        g_free (inner_html);
        g_free (inner_text);
 }
 
 static void
-editor_widget_insert_converted_html_into_selection (EEditorWidget *widget,
+html_editor_view_insert_converted_html_into_selection (EHTMLEditorView *view,
                                                     WebKitDOMDocument *document_convertor)
 {
        gchar *inner_text, *inner_html;
@@ -2794,7 +2794,7 @@ editor_widget_insert_converted_html_into_selection (EEditorWidget *widget,
        WebKitDOMElement *element;
        WebKitDOMHTMLElement *convertor_body;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        convertor_body = webkit_dom_document_get_body (document_convertor);
 
@@ -2806,17 +2806,17 @@ editor_widget_insert_converted_html_into_selection (EEditorWidget *widget,
                WEBKIT_DOM_HTML_ELEMENT (element));
 
        parse_html_into_paragraphs (
-               widget, document, element, inner_html, FALSE);
+               view, document, element, inner_html, FALSE);
 
        g_free (inner_html);
 
        inner_html = webkit_dom_html_element_get_inner_html (
                WEBKIT_DOM_HTML_ELEMENT (element));
 
-       e_editor_widget_exec_command (
-               widget, E_EDITOR_WIDGET_COMMAND_INSERT_HTML, inner_html);
+       e_html_editor_view_exec_command (
+               view, E_HTML_EDITOR_VIEW_COMMAND_INSERT_HTML, inner_html);
 
-       e_editor_widget_force_spell_check (widget);
+       e_html_editor_view_force_spell_check (view);
 
        g_free (inner_html);
        g_free (inner_text);
@@ -2825,7 +2825,7 @@ editor_widget_insert_converted_html_into_selection (EEditorWidget *widget,
 static void
 html_plain_text_convertor_load_status_changed (WebKitWebView *web_view,
                                                GParamSpec *pspec,
-                                               EEditorWidget *widget)
+                                               EHTMLEditorView *view)
 {
        WebKitDOMDocument *document_convertor;
 
@@ -2834,16 +2834,16 @@ html_plain_text_convertor_load_status_changed (WebKitWebView *web_view,
 
        document_convertor = webkit_web_view_get_dom_document (web_view);
 
-       if (widget->priv->convertor_insert)
-               editor_widget_insert_converted_html_into_selection (
-                       widget, document_convertor);
+       if (view->priv->convertor_insert)
+               html_editor_view_insert_converted_html_into_selection (
+                       view, document_convertor);
        else
-               editor_widget_process_document_from_convertor (
-                       widget, document_convertor);
+               html_editor_view_process_document_from_convertor (
+                       view, document_convertor);
 }
 
 static void
-e_editor_widget_init (EEditorWidget *editor)
+e_html_editor_view_init (EHTMLEditorView *view)
 {
        WebKitWebSettings *settings;
        GSettings *g_settings;
@@ -2853,10 +2853,10 @@ e_editor_widget_init (EEditorWidget *editor)
        gchar *comma_separated;
        const gchar *user_cache_dir;
 
-       editor->priv = E_EDITOR_WIDGET_GET_PRIVATE (editor);
+       view->priv = E_HTML_EDITOR_VIEW_GET_PRIVATE (view);
 
-       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (editor), TRUE);
-       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (editor));
+       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (view), TRUE);
+       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view));
 
        g_object_set (
                G_OBJECT (settings),
@@ -2869,7 +2869,7 @@ e_editor_widget_init (EEditorWidget *editor)
                "respect-image-orientation", TRUE,
                NULL);
 
-       webkit_web_view_set_settings (WEBKIT_WEB_VIEW (editor), settings);
+       webkit_web_view_set_settings (WEBKIT_WEB_VIEW (view), settings);
 
        /* Override the spell-checker, use our own */
        checker = e_spell_checker_new ();
@@ -2878,38 +2878,38 @@ e_editor_widget_init (EEditorWidget *editor)
 
        /* Don't use CSS when possible to preserve compatibility with older
         * versions of Evolution or other MUAs */
-       e_editor_widget_exec_command (
-               editor, E_EDITOR_WIDGET_COMMAND_STYLE_WITH_CSS, "false");
+       e_html_editor_view_exec_command (
+               view, E_HTML_EDITOR_VIEW_COMMAND_STYLE_WITH_CSS, "false");
 
        g_signal_connect (
-               editor, "user-changed-contents",
-               G_CALLBACK (editor_widget_user_changed_contents_cb), NULL);
+               view, "user-changed-contents",
+               G_CALLBACK (html_editor_view_user_changed_contents_cb), NULL);
        g_signal_connect (
-               editor, "selection-changed",
-               G_CALLBACK (editor_widget_selection_changed_cb), NULL);
+               view, "selection-changed",
+               G_CALLBACK (html_editor_view_selection_changed_cb), NULL);
        g_signal_connect (
-               editor, "should-show-delete-interface-for-element",
-               G_CALLBACK (editor_widget_should_show_delete_interface_for_element), NULL);
+               view, "should-show-delete-interface-for-element",
+               G_CALLBACK (html_editor_view_should_show_delete_interface_for_element), NULL);
        g_signal_connect (
-               editor, "resource-request-starting",
-               G_CALLBACK (editor_widget_resource_requested), NULL);
+               view, "resource-request-starting",
+               G_CALLBACK (html_editor_view_resource_requested), NULL);
        g_signal_connect (
-               editor, "notify::load-status",
-               G_CALLBACK (editor_widget_load_status_changed), NULL);
+               view, "notify::load-status",
+               G_CALLBACK (html_editor_view_load_status_changed), NULL);
 
-       editor->priv->selection = g_object_new (
+       view->priv->selection = g_object_new (
                E_TYPE_EDITOR_SELECTION,
-               "editor-widget", editor,
+               "html-editor-view", view,
                NULL);
 
        g_settings = g_settings_new ("org.gnome.desktop.interface");
        g_signal_connect_swapped (
                g_settings, "changed::font-name",
-               G_CALLBACK (e_editor_widget_update_fonts), editor);
+               G_CALLBACK (e_html_editor_view_update_fonts), view);
        g_signal_connect_swapped (
                g_settings, "changed::monospace-font-name",
-               G_CALLBACK (e_editor_widget_update_fonts), editor);
-       editor->priv->font_settings = g_settings;
+               G_CALLBACK (e_html_editor_view_update_fonts), view);
+       view->priv->font_settings = g_settings;
 
        /* This schema is optional.  Use if available. */
        settings_schema = g_settings_schema_source_lookup (
@@ -2919,16 +2919,16 @@ e_editor_widget_init (EEditorWidget *editor)
                g_settings = g_settings_new ("org.gnome.settings-daemon.plugins.xsettings");
                g_signal_connect_swapped (
                        settings, "changed::antialiasing",
-                       G_CALLBACK (e_editor_widget_update_fonts), editor);
-               editor->priv->aliasing_settings = g_settings;
+                       G_CALLBACK (e_html_editor_view_update_fonts), view);
+               view->priv->aliasing_settings = g_settings;
        }
 
-       editor->priv->inline_images = g_hash_table_new_full (
+       view->priv->inline_images = g_hash_table_new_full (
                g_str_hash, g_str_equal,
                (GDestroyNotify) g_free,
                (GDestroyNotify) g_free);
 
-       e_editor_widget_update_fonts (editor);
+       e_html_editor_view_update_fonts (view);
 
        /* Give spell check languages to WebKit */
        languages = e_spell_checker_list_active_languages (checker, NULL);
@@ -2942,11 +2942,11 @@ e_editor_widget_init (EEditorWidget *editor)
 
        g_free (comma_separated);
 
-       editor->priv->convertor_insert = FALSE;
+       view->priv->convertor_insert = FALSE;
 
-       editor->priv->convertor_web_view =
+       view->priv->convertor_web_view =
                g_object_ref_sink (WEBKIT_WEB_VIEW (webkit_web_view_new ()));
-       settings = webkit_web_view_get_settings (editor->priv->convertor_web_view);
+       settings = webkit_web_view_get_settings (view->priv->convertor_web_view);
 
        g_object_set (
                G_OBJECT (settings),
@@ -2955,15 +2955,15 @@ e_editor_widget_init (EEditorWidget *editor)
                NULL);
 
        g_signal_connect (
-               editor->priv->convertor_web_view, "notify::load-status",
-               G_CALLBACK (html_plain_text_convertor_load_status_changed), editor);
+               view->priv->convertor_web_view, "notify::load-status",
+               G_CALLBACK (html_plain_text_convertor_load_status_changed), view);
 
        /* Make WebKit think we are displaying a local file, so that it
         * does not block loading resources from file:// protocol */
        webkit_web_view_load_string (
-               WEBKIT_WEB_VIEW (editor), "", "text/html", "UTF-8", "file://");
+               WEBKIT_WEB_VIEW (view), "", "text/html", "UTF-8", "file://");
 
-       editor_widget_set_links_active (editor, FALSE);
+       html_editor_view_set_links_active (view, FALSE);
 
        if (emd_global_http_cache == NULL) {
                user_cache_dir = e_get_user_cache_dir ();
@@ -2978,41 +2978,41 @@ e_editor_widget_init (EEditorWidget *editor)
 }
 
 /**
- * e_editor_widget_new:
+ * e_html_editor_view_new:
  *
  * Returns a new instance of the editor.
  *
- * Returns: A newly created #EEditorWidget. [transfer-full]
+ * Returns: A newly created #EHTMLEditorView. [transfer-full]
  */
-EEditorWidget *
-e_editor_widget_new (void)
+EHTMLEditorView *
+e_html_editor_view_new (void)
 {
-       return g_object_new (E_TYPE_EDITOR_WIDGET, NULL);
+       return g_object_new (E_TYPE_HTML_EDITOR_VIEW, NULL);
 }
 
 /**
- * e_editor_widget_get_selection:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_selection:
+ * @view: an #EHTMLEditorView
  *
  * Returns an #EEditorSelection object which represents current selection or
  * cursor position within the editor document. The #EEditorSelection allows
  * programmer to manipulate with formatting, selection, styles etc.
  *
  * Returns: An always valid #EEditorSelection object. The object is owned by
- * the @widget and should never be free'd.
+ * the @view and should never be free'd.
  */
 EEditorSelection *
-e_editor_widget_get_selection (EEditorWidget *widget)
+e_html_editor_view_get_selection (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), NULL);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), NULL);
 
-       return widget->priv->selection;
+       return view->priv->selection;
 }
 
 /**
- * e_editor_widget_exec_command:
- * @widget: an #EEditorWidget
- * @command: an #EEditorWidgetCommand to execute
+ * e_html_editor_view_exec_command:
+ * @view: an #EHTMLEditorView
+ * @command: an #EHTMLEditorViewCommand to execute
  * @value: value of the command (or @NULL if the command does not require value)
  *
  * The function will fail when @value is @NULL or empty but the current @command
@@ -3022,15 +3022,15 @@ e_editor_widget_get_selection (EEditorWidget *widget)
  * Returns: @TRUE when the command was succesfully executed, @FALSE otherwise.
  */
 gboolean
-e_editor_widget_exec_command (EEditorWidget *widget,
-                              EEditorWidgetCommand command,
+e_html_editor_view_exec_command (EHTMLEditorView *view,
+                              EHTMLEditorViewCommand command,
                               const gchar *value)
 {
        WebKitDOMDocument *document;
        const gchar *cmd_str = 0;
        gboolean has_value;
 
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), FALSE);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), FALSE);
 
 #define CHECK_COMMAND(cmd,str,val) case cmd:\
        if (val) {\
@@ -3041,81 +3041,81 @@ e_editor_widget_exec_command (EEditorWidget *widget,
        break;
 
        switch (command) {
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_BACKGROUND_COLOR, "BackColor", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_BOLD, "Bold", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_COPY, "Copy", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_CREATE_LINK, "CreateLink", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_CUT, "Cut", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_DEFAULT_PARAGRAPH_SEPARATOR, 
"DefaultParagraphSeparator", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_DELETE, "Delete", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FIND_STRING, "FindString", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FONT_NAME, "FontName", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FONT_SIZE, "FontSize", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FONT_SIZE_DELTA, "FontSizeDelta", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FORE_COLOR, "ForeColor", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK, "FormatBlock", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_FORWARD_DELETE, "ForwardDelete", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_HILITE_COLOR, "HiliteColor", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INDENT, "Indent", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_HORIZONTAL_RULE, "InsertHorizontalRule", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_HTML, "InsertHTML", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_IMAGE, "InsertImage", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_LINE_BREAK, "InsertLineBreak", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT, 
"InsertNewlineInQuotedContent", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_ORDERED_LIST, "InsertOrderedList", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_PARAGRAPH, "InsertParagraph", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_TEXT, "InsertText", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_INSERT_UNORDERED_LIST, "InsertUnorderedList", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_ITALIC, "Italic", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_JUSTIFY_CENTER, "JustifyCenter", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_JUSTIFY_FULL, "JustifyFull", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_JUSTIFY_LEFT, "JustifyLeft", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_JUSTIFY_NONE, "JustifyNone", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_JUSTIFY_RIGHT, "JustifyRight", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_OUTDENT, "Outdent", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_PASTE, "Paste", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_PASTE_AND_MATCH_STYLE, "PasteAndMatchStyle", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_PASTE_AS_PLAIN_TEXT, "PasteAsPlainText", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_PRINT, "Print", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_REDO, "Redo", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_REMOVE_FORMAT, "RemoveFormat", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_SELECT_ALL, "SelectAll", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_STRIKETHROUGH, "Strikethrough", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_STYLE_WITH_CSS, "StyleWithCSS", TRUE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_SUBSCRIPT, "Subscript", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_SUPERSCRIPT, "Superscript", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_TRANSPOSE, "Transpose", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_UNDERLINE, "Underline", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_UNDO, "Undo", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_UNLINK, "Unlink", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_UNSELECT, "Unselect", FALSE)
-               CHECK_COMMAND (E_EDITOR_WIDGET_COMMAND_USE_CSS, "UseCSS", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_BACKGROUND_COLOR, "BackColor", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_BOLD, "Bold", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_COPY, "Copy", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_CREATE_LINK, "CreateLink", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_CUT, "Cut", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_DEFAULT_PARAGRAPH_SEPARATOR, 
"DefaultParagraphSeparator", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_DELETE, "Delete", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FIND_STRING, "FindString", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FONT_NAME, "FontName", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE, "FontSize", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE_DELTA, "FontSizeDelta", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FORE_COLOR, "ForeColor", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK, "FormatBlock", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_FORWARD_DELETE, "ForwardDelete", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_HILITE_COLOR, "HiliteColor", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INDENT, "Indent", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_HORIZONTAL_RULE, "InsertHorizontalRule", 
FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_HTML, "InsertHTML", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_IMAGE, "InsertImage", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_LINE_BREAK, "InsertLineBreak", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT, 
"InsertNewlineInQuotedContent", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_ORDERED_LIST, "InsertOrderedList", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_PARAGRAPH, "InsertParagraph", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_TEXT, "InsertText", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_INSERT_UNORDERED_LIST, "InsertUnorderedList", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_ITALIC, "Italic", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_CENTER, "JustifyCenter", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_FULL, "JustifyFull", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_LEFT, "JustifyLeft", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_NONE, "JustifyNone", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_RIGHT, "JustifyRight", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_OUTDENT, "Outdent", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_PASTE, "Paste", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_PASTE_AND_MATCH_STYLE, "PasteAndMatchStyle", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_PASTE_AS_PLAIN_TEXT, "PasteAsPlainText", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_PRINT, "Print", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_REDO, "Redo", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_REMOVE_FORMAT, "RemoveFormat", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_SELECT_ALL, "SelectAll", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_STRIKETHROUGH, "Strikethrough", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_STYLE_WITH_CSS, "StyleWithCSS", TRUE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_SUBSCRIPT, "Subscript", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_SUPERSCRIPT, "Superscript", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_TRANSPOSE, "Transpose", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_UNDERLINE, "Underline", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_UNDO, "Undo", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_UNLINK, "Unlink", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_UNSELECT, "Unselect", FALSE)
+               CHECK_COMMAND (E_HTML_EDITOR_VIEW_COMMAND_USE_CSS, "UseCSS", TRUE)
        }
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        return webkit_dom_document_exec_command (
                document, cmd_str, FALSE, has_value ? value : "" );
 }
 
 /**
- * e_editor_widget_get_changed:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_changed:
+ * @view: an #EHTMLEditorView
  *
  * Whether content of the editor has been changed.
  *
  * Returns: @TRUE when document was changed, @FALSE otherwise.
  */
 gboolean
-e_editor_widget_get_changed (EEditorWidget *widget)
+e_html_editor_view_get_changed (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), FALSE);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), FALSE);
 
-       return widget->priv->changed;
+       return view->priv->changed;
 }
 
 /**
- * e_editor_widget_set_changed:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_changed:
+ * @view: an #EHTMLEditorView
  * @changed: whether document has been changed or not
  *
  * Sets whether document has been changed or not. The editor is tracking changes
@@ -3123,17 +3123,17 @@ e_editor_widget_get_changed (EEditorWidget *widget)
  * "Save changes" dialog for example.
  */
 void
-e_editor_widget_set_changed (EEditorWidget *widget,
+e_html_editor_view_set_changed (EHTMLEditorView *view,
                              gboolean changed)
 {
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       if (widget->priv->changed == changed)
+       if (view->priv->changed == changed)
                return;
 
-       widget->priv->changed = changed;
+       view->priv->changed = changed;
 
-       g_object_notify (G_OBJECT (widget), "changed");
+       g_object_notify (G_OBJECT (view), "changed");
 }
 
 static gboolean
@@ -3602,7 +3602,7 @@ get_citation_level (WebKitDOMNode *node,
 }
 
 WebKitDOMElement *
-e_editor_widget_quote_plain_text_element (EEditorWidget *widget,
+e_html_editor_view_quote_plain_text_element (EHTMLEditorView *view,
                                           WebKitDOMElement *element)
 {
        WebKitDOMDocument *document;
@@ -3639,8 +3639,8 @@ e_editor_widget_quote_plain_text_element (EEditorWidget *widget,
 }
 
 /**
- * e_editor_widget_quote_plain_text:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_quote_plain_text:
+ * @view: an #EHTMLEditorView
  *
  * Quote text inside citation blockquotes in plain text mode.
  *
@@ -3648,7 +3648,7 @@ e_editor_widget_quote_plain_text_element (EEditorWidget *widget,
  * mind that any pointers to nodes inside these blockquotes will be invalidated.
  */
 WebKitDOMElement *
-e_editor_widget_quote_plain_text (EEditorWidget *widget)
+e_html_editor_view_quote_plain_text (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
@@ -3659,7 +3659,7 @@ e_editor_widget_quote_plain_text (EEditorWidget *widget)
        gint ii, length;
        gulong attributes_length;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        /* Check if the document is already quoted */
        element = webkit_dom_document_query_selector (
@@ -3732,21 +3732,21 @@ e_editor_widget_quote_plain_text (EEditorWidget *widget)
 }
 
 /**
- * e_editor_widget_dequote_plain_text:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_dequote_plain_text:
+ * @view: an #EHTMLEditorView
  *
  * Dequote already quoted plain text in editor.
- * Editor have to be quoted with e_editor_widget_quote_plain_text otherwise
+ * Editor have to be quoted with e_html_editor_view_quote_plain_text otherwise
  * it's not working.
  */
 void
-e_editor_widget_dequote_plain_text (EEditorWidget *widget)
+e_html_editor_view_dequote_plain_text (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMNodeList *paragraphs;
        gint length, ii;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        paragraphs = webkit_dom_document_query_selector_all (
                document, "blockquote.-x-evo-plaintext-quoted", NULL);
@@ -3789,8 +3789,8 @@ e_editor_widget_dequote_plain_text (EEditorWidget *widget)
 }
 
 /**
- * e_editor_widget_get_html_mode:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_html_mode:
+ * @view: an #EHTMLEditorView
  *
  * Whether the editor is in HTML mode or plain text mode. In HTML mode,
  * more formatting options are avilable an the email is sent as
@@ -3799,11 +3799,11 @@ e_editor_widget_dequote_plain_text (EEditorWidget *widget)
  * Returns: @TRUE when HTML mode is enabled, @FALSE otherwise.
  */
 gboolean
-e_editor_widget_get_html_mode (EEditorWidget *widget)
+e_html_editor_view_get_html_mode (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), FALSE);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), FALSE);
 
-       return widget->priv->html_mode;
+       return view->priv->html_mode;
 }
 
 static gint
@@ -4089,7 +4089,7 @@ remove_style_attributes (WebKitDOMElement *element)
 }
 */
 static void
-process_elements (EEditorWidget *widget,
+process_elements (EHTMLEditorView *view,
                   WebKitDOMNode *node,
                   gboolean to_html,
                   gboolean changing_mode,
@@ -4190,7 +4190,7 @@ process_elements (EEditorWidget *widget,
                                        gint length;
                                        gint word_wrap_length =
                                                e_editor_selection_get_word_wrap_length (
-                                                       e_editor_widget_get_selection (widget));
+                                                       e_html_editor_view_get_selection (view));
 
                                        if (g_str_has_prefix (css_align + 12, "center"))
                                                length = (word_wrap_length - g_utf8_strlen (content, -1)) / 2;
@@ -4421,7 +4421,7 @@ process_elements (EEditorWidget *widget,
  next:
                if (webkit_dom_node_has_child_nodes (child) && !skip_node)
                        process_elements (
-                               widget, child, to_html, changing_mode, to_plain_text, buffer);
+                               view, child, to_html, changing_mode, to_plain_text, buffer);
        }
 
        if (to_plain_text && (WEBKIT_DOM_IS_HTML_DIV_ELEMENT (node) ||
@@ -4456,14 +4456,14 @@ process_elements (EEditorWidget *widget,
 }
 
 static void
-remove_wrapping (EEditorWidget *widget)
+remove_wrapping (EHTMLEditorView *view)
 {
        gint length;
        gint ii;
        WebKitDOMDocument *document;
        WebKitDOMNodeList *list;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        list = webkit_dom_document_query_selector_all (document, "br.-x-evo-wrap-br", NULL);
 
        length = webkit_dom_node_list_get_length (list);
@@ -4476,7 +4476,7 @@ remove_wrapping (EEditorWidget *widget)
 }
 
 static void
-remove_images_in_element (EEditorWidget *widget,
+remove_images_in_element (EHTMLEditorView *view,
                           WebKitDOMElement *element,
                           gboolean html_mode)
 {
@@ -4496,20 +4496,20 @@ remove_images_in_element (EEditorWidget *widget,
 }
 
 static void
-remove_images (EEditorWidget *widget)
+remove_images (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        remove_images_in_element (
-               widget,
+               view,
                WEBKIT_DOM_ELEMENT (webkit_dom_document_get_body (document)),
-               widget->priv->html_mode);
+               view->priv->html_mode);
 }
 
 static void
-toggle_smileys (EEditorWidget *widget)
+toggle_smileys (EHTMLEditorView *view)
 {
        gboolean html_mode;
        gint length;
@@ -4517,9 +4517,9 @@ toggle_smileys (EEditorWidget *widget)
        WebKitDOMDocument *document;
        WebKitDOMNodeList *smileys;
 
-       html_mode = e_editor_widget_get_html_mode (widget);
+       html_mode = e_html_editor_view_get_html_mode (view);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        smileys = webkit_dom_document_query_selector_all (
                document, "img.-x-evo-smiley-img", NULL);
 
@@ -4546,7 +4546,7 @@ toggle_smileys (EEditorWidget *widget)
 }
 
 static void
-toggle_ul_style_in_element (EEditorWidget *widget,
+toggle_ul_style_in_element (EHTMLEditorView *view,
                             WebKitDOMElement *element,
                             gboolean html_mode)
 {
@@ -4572,20 +4572,20 @@ toggle_ul_style_in_element (EEditorWidget *widget,
 }
 
 static void
-toggle_ul_style (EEditorWidget *widget)
+toggle_ul_style (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        toggle_ul_style_in_element (
-               widget,
+               view,
                WEBKIT_DOM_ELEMENT (webkit_dom_document_get_body (document)),
-               widget->priv->html_mode);
+               view->priv->html_mode);
 }
 
 static void
-toggle_paragraphs_style_in_element (EEditorWidget *widget,
+toggle_paragraphs_style_in_element (EHTMLEditorView *view,
                                     WebKitDOMElement *element,
                                    gboolean html_mode)
 {
@@ -4593,8 +4593,8 @@ toggle_paragraphs_style_in_element (EEditorWidget *widget,
        gint ii, length;
        WebKitDOMNodeList *paragraphs;
 
-       html_mode = e_editor_widget_get_html_mode (widget);
-       selection = e_editor_widget_get_selection (widget);
+       html_mode = e_html_editor_view_get_html_mode (view);
+       selection = e_html_editor_view_get_selection (view);
 
        paragraphs = webkit_dom_element_query_selector_all (
                element, ".-x-evo-paragraph", NULL);
@@ -4654,27 +4654,27 @@ toggle_paragraphs_style_in_element (EEditorWidget *widget,
 }
 
 static void
-toggle_paragraphs_style (EEditorWidget *widget)
+toggle_paragraphs_style (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        toggle_paragraphs_style_in_element (
-               widget,
+               view,
                WEBKIT_DOM_ELEMENT (webkit_dom_document_get_body (document)),
-               widget->priv->html_mode);
+               view->priv->html_mode);
 }
 
 static gchar *
-process_content_for_saving_as_draft (EEditorWidget *widget)
+process_content_for_saving_as_draft (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
        WebKitDOMElement *element;
        gchar *content;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
        element = webkit_dom_document_get_element_by_id (
                document, "-x-evo-caret-position");
@@ -4697,18 +4697,18 @@ process_content_for_saving_as_draft (EEditorWidget *widget)
 }
 
 static gchar *
-process_content_for_mode_change (EEditorWidget *widget)
+process_content_for_mode_change (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMNode *body;
        GString *plain_text;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = WEBKIT_DOM_NODE (webkit_dom_document_get_body (document));
 
        plain_text = g_string_sized_new (1024);
 
-       process_elements (widget, body, FALSE, TRUE, TRUE, plain_text);
+       process_elements (view, body, FALSE, TRUE, TRUE, plain_text);
 
        g_string_append (plain_text, "</body></html>");
 
@@ -4716,7 +4716,7 @@ process_content_for_mode_change (EEditorWidget *widget)
 }
 
 static void
-convert_element_from_html_to_plain_text (EEditorWidget *widget,
+convert_element_from_html_to_plain_text (EHTMLEditorView *view,
                                          WebKitDOMElement *element,
                                          gboolean *wrap,
                                          gboolean *quote)
@@ -4729,7 +4729,7 @@ convert_element_from_html_to_plain_text (EEditorWidget *widget,
        WebKitDOMElement *top_signature, *signature, *blockquote, *main_blockquote;
        WebKitDOMNode *signature_clone, *from;
 
-       selection = e_editor_widget_get_selection (widget);
+       selection = e_html_editor_view_get_selection (view);
 
        document = webkit_dom_node_get_owner_document (WEBKIT_DOM_NODE (element));
 
@@ -4791,7 +4791,7 @@ convert_element_from_html_to_plain_text (EEditorWidget *widget,
                WEBKIT_DOM_HTML_ELEMENT (blockquote));
 
        parse_html_into_paragraphs (
-               widget, document,
+               view, document,
                main_blockquote ? blockquote : WEBKIT_DOM_ELEMENT (element),
                inner_html,
                main_blockquote ? TRUE : FALSE);
@@ -4856,7 +4856,7 @@ convert_element_from_html_to_plain_text (EEditorWidget *widget,
 }
 
 static gchar *
-process_content_for_plain_text (EEditorWidget *widget)
+process_content_for_plain_text (EHTMLEditorView *view)
 {
        gboolean converted, wrap = FALSE, quote = FALSE, clean = FALSE;
        gint length, ii;
@@ -4867,21 +4867,21 @@ process_content_for_plain_text (EEditorWidget *widget)
 
        plain_text = g_string_sized_new (1024);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = WEBKIT_DOM_NODE (webkit_dom_document_get_body (document));
        converted = webkit_dom_element_has_attribute (
                WEBKIT_DOM_ELEMENT (body), "data-converted");
        source = webkit_dom_node_clone_node (WEBKIT_DOM_NODE (body), TRUE);
 
        /* If composer is in HTML mode we have to move the content to plain version */
-       if (widget->priv->html_mode) {
+       if (view->priv->html_mode) {
                if (converted) {
                        toggle_paragraphs_style_in_element (
-                               widget, WEBKIT_DOM_ELEMENT (source), FALSE);
+                               view, WEBKIT_DOM_ELEMENT (source), FALSE);
                        toggle_ul_style_in_element (
-                               widget, WEBKIT_DOM_ELEMENT (source), FALSE);
+                               view, WEBKIT_DOM_ELEMENT (source), FALSE);
                        remove_images_in_element (
-                               widget, WEBKIT_DOM_ELEMENT (source), FALSE);
+                               view, WEBKIT_DOM_ELEMENT (source), FALSE);
                } else {
                        gchar *inner_html;
                        WebKitDOMElement *div;
@@ -4914,7 +4914,7 @@ process_content_for_plain_text (EEditorWidget *widget)
                        }
 
                        convert_element_from_html_to_plain_text (
-                               widget, div, &wrap, &quote);
+                               view, div, &wrap, &quote);
 
                        source = WEBKIT_DOM_NODE (div);
 
@@ -4932,14 +4932,14 @@ process_content_for_plain_text (EEditorWidget *widget)
                paragraph = webkit_dom_node_list_item (paragraphs, ii);
 
                e_editor_selection_wrap_paragraph (
-                       e_editor_widget_get_selection (widget),
+                       e_html_editor_view_get_selection (view),
                        WEBKIT_DOM_ELEMENT (paragraph));
        }
 
-       if (widget->priv->html_mode || quote)
+       if (view->priv->html_mode || quote)
                quote_plain_text_recursive (document, source, source, 0);
 
-       process_elements (widget, source, FALSE, FALSE, TRUE, plain_text);
+       process_elements (view, source, FALSE, FALSE, TRUE, plain_text);
 
        if (clean)
                webkit_dom_node_remove_child (
@@ -4950,28 +4950,28 @@ process_content_for_plain_text (EEditorWidget *widget)
 }
 
 static gchar *
-process_content_for_html (EEditorWidget *widget)
+process_content_for_html (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMNode *body;
        WebKitDOMElement *element;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = WEBKIT_DOM_NODE (webkit_dom_document_get_body (document));
-       process_elements (widget, body, TRUE, FALSE, FALSE, 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));
 }
 
 static gboolean
-show_lose_formatting_dialog (EEditorWidget *widget)
+show_lose_formatting_dialog (EHTMLEditorView *view)
 {
        gint result;
        GtkWidget *toplevel, *dialog;
        GtkWindow *parent = NULL;
 
-       toplevel = gtk_widget_get_toplevel (GTK_WIDGET (widget));
+       toplevel = gtk_widget_get_toplevel (GTK_WIDGET (view));
 
        if (GTK_IS_WINDOW (toplevel))
                parent = GTK_WINDOW (toplevel);
@@ -4994,7 +4994,7 @@ show_lose_formatting_dialog (EEditorWidget *widget)
        if (result != GTK_RESPONSE_OK) {
                gtk_widget_destroy (dialog);
                /* Nothing has changed, but notify anyway */
-               g_object_notify (G_OBJECT (widget), "html-mode");
+               g_object_notify (G_OBJECT (view), "html-mode");
                return FALSE;
        }
 
@@ -5054,27 +5054,27 @@ clear_attributes (WebKitDOMDocument *document)
 }
 
 static void
-convert_when_changing_composer_mode (EEditorWidget *widget)
+convert_when_changing_composer_mode (EHTMLEditorView *view)
 {
        EEditorSelection *selection;
        gboolean quote = FALSE, wrap = FALSE;
        WebKitDOMDocument *document;
        WebKitDOMHTMLElement *body;
 
-       selection = e_editor_widget_get_selection (widget);
+       selection = e_html_editor_view_get_selection (view);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        convert_element_from_html_to_plain_text (
-               widget, WEBKIT_DOM_ELEMENT (body), &wrap, &quote);
+               view, WEBKIT_DOM_ELEMENT (body), &wrap, &quote);
 
        if (wrap)
                e_editor_selection_wrap_paragraphs_in_document (selection, document);
 
        if (quote) {
                e_editor_selection_save_caret_position (selection);
-               body = WEBKIT_DOM_HTML_ELEMENT (e_editor_widget_quote_plain_text (widget));
+               body = WEBKIT_DOM_HTML_ELEMENT (e_html_editor_view_quote_plain_text (view));
                e_editor_selection_restore_caret_position (selection);
        }
 
@@ -5084,14 +5084,14 @@ convert_when_changing_composer_mode (EEditorWidget *widget)
                WEBKIT_DOM_ELEMENT (body), "data-converted", "", NULL);
 
        /* Update fonts - in plain text we only want monospace */
-       e_editor_widget_update_fonts (widget);
+       e_html_editor_view_update_fonts (view);
 
-       e_editor_widget_force_spell_check (widget);
+       e_html_editor_view_force_spell_check (view);
 }
 
 /**
- * e_editor_widget_set_html_mode:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_html_mode:
+ * @view: an #EHTMLEditorView
  * @html_mode: @TRUE to enable HTML mode, @FALSE to enable plain text mode
  *
  * When switching from HTML to plain text mode, user will be prompted whether
@@ -5100,7 +5100,7 @@ convert_when_changing_composer_mode (EEditorWidget *widget)
  * is lost.
  */
 void
-e_editor_widget_set_html_mode (EEditorWidget *widget,
+e_html_editor_view_set_html_mode (EHTMLEditorView *view,
                                gboolean html_mode)
 {
        EEditorSelection *selection;
@@ -5110,11 +5110,11 @@ e_editor_widget_set_html_mode (EEditorWidget *widget,
        WebKitDOMHTMLElement *body;
        WebKitDOMDocument *document;
 
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       selection = e_editor_widget_get_selection (widget);
+       selection = e_html_editor_view_get_selection (view);
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        body = webkit_dom_document_get_body (document);
 
        is_from_new_message = webkit_dom_element_has_attribute (
@@ -5132,36 +5132,36 @@ e_editor_widget_set_html_mode (EEditorWidget *widget,
        convert = message && ((!hide && reply && !converted) || (edit_as_new && !converted));
 
        /* If toggling from HTML to plain text mode, ask user first */
-       if (convert && widget->priv->html_mode && !html_mode) {
-               if (!show_lose_formatting_dialog (widget))
+       if (convert && view->priv->html_mode && !html_mode) {
+               if (!show_lose_formatting_dialog (view))
                        return;
 
-               widget->priv->html_mode = html_mode;
+               view->priv->html_mode = html_mode;
 
-               convert_when_changing_composer_mode (widget);
+               convert_when_changing_composer_mode (view);
 
                goto out;
        }
 
-       if (html_mode == widget->priv->html_mode)
+       if (html_mode == view->priv->html_mode)
                return;
 
-       widget->priv->html_mode = html_mode;
+       view->priv->html_mode = html_mode;
 
        /* Update fonts - in plain text we only want monospace */
-       e_editor_widget_update_fonts (widget);
+       e_html_editor_view_update_fonts (view);
 
        blockquote = webkit_dom_document_query_selector (
                document, "blockquote[type|=cite]", NULL);
 
-       if (widget->priv->html_mode) {
+       if (view->priv->html_mode) {
                if (blockquote)
-                       e_editor_widget_dequote_plain_text (widget);
+                       e_html_editor_view_dequote_plain_text (view);
 
-               toggle_paragraphs_style (widget);
-               toggle_smileys (widget);
-               toggle_ul_style (widget);
-               remove_wrapping (widget);
+               toggle_paragraphs_style (view);
+               toggle_smileys (view);
+               toggle_ul_style (view);
+               remove_wrapping (view);
 
        } else {
                gchar *plain;
@@ -5172,30 +5172,30 @@ e_editor_widget_set_html_mode (EEditorWidget *widget,
                if (blockquote) {
                        e_editor_selection_wrap_paragraphs_in_document (
                                selection, document);
-                       e_editor_widget_quote_plain_text (widget);
+                       e_html_editor_view_quote_plain_text (view);
                }
 
-               toggle_paragraphs_style (widget);
-               toggle_smileys (widget);
-               toggle_ul_style (widget);
-               remove_images (widget);
+               toggle_paragraphs_style (view);
+               toggle_smileys (view);
+               toggle_ul_style (view);
+               remove_images (view);
 
-               plain = process_content_for_mode_change (widget);
+               plain = process_content_for_mode_change (view);
 
                if (*plain)
                        webkit_web_view_load_string (
-                               WEBKIT_WEB_VIEW (widget), plain, NULL, NULL, "file://");
+                               WEBKIT_WEB_VIEW (view), plain, NULL, NULL, "file://");
 
                g_free (plain);
        }
 
  out:
-       g_object_notify (G_OBJECT (widget), "html-mode");
+       g_object_notify (G_OBJECT (view), "html-mode");
 }
 
 /**
- * e_editor_widget_get_inline_spelling:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_inline_spelling:
+ * @view: an #EHTMLEditorView
  *
  * Returns whether automatic spellchecking is enabled or not. When enabled,
  * editor will perform spellchecking as user is typing. Otherwise spellcheck
@@ -5204,37 +5204,37 @@ e_editor_widget_set_html_mode (EEditorWidget *widget,
  * Returns: @TRUE when automatic spellchecking is enabled, @FALSE otherwise.
  */
 gboolean
-e_editor_widget_get_inline_spelling (EEditorWidget *widget)
+e_html_editor_view_get_inline_spelling (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), FALSE);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), FALSE);
 
-       return widget->priv->inline_spelling;
+       return view->priv->inline_spelling;
 }
 
 /**
- * e_editor_widget_set_inline_spelling:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_inline_spelling:
+ * @view: an #EHTMLEditorView
  * @inline_spelling: @TRUE to enable automatic spellchecking, @FALSE otherwise
  *
  * Enables or disables automatic spellchecking.
  */
 void
-e_editor_widget_set_inline_spelling (EEditorWidget *widget,
+e_html_editor_view_set_inline_spelling (EHTMLEditorView *view,
                                      gboolean inline_spelling)
 {
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       if (widget->priv->inline_spelling == inline_spelling)
+       if (view->priv->inline_spelling == inline_spelling)
                return;
 
-       widget->priv->inline_spelling = inline_spelling;
+       view->priv->inline_spelling = inline_spelling;
 
-       g_object_notify (G_OBJECT (widget), "inline-spelling");
+       g_object_notify (G_OBJECT (view), "inline-spelling");
 }
 
 /**
- * e_editor_widget_get_magic_links:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_magic_links:
+ * @view: an #EHTMLEditorView
  *
  * Returns whether automatic links conversion is enabled. When enabled, the editor
  * will automatically convert any HTTP links into clickable HTML links.
@@ -5242,37 +5242,37 @@ e_editor_widget_set_inline_spelling (EEditorWidget *widget,
  * Returns: @TRUE when magic links are enabled, @FALSE otherwise.
  */
 gboolean
-e_editor_widget_get_magic_links (EEditorWidget *widget)
+e_html_editor_view_get_magic_links (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), FALSE);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), FALSE);
 
-       return widget->priv->magic_links;
+       return view->priv->magic_links;
 }
 
 /**
- * e_editor_widget_set_magic_links:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_magic_links:
+ * @view: an #EHTMLEditorView
  * @magic_links: @TRUE to enable magic links, @FALSE to disable them
  *
  * Enables or disables automatic links conversion.
  */
 void
-e_editor_widget_set_magic_links (EEditorWidget *widget,
+e_html_editor_view_set_magic_links (EHTMLEditorView *view,
                                  gboolean magic_links)
 {
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       if (widget->priv->magic_links == magic_links)
+       if (view->priv->magic_links == magic_links)
                return;
 
-       widget->priv->magic_links = magic_links;
+       view->priv->magic_links = magic_links;
 
-       g_object_notify (G_OBJECT (widget), "magic-links");
+       g_object_notify (G_OBJECT (view), "magic-links");
 }
 
 /**
- * e_editor_widget_get_magic_smileys:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_magic_smileys:
+ * @view: an #EHTMLEditorView
  *
  * Returns whether automatic conversion of smileys is enabled or disabled. When
  * enabled, the editor will automatically convert text smileys ( :-), ;-),...)
@@ -5281,51 +5281,51 @@ e_editor_widget_set_magic_links (EEditorWidget *widget,
  * Returns: @TRUE when magic smileys are enabled, @FALSE otherwise.
  */
 gboolean
-e_editor_widget_get_magic_smileys (EEditorWidget *widget)
+e_html_editor_view_get_magic_smileys (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), FALSE);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), FALSE);
 
-       return widget->priv->magic_smileys;
+       return view->priv->magic_smileys;
 }
 
 /**
- * e_editor_widget_set_magic_smileys:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_magic_smileys:
+ * @view: an #EHTMLEditorView
  * @magic_smileys: @TRUE to enable magic smileys, @FALSE to disable them
  *
  * Enables or disables magic smileys.
  */
 void
-e_editor_widget_set_magic_smileys (EEditorWidget *widget,
+e_html_editor_view_set_magic_smileys (EHTMLEditorView *view,
                                    gboolean magic_smileys)
 {
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       if (widget->priv->magic_smileys == magic_smileys)
+       if (view->priv->magic_smileys == magic_smileys)
                return;
 
-       widget->priv->magic_smileys = magic_smileys;
+       view->priv->magic_smileys = magic_smileys;
 
-       g_object_notify (G_OBJECT (widget), "magic-smileys");
+       g_object_notify (G_OBJECT (view), "magic-smileys");
 }
 
 /**
- * e_editor_widget_get_spell_checker:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_spell_checker:
+ * @view: an #EHTMLEditorView
  *
  * Returns an #ESpellChecker object that is used to perform spellchecking.
  *
  * Returns: An always-valid #ESpellChecker object
  */
 ESpellChecker *
-e_editor_widget_get_spell_checker (EEditorWidget *widget)
+e_html_editor_view_get_spell_checker (EHTMLEditorView *view)
 {
        return E_SPELL_CHECKER (webkit_get_text_checker ());
 }
 
 /**
- * e_editor_widget_get_text_html:
- * @widget: an #EEditorWidget:
+ * e_html_editor_view_get_text_html:
+ * @view: an #EHTMLEditorView:
  *
  * Returns processed HTML content of the editor document (with elements attributes
  * used in Evolution composer)
@@ -5333,14 +5333,14 @@ e_editor_widget_get_spell_checker (EEditorWidget *widget)
  * Returns: A newly allocated string
  */
 gchar *
-e_editor_widget_get_text_html (EEditorWidget *widget)
+e_html_editor_view_get_text_html (EHTMLEditorView *view)
 {
-       return process_content_for_html (widget);
+       return process_content_for_html (view);
 }
 
 /**
- * e_editor_widget_get_text_html_for_drafts:
- * @widget: an #EEditorWidget:
+ * e_html_editor_view_get_text_html_for_drafts:
+ * @view: an #EHTMLEditorView:
  *
  * Returns HTML content of the editor document (without elements attributes
  * used in Evolution composer)
@@ -5348,117 +5348,117 @@ e_editor_widget_get_text_html (EEditorWidget *widget)
  * Returns: A newly allocated string
  */
 gchar *
-e_editor_widget_get_text_html_for_drafts (EEditorWidget *widget)
+e_html_editor_view_get_text_html_for_drafts (EHTMLEditorView *view)
 {
-       return process_content_for_saving_as_draft (widget);
+       return process_content_for_saving_as_draft (view);
 }
 
 /**
- * e_editor_widget_get_text_plain:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_text_plain:
+ * @view: an #EHTMLEditorView
  *
- * Returns plain text content of the @widget. The algorithm removes any
+ * Returns plain text content of the @view. The algorithm removes any
  * formatting or styles from the document and keeps only the text and line
  * breaks.
  *
  * Returns: A newly allocated string with plain text content of the document.
  */
 gchar *
-e_editor_widget_get_text_plain (EEditorWidget *widget)
+e_html_editor_view_get_text_plain (EHTMLEditorView *view)
 {
-       return process_content_for_plain_text (widget);
+       return process_content_for_plain_text (view);
 }
 
 static void
-convert_and_load_html_to_plain_text (EEditorWidget *widget,
+convert_and_load_html_to_plain_text (EHTMLEditorView *view,
                                      const gchar *html)
 {
-       widget->priv->convertor_insert = FALSE;
+       view->priv->convertor_insert = FALSE;
 
        webkit_web_view_load_string (
-               widget->priv->convertor_web_view, html, NULL, NULL, "file://");
+               view->priv->convertor_web_view, html, NULL, NULL, "file://");
 }
 
 void
-e_editor_widget_convert_and_insert_html_to_plain_text (EEditorWidget *widget,
+e_html_editor_view_convert_and_insert_html_to_plain_text (EHTMLEditorView *view,
                                                        const gchar *html)
 {
-       widget->priv->convertor_insert = TRUE;
+       view->priv->convertor_insert = TRUE;
 
        webkit_web_view_load_string (
-               widget->priv->convertor_web_view, html, NULL, NULL, "file://");
+               view->priv->convertor_web_view, html, NULL, NULL, "file://");
 }
 
 /**
- * e_editor_widget_set_text_html:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_text_html:
+ * @view: an #EHTMLEditorView
  * @text: HTML code to load into the editor
  *
  * Loads given @text into the editor, destroying any content already present.
  */
 void
-e_editor_widget_set_text_html (EEditorWidget *widget,
+e_html_editor_view_set_text_html (EHTMLEditorView *view,
                                const gchar *text)
 {
-       widget->priv->reload_in_progress = TRUE;
+       view->priv->reload_in_progress = TRUE;
 
        /* Only convert messages that are in HTML */
-       if (!widget->priv->html_mode && *text && !strstr (text, "data-evo-draft")) {
+       if (!view->priv->html_mode && *text && !strstr (text, "data-evo-draft")) {
                if (strstr (text, "<!-- text/html -->")) {
-                       if (!show_lose_formatting_dialog (widget)) {
-                               e_editor_widget_set_html_mode (widget, TRUE);
+                       if (!show_lose_formatting_dialog (view)) {
+                               e_html_editor_view_set_html_mode (view, TRUE);
                                webkit_web_view_load_string (
-                                       WEBKIT_WEB_VIEW (widget), text, NULL, NULL, "file://");
+                                       WEBKIT_WEB_VIEW (view), text, NULL, NULL, "file://");
                                return;
                        }
-                       convert_and_load_html_to_plain_text (widget, text);
+                       convert_and_load_html_to_plain_text (view, text);
                } else {
-                       convert_and_load_html_to_plain_text (widget, text);
+                       convert_and_load_html_to_plain_text (view, text);
                }
        } else {
                webkit_web_view_load_string (
-                       WEBKIT_WEB_VIEW (widget), text, NULL, NULL, "file://");
+                       WEBKIT_WEB_VIEW (view), text, NULL, NULL, "file://");
        }
 }
 
 /**
- * e_editor_widget_set_text_plain:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_set_text_plain:
+ * @view: an #EHTMLEditorView
  * @text: A plain text to load into the editor
  *
  * Loads given @text into the editor, destryoing any content already present.
  */
 void
-e_editor_widget_set_text_plain (EEditorWidget *widget,
+e_html_editor_view_set_text_plain (EHTMLEditorView *view,
                                 const gchar *text)
 {
-       widget->priv->reload_in_progress = TRUE;
+       view->priv->reload_in_progress = TRUE;
 
        webkit_web_view_load_string (
-               WEBKIT_WEB_VIEW (widget), text, "text/plain", NULL, "file://");
+               WEBKIT_WEB_VIEW (view), text, "text/plain", NULL, "file://");
 }
 
 /**
- * e_editor_widget_paste_clipboard_quoted:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_paste_clipboard_quoted:
+ * @view: an #EHTMLEditorView
  *
  * Pastes current content of clipboard into the editor as quoted text
  */
 void
-e_editor_widget_paste_clipboard_quoted (EEditorWidget *widget)
+e_html_editor_view_paste_clipboard_quoted (EHTMLEditorView *view)
 {
-       EEditorWidgetClass *class;
+       EHTMLEditorViewClass *class;
 
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       class = E_EDITOR_WIDGET_GET_CLASS (widget);
+       class = E_HTML_EDITOR_VIEW_GET_CLASS (view);
        g_return_if_fail (class->paste_clipboard_quoted != NULL);
 
-       class->paste_clipboard_quoted (widget);
+       class->paste_clipboard_quoted (view);
 }
 
 void
-e_editor_widget_embed_styles (EEditorWidget *widget)
+e_html_editor_view_embed_styles (EHTMLEditorView *view)
 {
        WebKitWebSettings *settings;
        WebKitDOMDocument *document;
@@ -5468,8 +5468,8 @@ e_editor_widget_embed_styles (EEditorWidget *widget)
        const gchar *stylesheet;
        gsize length;
 
-       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (widget));
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
 
        g_object_get (
                G_OBJECT (settings),
@@ -5500,12 +5500,12 @@ e_editor_widget_embed_styles (EEditorWidget *widget)
 }
 
 void
-e_editor_widget_remove_embed_styles (EEditorWidget *widget)
+e_html_editor_view_remove_embed_styles (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMElement *sheet;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        sheet = webkit_dom_document_get_element_by_id (
                        document, "-x-evo-composer-sheet");
 
@@ -5546,14 +5546,14 @@ citation_color_level_5 (void)
 }
 
 /**
- * e_editor_widget_update_fonts:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_update_fonts:
+ * @view: an #EHTMLEditorView
  *
  * Forces the editor to reload font settings from WebKitWebSettings and apply
  * it on the content of the editor document.
  */
 void
-e_editor_widget_update_fonts (EEditorWidget *widget)
+e_html_editor_view_update_fonts (EHTMLEditorView *view)
 {
        GString *stylesheet;
        gchar *base64;
@@ -5568,15 +5568,15 @@ e_editor_widget_update_fonts (EEditorWidget *widget)
        gchar *font;
 
        font = g_settings_get_string (
-               widget->priv->font_settings,
+               view->priv->font_settings,
                "monospace-font-name");
        ms = pango_font_description_from_string (
                font ? font : "monospace 10");
        g_free (font);
 
-       if (widget->priv->html_mode) {
+       if (view->priv->html_mode) {
                font = g_settings_get_string (
-                               widget->priv->font_settings,
+                               view->priv->font_settings,
                                "font-name");
                vw = pango_font_description_from_string (
                                font ? font : "serif 10");
@@ -5599,9 +5599,9 @@ e_editor_widget_update_fonts (EEditorWidget *widget)
                pango_font_description_get_weight (vw),
                styles[pango_font_description_get_style (vw)]);
 
-       if (widget->priv->aliasing_settings != NULL)
+       if (view->priv->aliasing_settings != NULL)
                aa = g_settings_get_string (
-                       widget->priv->aliasing_settings, "antialiasing");
+                       view->priv->aliasing_settings, "antialiasing");
 
        if (g_strcmp0 (aa, "none") == 0)
                smoothing = "none";
@@ -5633,7 +5633,7 @@ e_editor_widget_update_fonts (EEditorWidget *widget)
                pango_font_description_get_weight (ms),
                styles[pango_font_description_get_style (ms)]);
 
-       context = gtk_widget_get_style_context (GTK_WIDGET (widget));
+       context = gtk_widget_get_style_context (GTK_WIDGET (view));
        gtk_style_context_get_style (
                context,
                "link-color", &link,
@@ -5868,7 +5868,7 @@ e_editor_widget_update_fonts (EEditorWidget *widget)
        g_string_append (stylesheet, base64);
        g_free (base64);
 
-       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (widget));
+       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view));
        g_object_set (
                G_OBJECT (settings),
                "default-font-size", pango_font_description_get_size (vw) / PANGO_SCALE,
@@ -5885,43 +5885,43 @@ e_editor_widget_update_fonts (EEditorWidget *widget)
 }
 
 /**
- * e_editor_widget_get_element_under_mouse_click:
- * @widget: an #EEditorWidget
+ * e_html_editor_view_get_element_under_mouse_click:
+ * @view: an #EHTMLEditorView
  *
  * Returns DOM element, that was clicked on.
  *
  * Returns: DOM element on that was clicked.
  */
 WebKitDOMElement *
-e_editor_widget_get_element_under_mouse_click (EEditorWidget *widget)
+e_html_editor_view_get_element_under_mouse_click (EHTMLEditorView *view)
 {
-       g_return_val_if_fail (E_IS_EDITOR_WIDGET (widget), NULL);
+       g_return_val_if_fail (E_IS_HTML_EDITOR_VIEW (view), NULL);
 
-       return widget->priv->element_under_mouse;
+       return view->priv->element_under_mouse;
 }
 
 /**
- * e_editor_widget_check_magic_links
- * @widget: an #EEditorWidget
+ * e_html_editor_view_check_magic_links
+ * @view: an #EHTMLEditorView
  * @include_space: If TRUE the pattern for link expects space on end
  *
  * Check if actual selection in given editor is link. If so, it is surrounded
  * with ANCHOR element.
  */
 void
-e_editor_widget_check_magic_links (EEditorWidget *widget,
+e_html_editor_view_check_magic_links (EHTMLEditorView *view,
                                   gboolean include_space)
 {
        WebKitDOMRange *range;
 
-       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (E_IS_HTML_EDITOR_VIEW (view));
 
-       range = editor_widget_get_dom_range (widget);
-       editor_widget_check_magic_links (widget, range, include_space, NULL);
+       range = html_editor_view_get_dom_range (view);
+       html_editor_view_check_magic_links (view, range, include_space, NULL);
 }
 
 static CamelMimePart *
-e_editor_widget_add_inline_image_from_element (EEditorWidget *widget,
+e_html_editor_view_add_inline_image_from_element (EHTMLEditorView *view,
                                                WebKitDOMElement *element,
                                                const gchar *attribute)
 {
@@ -5988,7 +5988,7 @@ out:
 }
 
 GList *
-e_editor_widget_get_parts_for_inline_images (EEditorWidget *widget)
+e_html_editor_view_get_parts_for_inline_images (EHTMLEditorView *view)
 {
        GHashTable *added;
        GList *parts = NULL;
@@ -5996,7 +5996,7 @@ e_editor_widget_get_parts_for_inline_images (EEditorWidget *widget)
        WebKitDOMDocument *document;
        WebKitDOMNodeList *list;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW  (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW  (view));
        list = webkit_dom_document_query_selector_all (document, "img[data-inline]", NULL);
 
        length = webkit_dom_node_list_get_length (list);
@@ -6011,8 +6011,8 @@ e_editor_widget_get_parts_for_inline_images (EEditorWidget *widget)
                        WEBKIT_DOM_ELEMENT (node), "src");
 
                if (!g_hash_table_lookup (added, src)) {
-                       part = e_editor_widget_add_inline_image_from_element (
-                               widget, WEBKIT_DOM_ELEMENT (node), "src");
+                       part = e_html_editor_view_add_inline_image_from_element (
+                               view, WEBKIT_DOM_ELEMENT (node), "src");
                        parts = g_list_append (parts, part);
                        g_hash_table_insert (
                                added, src, (gpointer) camel_mime_part_get_content_id (part));
@@ -6045,8 +6045,8 @@ e_editor_widget_get_parts_for_inline_images (EEditorWidget *widget)
                        WEBKIT_DOM_ELEMENT (node), "background");
 
                if (!g_hash_table_lookup (added, src)) {
-                       part = e_editor_widget_add_inline_image_from_element (
-                               widget, WEBKIT_DOM_ELEMENT (node), "background");
+                       part = e_html_editor_view_add_inline_image_from_element (
+                               view, WEBKIT_DOM_ELEMENT (node), "background");
                        if (part) {
                                parts = g_list_append (parts, part);
                                g_hash_table_insert (
@@ -6078,14 +6078,14 @@ e_editor_widget_get_parts_for_inline_images (EEditorWidget *widget)
 }
 
 /**
- * e_editor_widget_add_inline_image_from_mime_part:
+ * e_html_editor_view_add_inline_image_from_mime_part:
  * @composer: a composer object
  * @part: a CamelMimePart containing image data
  *
  * This adds the mime part @part to @composer as an inline image.
  **/
 void
-e_editor_widget_add_inline_image_from_mime_part (EEditorWidget *widget,
+e_html_editor_view_add_inline_image_from_mime_part (EHTMLEditorView *view,
                                                  CamelMimePart *part)
 {
        CamelDataWrapper *dw;
@@ -6120,7 +6120,7 @@ e_editor_widget_add_inline_image_from_mime_part (EEditorWidget *widget,
        }
        cid_src = g_strdup_printf ("cid:%s", cid);
 
-       g_hash_table_insert (widget->priv->inline_images, cid_src, src);
+       g_hash_table_insert (view->priv->inline_images, cid_src, src);
 
        g_free (base64_encoded);
        g_free (mime_type);
diff --git a/e-util/e-html-editor-view.h b/e-util/e-html-editor-view.h
new file mode 100644
index 0000000..a62f285
--- /dev/null
+++ b/e-util/e-html-editor-view.h
@@ -0,0 +1,164 @@
+/*
+ * e-html-editor-view.h
+ *
+ * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
+#error "Only <e-util/e-util.h> should be included directly."
+#endif
+
+#ifndef E_HTML_EDITOR_VIEW_H
+#define E_HTML_EDITOR_VIEW_H
+
+#include <webkit/webkit.h>
+
+#include <camel/camel.h>
+
+#include <e-util/e-editor-selection.h>
+#include <e-util/e-emoticon.h>
+#include <e-util/e-spell-checker.h>
+#include <e-util/e-util-enums.h>
+
+/* Standard GObject macros */
+#define E_TYPE_HTML_EDITOR_VIEW \
+       (e_html_editor_view_get_type ())
+#define E_HTML_EDITOR_VIEW(obj) \
+       (G_TYPE_CHECK_INSTANCE_CAST \
+       ((obj), E_TYPE_HTML_EDITOR_VIEW, EHTMLEditorView))
+#define E_HTML_EDITOR_VIEW_CLASS(cls) \
+       (G_TYPE_CHECK_CLASS_CAST \
+       ((cls), E_TYPE_HTML_EDITOR_VIEW, EHTMLEditorViewClass))
+#define E_IS_HTML_EDITOR_VIEW(obj) \
+       (G_TYPE_CHECK_INSTANCE_TYPE \
+       ((obj), E_TYPE_HTML_EDITOR_VIEW))
+#define E_IS_HTML_EDITOR_VIEW_CLASS(cls) \
+       (G_TYPE_CHECK_CLASS_TYPE \
+       ((cls), E_TYPE_HTML_EDITOR_VIEW))
+#define E_HTML_EDITOR_VIEW_GET_CLASS(obj) \
+       (G_TYPE_INSTANCE_GET_CLASS \
+       ((obj), E_TYPE_HTML_EDITOR_VIEW, EHTMLEditorViewClass))
+
+G_BEGIN_DECLS
+
+typedef struct _EHTMLEditorView EHTMLEditorView;
+typedef struct _EHTMLEditorViewClass EHTMLEditorViewClass;
+typedef struct _EHTMLEditorViewPrivate EHTMLEditorViewPrivate;
+
+struct _EHTMLEditorView {
+       WebKitWebView parent;
+       EHTMLEditorViewPrivate *priv;
+};
+
+struct _EHTMLEditorViewClass {
+       WebKitWebViewClass parent_class;
+
+       void            (*paste_clipboard_quoted)
+                                               (EHTMLEditorView *view);
+       gboolean        (*popup_event)          (EHTMLEditorView *view,
+                                                GdkEventButton *event);
+       void            (*paste_primary_clipboard)
+                                               (EHTMLEditorView *view);
+};
+
+GType          e_html_editor_view_get_type     (void) G_GNUC_CONST;
+EHTMLEditorView *
+               e_html_editor_view_new          (void);
+EEditorSelection *
+               e_html_editor_view_get_selection
+                                               (EHTMLEditorView *view);
+gboolean       e_html_editor_view_exec_command (EHTMLEditorView *view,
+                                                EHTMLEditorViewCommand command,
+                                                const gchar *value);
+gboolean       e_html_editor_view_get_changed  (EHTMLEditorView *view);
+void           e_html_editor_view_set_changed  (EHTMLEditorView *view,
+                                                gboolean changed);
+gboolean       e_html_editor_view_get_html_mode
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_set_html_mode
+                                               (EHTMLEditorView *view,
+                                                gboolean html_mode);
+gboolean       e_html_editor_view_get_inline_spelling
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_set_inline_spelling
+                                               (EHTMLEditorView *view,
+                                                gboolean inline_spelling);
+gboolean       e_html_editor_view_get_magic_links
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_set_magic_links
+                                               (EHTMLEditorView *view,
+                                                gboolean magic_links);
+void           e_html_editor_view_insert_smiley
+                                               (EHTMLEditorView *view,
+                                                EEmoticon *emoticon);
+gboolean       e_html_editor_view_get_magic_smileys
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_set_magic_smileys
+                                               (EHTMLEditorView *view,
+                                                gboolean magic_smileys);
+ESpellChecker *        e_html_editor_view_get_spell_checker
+                                               (EHTMLEditorView *view);
+gchar *                e_html_editor_view_get_text_html
+                                               (EHTMLEditorView *view);
+gchar *                e_html_editor_view_get_text_html_for_drafts
+                                               (EHTMLEditorView *view);
+gchar *                e_html_editor_view_get_text_plain
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_convert_and_insert_html_to_plain_text
+                                               (EHTMLEditorView *view,
+                                                const gchar *html);
+void           e_html_editor_view_set_text_html
+                                               (EHTMLEditorView *view,
+                                                const gchar *text);
+void           e_html_editor_view_set_text_plain
+                                               (EHTMLEditorView *view,
+                                                const gchar *text);
+void           e_html_editor_view_paste_clipboard_quoted
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_embed_styles (EHTMLEditorView *view);
+void           e_html_editor_view_remove_embed_styles
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_update_fonts (EHTMLEditorView *view);
+WebKitDOMElement *
+               e_html_editor_view_get_element_under_mouse_click
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_check_magic_links
+                                               (EHTMLEditorView *view,
+                                                gboolean while_typing);
+WebKitDOMElement *
+               e_html_editor_view_quote_plain_text_element
+                                               (EHTMLEditorView *view,
+                                                 WebKitDOMElement *element);
+WebKitDOMElement *
+               e_html_editor_view_quote_plain_text
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_dequote_plain_text
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_turn_spell_check_off
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_force_spell_check_for_current_paragraph
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_force_spell_check
+                                               (EHTMLEditorView *view);
+void           e_html_editor_view_add_inline_image_from_mime_part
+                                               (EHTMLEditorView *view,
+                                                 CamelMimePart *part);
+GList *                e_html_editor_view_get_parts_for_inline_images
+                                               (EHTMLEditorView *view);
+G_END_DECLS
+
+#endif /* E_HTML_EDITOR_VIEW_H */
diff --git a/e-util/e-mail-signature-editor.c b/e-util/e-mail-signature-editor.c
index fb9d0fc..8c27c1c 100644
--- a/e-util/e-mail-signature-editor.c
+++ b/e-util/e-mail-signature-editor.c
@@ -101,7 +101,7 @@ mail_signature_editor_loaded_cb (GObject *object,
                                  gpointer user_data)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        ESource *source;
        EMailSignatureEditor *window;
        ESourceMailSignature *extension;
@@ -144,13 +144,13 @@ mail_signature_editor_loaded_cb (GObject *object,
        is_html = (g_strcmp0 (mime_type, "text/html") == 0);
 
        editor = e_mail_signature_editor_get_editor (window);
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_html_mode (editor_widget, is_html);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_html_mode (view, is_html);
 
        if (is_html)
-               e_editor_widget_set_text_html (editor_widget, contents);
+               e_html_editor_view_set_text_html (view, contents);
        else
-               e_editor_widget_set_text_plain (editor_widget, contents);
+               e_html_editor_view_set_text_plain (view, contents);
 
        g_free (contents);
 
@@ -176,7 +176,7 @@ action_close_cb (GtkAction *action,
                  EMailSignatureEditor *window)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        gboolean something_changed = FALSE;
        const gchar *original_name;
        const gchar *signature_name;
@@ -185,9 +185,9 @@ action_close_cb (GtkAction *action,
        signature_name = gtk_entry_get_text (GTK_ENTRY (window->priv->entry));
 
        editor = e_mail_signature_editor_get_editor (window);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       something_changed |= webkit_web_view_can_undo (WEBKIT_WEB_VIEW (editor_widget));
+       something_changed |= webkit_web_view_can_undo (WEBKIT_WEB_VIEW (view));
        something_changed |= (strcmp (signature_name, original_name) != 0);
 
        if (something_changed) {
@@ -481,7 +481,7 @@ mail_signature_editor_constructed (GObject *object)
        GtkActionGroup *action_group;
        EFocusTracker *focus_tracker;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkUIManager *ui_manager;
        GDBusObject *dbus_object;
        ESource *source;
@@ -498,7 +498,7 @@ mail_signature_editor_constructed (GObject *object)
 
        window = E_MAIL_SIGNATURE_EDITOR (object);
        editor = e_mail_signature_editor_get_editor (window);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        ui_manager = e_editor_get_ui_manager (editor);
 
@@ -609,7 +609,7 @@ mail_signature_editor_constructed (GObject *object)
        if (source == NULL) {
                gtk_widget_grab_focus (window->priv->entry);
        } else {
-               gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
+               gtk_widget_grab_focus (GTK_WIDGET (view));
        }
 
        /* Load file content only for an existing signature.
@@ -822,7 +822,7 @@ e_mail_signature_editor_commit (EMailSignatureEditor *window,
        const gchar *mime_type;
        gchar *contents;
        EEditor  *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        g_return_if_fail (E_IS_MAIL_SIGNATURE_EDITOR (window));
 
@@ -830,14 +830,14 @@ e_mail_signature_editor_commit (EMailSignatureEditor *window,
        source = e_mail_signature_editor_get_source (window);
 
        editor = e_mail_signature_editor_get_editor (window);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       if (e_editor_widget_get_html_mode (editor_widget)) {
+       if (e_html_editor_view_get_html_mode (view)) {
                mime_type = "text/html";
-               contents = e_editor_widget_get_text_html (editor_widget);
+               contents = e_html_editor_view_get_text_html (view);
        } else {
                mime_type = "text/plain";
-               contents = e_editor_widget_get_text_plain (editor_widget);
+               contents = e_html_editor_view_get_text_plain (view);
        }
 
        extension_name = E_SOURCE_EXTENSION_MAIL_SIGNATURE;
diff --git a/e-util/e-mail-signature-manager.c b/e-util/e-mail-signature-manager.c
index e2cbc15..b379440 100644
--- a/e-util/e-mail-signature-manager.c
+++ b/e-util/e-mail-signature-manager.c
@@ -401,7 +401,7 @@ static void
 mail_signature_manager_add_signature (EMailSignatureManager *manager)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        ESourceRegistry *registry;
        GtkWidget *widget;
 
@@ -411,9 +411,9 @@ mail_signature_manager_add_signature (EMailSignatureManager *manager)
 
        editor = e_mail_signature_editor_get_editor (
                E_MAIL_SIGNATURE_EDITOR (widget));
-       editor_widget = e_editor_get_editor_widget (editor);
-       e_editor_widget_set_html_mode (
-               editor_widget, manager->priv->prefer_html);
+       view = e_editor_get_html_editor_view (editor);
+       e_html_editor_view_set_html_mode (
+               view, manager->priv->prefer_html);
 
        mail_signature_manager_emit_editor_created (manager, widget);
 
diff --git a/e-util/e-util-enums.h b/e-util/e-util-enums.h
index 78dfa52..03d6fe3 100644
--- a/e-util/e-util-enums.h
+++ b/e-util/e-util-enums.h
@@ -165,109 +165,109 @@ typedef enum {
 } EEditorSelectionGranularity;
 
 /**
- * EEditorWidgetCommand:
- * @E_EDITOR_WIDGET_COMMAND_BACKGROUND_COLOR:
+ * EHTMLEditorViewCommand:
+ * @E_HTML_EDITOR_VIEW_COMMAND_BACKGROUND_COLOR:
  *   Sets background color to given value.
- * @E_EDITOR_WIDGET_COMMAND_BOLD:
+ * @E_HTML_EDITOR_VIEW_COMMAND_BOLD:
  *   Toggles bold formatting of current selection.
- * @E_EDITOR_WIDGET_COMMAND_COPY:
+ * @E_HTML_EDITOR_VIEW_COMMAND_COPY:
  *   Copies current selection to clipboard.
- * @E_EDITOR_WIDGET_COMMAND_CREATE_LINK:
+ * @E_HTML_EDITOR_VIEW_COMMAND_CREATE_LINK:
  *   Converts current selection to a link that points to URL in value
- * @E_EDITOR_WIDGET_COMMAND_CUT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_CUT:
  *   Cuts current selection to clipboard.
- * @E_EDITOR_WIDGET_COMMAND_DEFAULT_PARAGRAPH_SEPARATOR:
+ * @E_HTML_EDITOR_VIEW_COMMAND_DEFAULT_PARAGRAPH_SEPARATOR:
  *   (XXX Explain me!)
- * @E_EDITOR_WIDGET_COMMAND_DELETE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_DELETE:
  *   Deletes current selection.
- * @E_EDITOR_WIDGET_COMMAND_FIND_STRING:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FIND_STRING:
  *   Highlights given string.
- * @E_EDITOR_WIDGET_COMMAND_FONT_NAME:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FONT_NAME:
  *   Sets font name to given value.
- * @E_EDITOR_WIDGET_COMMAND_FONT_SIZE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE:
  *   Sets font point size to given value (no units, just number)
- * @E_EDITOR_WIDGET_COMMAND_FONT_SIZE_DELTA:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE_DELTA:
  *   Changes font size by given delta value (no units, just number)
- * @E_EDITOR_WIDGET_COMMAND_FORE_COLOR:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FORE_COLOR:
  *   Sets font color to given value
- * @E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK:
  *   Sets block type of current paragraph to given format. Allowed formats
  *   are "BLOCKQUOTE", "H1", "H2", "H3", "H4", "H5", "H6", "P", "PRE" and
  *   "ADDRESS".
- * @E_EDITOR_WIDGET_COMMAND_FORWARD_DELETE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_FORWARD_DELETE:
  *   (XXX Explain me!)
- * @E_EDITOR_WIDGET_COMMAND_HILITE_COLOR:
+ * @E_HTML_EDITOR_VIEW_COMMAND_HILITE_COLOR:
  *   Sets color in which results of "FindString" command should be
  *   highlighted to given value.
- * @E_EDITOR_WIDGET_COMMAND_INDENT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INDENT:
  *   Indents current paragraph by one level.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_HTML:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_HTML:
  *   Inserts give HTML code into document.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_HORIZONTAL_RULE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_HORIZONTAL_RULE:
  *   Inserts a horizontal rule (&lt;HR&gt;) on current line.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_IMAGE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_IMAGE:
  *   Inserts an image with given source file.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_LINE_BREAK:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_LINE_BREAK:
  *   Breaks line at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT:
  *   Breaks citation at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_ORDERED_LIST:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_ORDERED_LIST:
  *   Creates an ordered list environment at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_PARAGRAPH:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_PARAGRAPH:
  *   Inserts a new paragraph at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_TEXT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_TEXT:
  *   Inserts given text at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_INSERT_UNORDERED_LIST:
+ * @E_HTML_EDITOR_VIEW_COMMAND_INSERT_UNORDERED_LIST:
  *   Creates an undordered list environment at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_ITALIC:
+ * @E_HTML_EDITOR_VIEW_COMMAND_ITALIC:
  *   Toggles italic formatting of current selection.
- * @E_EDITOR_WIDGET_COMMAND_JUSTIFY_CENTER:
+ * @E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_CENTER:
  *   Aligns current paragraph to center.
- * @E_EDITOR_WIDGET_COMMAND_JUSTIFY_FULL:
+ * @E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_FULL:
  *   Justifies current paragraph to block.
- * @E_EDITOR_WIDGET_COMMAND_JUSTIFY_NONE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_NONE:
  *   Removes any justification or alignment of current paragraph.
- * @E_EDITOR_WIDGET_COMMAND_JUSTIFY_RIGHT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_RIGHT:
  *   Aligns current paragraph to right.
- * @E_EDITOR_WIDGET_COMMAND_OUTDENT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_OUTDENT:
  *   Outdents current paragraph by one level.
- * @E_EDITOR_WIDGET_COMMAND_PASTE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_PASTE:
  *   Pastes clipboard content at current cursor position.
- * @E_EDITOR_WIDGET_COMMAND_PASTE_AND_MATCH_STYLE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_PASTE_AND_MATCH_STYLE:
  *   Pastes clipboard content and matches its style to style at current
  *   cursor position.
- * @E_EDITOR_WIDGET_COMMAND_PASTE_AS_PLAIN_TEXT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_PASTE_AS_PLAIN_TEXT:
  *   Pastes clipboard content at current cursor position removing any HTML
  *   formatting.
- * @E_EDITOR_WIDGET_COMMAND_PRINT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_PRINT:
  *   Print current document.
- * @E_EDITOR_WIDGET_COMMAND_REDO:
+ * @E_HTML_EDITOR_VIEW_COMMAND_REDO:
  *   Redoes last action.
- * @E_EDITOR_WIDGET_COMMAND_REMOVE_FORMAT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_REMOVE_FORMAT:
  *   Removes any formatting of current selection.
- * @E_EDITOR_WIDGET_COMMAND_SELECT_ALL:
+ * @E_HTML_EDITOR_VIEW_COMMAND_SELECT_ALL:
  *   Extends selects to the entire document.
- * @E_EDITOR_WIDGET_COMMAND_STRIKETHROUGH:
+ * @E_HTML_EDITOR_VIEW_COMMAND_STRIKETHROUGH:
  *   Toggles strikethrough formatting.
- * @E_EDITOR_WIDGET_COMMAND_STYLE_WITH_CSS:
+ * @E_HTML_EDITOR_VIEW_COMMAND_STYLE_WITH_CSS:
  *   Toggles whether style should be defined in CSS "style" attribute of
  *   elements or whether to use deprecated &lt;FONT&gt; tags. Depends on
  *   whether given value is "true" or "false".
- * @E_EDITOR_WIDGET_COMMAND_SUBSCRIPT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_SUBSCRIPT:
  *   Toggles subscript of current selection.
- * @E_EDITOR_WIDGET_COMMAND_SUPERSCRIPT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_SUPERSCRIPT:
  *   Toggles superscript of current selection.
- * @E_EDITOR_WIDGET_COMMAND_TRANSPOSE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_TRANSPOSE:
  *   (XXX Explain me!)
- * @E_EDITOR_WIDGET_COMMAND_UNDERLINE:
+ * @E_HTML_EDITOR_VIEW_COMMAND_UNDERLINE:
  *   Toggles underline formatting of current selection.
- * @E_EDITOR_WIDGET_COMMAND_UNDO:
+ * @E_HTML_EDITOR_VIEW_COMMAND_UNDO:
  *   Undoes last action.
- * @E_EDITOR_WIDGET_COMMAND_UNLINK:
+ * @E_HTML_EDITOR_VIEW_COMMAND_UNLINK:
  *   Removes active links (&lt;A&gt;) from current selection (if there's any).
- * @E_EDITOR_WIDGET_COMMAND_UNSELECT:
+ * @E_HTML_EDITOR_VIEW_COMMAND_UNSELECT:
  *   Cancels current selection.
- * @E_EDITOR_WIDGET_COMMAND_USE_CSS:
+ * @E_HTML_EDITOR_VIEW_COMMAND_USE_CSS:
  *   Whether to allow use of CSS or not depending on whether given value is
  *   "true" or "false".
  *
@@ -276,56 +276,56 @@ typedef enum {
  * documentation.
  */
 typedef enum {
-       E_EDITOR_WIDGET_COMMAND_BACKGROUND_COLOR,
-       E_EDITOR_WIDGET_COMMAND_BOLD,
-       E_EDITOR_WIDGET_COMMAND_COPY,
-       E_EDITOR_WIDGET_COMMAND_CREATE_LINK,
-       E_EDITOR_WIDGET_COMMAND_CUT,
-       E_EDITOR_WIDGET_COMMAND_DEFAULT_PARAGRAPH_SEPARATOR,
-       E_EDITOR_WIDGET_COMMAND_DELETE,
-       E_EDITOR_WIDGET_COMMAND_FIND_STRING,
-       E_EDITOR_WIDGET_COMMAND_FONT_NAME,
-       E_EDITOR_WIDGET_COMMAND_FONT_SIZE,
-       E_EDITOR_WIDGET_COMMAND_FONT_SIZE_DELTA,
-       E_EDITOR_WIDGET_COMMAND_FORE_COLOR,
-       E_EDITOR_WIDGET_COMMAND_FORMAT_BLOCK,
-       E_EDITOR_WIDGET_COMMAND_FORWARD_DELETE,
-       E_EDITOR_WIDGET_COMMAND_HILITE_COLOR,
-       E_EDITOR_WIDGET_COMMAND_INDENT,
-       E_EDITOR_WIDGET_COMMAND_INSERT_HTML,
-       E_EDITOR_WIDGET_COMMAND_INSERT_HORIZONTAL_RULE,
-       E_EDITOR_WIDGET_COMMAND_INSERT_IMAGE,
-       E_EDITOR_WIDGET_COMMAND_INSERT_LINE_BREAK,
-       E_EDITOR_WIDGET_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT,
-       E_EDITOR_WIDGET_COMMAND_INSERT_ORDERED_LIST,
-       E_EDITOR_WIDGET_COMMAND_INSERT_PARAGRAPH,
-       E_EDITOR_WIDGET_COMMAND_INSERT_TEXT,
-       E_EDITOR_WIDGET_COMMAND_INSERT_UNORDERED_LIST,
-       E_EDITOR_WIDGET_COMMAND_ITALIC,
-       E_EDITOR_WIDGET_COMMAND_JUSTIFY_CENTER,
-       E_EDITOR_WIDGET_COMMAND_JUSTIFY_FULL,
-       E_EDITOR_WIDGET_COMMAND_JUSTIFY_LEFT,
-       E_EDITOR_WIDGET_COMMAND_JUSTIFY_NONE,
-       E_EDITOR_WIDGET_COMMAND_JUSTIFY_RIGHT,
-       E_EDITOR_WIDGET_COMMAND_OUTDENT,
-       E_EDITOR_WIDGET_COMMAND_PASTE,
-       E_EDITOR_WIDGET_COMMAND_PASTE_AND_MATCH_STYLE,
-       E_EDITOR_WIDGET_COMMAND_PASTE_AS_PLAIN_TEXT,
-       E_EDITOR_WIDGET_COMMAND_PRINT,
-       E_EDITOR_WIDGET_COMMAND_REDO,
-       E_EDITOR_WIDGET_COMMAND_REMOVE_FORMAT,
-       E_EDITOR_WIDGET_COMMAND_SELECT_ALL,
-       E_EDITOR_WIDGET_COMMAND_STRIKETHROUGH,
-       E_EDITOR_WIDGET_COMMAND_STYLE_WITH_CSS,
-       E_EDITOR_WIDGET_COMMAND_SUBSCRIPT,
-       E_EDITOR_WIDGET_COMMAND_SUPERSCRIPT,
-       E_EDITOR_WIDGET_COMMAND_TRANSPOSE,
-       E_EDITOR_WIDGET_COMMAND_UNDERLINE,
-       E_EDITOR_WIDGET_COMMAND_UNDO,
-       E_EDITOR_WIDGET_COMMAND_UNLINK,
-       E_EDITOR_WIDGET_COMMAND_UNSELECT,
-       E_EDITOR_WIDGET_COMMAND_USE_CSS
-} EEditorWidgetCommand;
+       E_HTML_EDITOR_VIEW_COMMAND_BACKGROUND_COLOR,
+       E_HTML_EDITOR_VIEW_COMMAND_BOLD,
+       E_HTML_EDITOR_VIEW_COMMAND_COPY,
+       E_HTML_EDITOR_VIEW_COMMAND_CREATE_LINK,
+       E_HTML_EDITOR_VIEW_COMMAND_CUT,
+       E_HTML_EDITOR_VIEW_COMMAND_DEFAULT_PARAGRAPH_SEPARATOR,
+       E_HTML_EDITOR_VIEW_COMMAND_DELETE,
+       E_HTML_EDITOR_VIEW_COMMAND_FIND_STRING,
+       E_HTML_EDITOR_VIEW_COMMAND_FONT_NAME,
+       E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE,
+       E_HTML_EDITOR_VIEW_COMMAND_FONT_SIZE_DELTA,
+       E_HTML_EDITOR_VIEW_COMMAND_FORE_COLOR,
+       E_HTML_EDITOR_VIEW_COMMAND_FORMAT_BLOCK,
+       E_HTML_EDITOR_VIEW_COMMAND_FORWARD_DELETE,
+       E_HTML_EDITOR_VIEW_COMMAND_HILITE_COLOR,
+       E_HTML_EDITOR_VIEW_COMMAND_INDENT,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_HTML,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_HORIZONTAL_RULE,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_IMAGE,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_LINE_BREAK,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_NEW_LINE_IN_QUOTED_CONTENT,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_ORDERED_LIST,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_PARAGRAPH,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_TEXT,
+       E_HTML_EDITOR_VIEW_COMMAND_INSERT_UNORDERED_LIST,
+       E_HTML_EDITOR_VIEW_COMMAND_ITALIC,
+       E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_CENTER,
+       E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_FULL,
+       E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_LEFT,
+       E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_NONE,
+       E_HTML_EDITOR_VIEW_COMMAND_JUSTIFY_RIGHT,
+       E_HTML_EDITOR_VIEW_COMMAND_OUTDENT,
+       E_HTML_EDITOR_VIEW_COMMAND_PASTE,
+       E_HTML_EDITOR_VIEW_COMMAND_PASTE_AND_MATCH_STYLE,
+       E_HTML_EDITOR_VIEW_COMMAND_PASTE_AS_PLAIN_TEXT,
+       E_HTML_EDITOR_VIEW_COMMAND_PRINT,
+       E_HTML_EDITOR_VIEW_COMMAND_REDO,
+       E_HTML_EDITOR_VIEW_COMMAND_REMOVE_FORMAT,
+       E_HTML_EDITOR_VIEW_COMMAND_SELECT_ALL,
+       E_HTML_EDITOR_VIEW_COMMAND_STRIKETHROUGH,
+       E_HTML_EDITOR_VIEW_COMMAND_STYLE_WITH_CSS,
+       E_HTML_EDITOR_VIEW_COMMAND_SUBSCRIPT,
+       E_HTML_EDITOR_VIEW_COMMAND_SUPERSCRIPT,
+       E_HTML_EDITOR_VIEW_COMMAND_TRANSPOSE,
+       E_HTML_EDITOR_VIEW_COMMAND_UNDERLINE,
+       E_HTML_EDITOR_VIEW_COMMAND_UNDO,
+       E_HTML_EDITOR_VIEW_COMMAND_UNLINK,
+       E_HTML_EDITOR_VIEW_COMMAND_UNSELECT,
+       E_HTML_EDITOR_VIEW_COMMAND_USE_CSS
+} EHTMLEditorViewCommand;
 
 /**
  * EImageLoadingPolicy:
diff --git a/e-util/e-util.h b/e-util/e-util.h
index edaec44..44f0a73 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -106,7 +106,6 @@
 #include <e-util/e-editor-table-dialog.h>
 #include <e-util/e-editor-text-dialog.h>
 #include <e-util/e-editor-utils.h>
-#include <e-util/e-editor-widget.h>
 #include <e-util/e-editor.h>
 #include <e-util/e-emoticon-action.h>
 #include <e-util/e-emoticon-chooser-menu.h>
@@ -127,6 +126,7 @@
 #include <e-util/e-filter-part.h>
 #include <e-util/e-filter-rule.h>
 #include <e-util/e-focus-tracker.h>
+#include <e-util/e-html-editor-view.h>
 #include <e-util/e-html-utils.h>
 #include <e-util/e-icon-factory.h>
 #include <e-util/e-image-chooser.h>
diff --git a/e-util/test-editor.c b/e-util/test-editor.c
index 94f6901..878438d 100644
--- a/e-util/test-editor.c
+++ b/e-util/test-editor.c
@@ -77,7 +77,7 @@ print (EEditor *editor,
        operation = gtk_print_operation_new ();
 
        frame = webkit_web_view_get_main_frame (
-               WEBKIT_WEB_VIEW (e_editor_get_editor_widget (editor)));
+               WEBKIT_WEB_VIEW (e_editor_get_html_editor_view (editor)));
        result = webkit_web_frame_print_full (frame, operation, action, NULL);
 
        g_object_unref (operation);
@@ -165,11 +165,11 @@ view_source_dialog (EEditor *editor,
        gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 300);
 
        if (plain_text) {
-               html = e_editor_widget_get_text_plain (
-                               e_editor_get_editor_widget (editor));
+               html = e_html_editor_view_get_text_plain (
+                               e_editor_get_html_editor_view (editor));
        } else {
-               html = e_editor_widget_get_text_html (
-                       e_editor_get_editor_widget (editor));
+               html = e_html_editor_view_get_text_html (
+                       e_editor_get_html_editor_view (editor));
        }
 
        if (show_source || plain_text) {
@@ -227,7 +227,7 @@ action_save_cb (GtkAction *action,
                        return;
 
        filename = e_editor_get_filename (editor);
-       as_html = (e_editor_widget_get_html_mode (e_editor_get_editor_widget (editor)));
+       as_html = (e_html_editor_view_get_html_mode (e_editor_get_html_editor_view (editor)));
 
        e_editor_save (editor, filename, as_html, &error);
        handle_error (&error);
@@ -245,7 +245,7 @@ action_save_as_cb (GtkAction *action,
                return;
 
        filename = e_editor_get_filename (editor);
-       as_html = (e_editor_widget_get_html_mode (e_editor_get_editor_widget (editor)));
+       as_html = (e_html_editor_view_get_html_mode (e_editor_get_html_editor_view (editor)));
 
        e_editor_save (editor, filename, as_html, &error);
        handle_error (&error);
@@ -255,12 +255,12 @@ static void
 action_toggle_editor (GtkAction *action,
                       EEditor *editor)
 {
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
 
-       widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
        webkit_web_view_set_editable (
-               WEBKIT_WEB_VIEW (widget),
-               ! webkit_web_view_get_editable (WEBKIT_WEB_VIEW (widget)));
+               WEBKIT_WEB_VIEW (view),
+               ! webkit_web_view_get_editable (WEBKIT_WEB_VIEW (view)));
 }
 
 static void
@@ -289,10 +289,10 @@ action_view_inspector (GtkAction *action,
                        EEditor *editor)
 {
        WebKitWebInspector *inspector;
-       EEditorWidget *widget;
+       EHTMLEditorView *view;
 
-       widget = e_editor_get_editor_widget (editor);
-       inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (widget));
+       view = e_editor_get_html_editor_view (editor);
+       inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (view));
 
        webkit_web_inspector_show (inspector);
 }
@@ -415,7 +415,7 @@ main (gint argc,
        GtkWidget *container;
        GtkWidget *widget;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        WebKitWebInspector *inspector;
 
        GError *error = NULL;
@@ -427,10 +427,10 @@ main (gint argc,
        gtk_init (&argc, &argv);
 
        editor = g_object_ref_sink (e_editor_new ());
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        inspector = webkit_web_view_get_inspector (
-               WEBKIT_WEB_VIEW (editor_widget));
+               WEBKIT_WEB_VIEW (view));
        g_signal_connect (
                inspector, "inspect-web-view",
                G_CALLBACK (open_inspector), NULL);
diff --git a/em-format/e-mail-formatter-quote.c b/em-format/e-mail-formatter-quote.c
index ba5b29c..f49d2bc 100644
--- a/em-format/e-mail-formatter-quote.c
+++ b/em-format/e-mail-formatter-quote.c
@@ -118,7 +118,7 @@ mail_formatter_quote_run (EMailFormatter *formatter,
         * Thus the HTML that was loaded into composer contained the i.e. META
         * or STYLE definitions in the body.
         * So if we want to put something into the message we have to put it into
-        * the special span element and it will be moved to body in EEditorWidget */
+        * the special span element and it will be moved to body in EHTMLEditorView */
        if (qf->priv->credits && *qf->priv->credits) {
                gchar *credits = g_strdup_printf (
                        "<span class=\"-x-evo-to-body\"><pre>%s</pre></span>", qf->priv->credits);
@@ -127,7 +127,7 @@ mail_formatter_quote_run (EMailFormatter *formatter,
        }
 
        /* If we want to cite the message we have to append the special span element
-        * after the message and cite it in EEditorWidget because of reasons
+        * after the message and cite it in EHTMLEditorView because of reasons
         * mentioned above */
        if (qf->priv->flags & E_MAIL_FORMATTER_QUOTE_FLAG_CITE) {
                camel_stream_write_string (
diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
index 6e98587..9332658 100644
--- a/mail/em-composer-utils.c
+++ b/mail/em-composer-utils.c
@@ -446,7 +446,7 @@ composer_presend_check_unwanted_html (EMsgComposer *composer,
 {
        EDestination **recipients;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EComposerHeaderTable *table;
        GSettings *settings;
        gboolean check_passed = TRUE;
@@ -458,8 +458,8 @@ composer_presend_check_unwanted_html (EMsgComposer *composer,
        settings = g_settings_new ("org.gnome.evolution.mail");
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
-       html_mode = e_editor_widget_get_html_mode (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       html_mode = e_html_editor_view_get_html_mode (view);
 
        table = e_msg_composer_get_header_table (composer);
        recipients = e_composer_header_table_get_destinations (table);
@@ -593,11 +593,11 @@ exit:
 
        if (set_changed) {
                EEditor *editor;
-               EEditorWidget *editor_widget;
+               EHTMLEditorView *view;
 
                editor = e_msg_composer_get_editor (async_context->composer);
-               editor_widget = e_editor_get_editor_widget (editor);
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               view = e_editor_get_html_editor_view (editor);
+               e_html_editor_view_set_changed (view, TRUE);
 
                gtk_window_present (GTK_WINDOW (async_context->composer));
        }
@@ -633,14 +633,14 @@ static void
 composer_set_no_change (EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        g_return_if_fail (composer != NULL);
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       e_editor_widget_set_changed (editor_widget, FALSE);
+       e_html_editor_view_set_changed (view, FALSE);
 }
 
 /* delete original messages from Outbox folder */
@@ -686,13 +686,13 @@ composer_save_to_drafts_complete (GObject *source_object,
        EActivity *activity;
        AsyncContext *async_context;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GError *local_error = NULL;
 
        async_context = (AsyncContext *) user_data;
 
        editor = e_msg_composer_get_editor (async_context->composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        /* We don't really care if this failed.  If something other than
         * cancellation happened, emit a runtime warning so the error is
@@ -706,11 +706,11 @@ composer_save_to_drafts_complete (GObject *source_object,
                E_MAIL_SESSION (source_object), result, &local_error);
 
        if (e_activity_handle_cancellation (activity, local_error)) {
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               e_html_editor_view_set_changed (view, TRUE);
                g_error_free (local_error);
 
        } else if (local_error != NULL) {
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               e_html_editor_view_set_changed (view, TRUE);
                g_warning ("%s", local_error->message);
                g_error_free (local_error);
 
@@ -739,21 +739,21 @@ composer_save_to_drafts_cleanup (GObject *source_object,
        EAlertSink *alert_sink;
        GCancellable *cancellable;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        AsyncContext *async_context;
        GError *local_error = NULL;
 
        async_context = (AsyncContext *) user_data;
 
        editor = e_msg_composer_get_editor (async_context->composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        activity = async_context->activity;
        alert_sink = e_activity_get_alert_sink (activity);
        cancellable = e_activity_get_cancellable (activity);
 
        if (e_activity_handle_cancellation (activity, local_error)) {
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               e_html_editor_view_set_changed (view, TRUE);
                async_context_free (async_context);
                g_error_free (local_error);
                return;
@@ -763,7 +763,7 @@ composer_save_to_drafts_cleanup (GObject *source_object,
                        alert_sink,
                        "mail-composer:save-to-drafts-error",
                        local_error->message, NULL);
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               e_html_editor_view_set_changed (view, TRUE);
                async_context_free (async_context);
                g_error_free (local_error);
                return;
@@ -828,7 +828,7 @@ composer_save_to_drafts_got_folder (GObject *source_object,
        EActivity *activity;
        CamelFolder *drafts_folder;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        AsyncContext *async_context;
        GError *local_error = NULL;
 
@@ -837,7 +837,7 @@ composer_save_to_drafts_got_folder (GObject *source_object,
        activity = async_context->activity;
 
        editor = e_msg_composer_get_editor (async_context->composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        drafts_folder = e_mail_session_uri_to_folder_finish (
                E_MAIL_SESSION (source_object), result, &local_error);
@@ -848,7 +848,7 @@ composer_save_to_drafts_got_folder (GObject *source_object,
                ((drafts_folder == NULL) && (local_error != NULL)));
 
        if (e_activity_handle_cancellation (activity, local_error)) {
-               e_editor_widget_set_changed (editor_widget, TRUE);
+               e_html_editor_view_set_changed (view, TRUE);
                async_context_free (async_context);
                g_error_free (local_error);
                return;
@@ -866,7 +866,7 @@ composer_save_to_drafts_got_folder (GObject *source_object,
                        GTK_WINDOW (async_context->composer),
                        "mail:ask-default-drafts", NULL);
                if (response != GTK_RESPONSE_YES) {
-                       e_editor_widget_set_changed (editor_widget, TRUE);
+                       e_html_editor_view_set_changed (view, TRUE);
                        async_context_free (async_context);
                        return;
                }
diff --git a/modules/composer-autosave/e-composer-autosave.c b/modules/composer-autosave/e-composer-autosave.c
index 38bf825..12be4f8 100644
--- a/modules/composer-autosave/e-composer-autosave.c
+++ b/modules/composer-autosave/e-composer-autosave.c
@@ -126,14 +126,14 @@ static void
 composer_autosave_changed_cb (EComposerAutosave *autosave)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EExtensible *extensible;
 
        extensible = e_extension_get_extensible (E_EXTENSION (autosave));
 
        editor = e_msg_composer_get_editor (E_MSG_COMPOSER (extensible));
-       editor_widget = e_editor_get_editor_widget (editor);
-       autosave->priv->changed = e_editor_widget_get_changed (editor_widget);
+       view = e_editor_get_html_editor_view (editor);
+       autosave->priv->changed = e_html_editor_view_get_changed (view);
 
        if (autosave->priv->changed && autosave->priv->timeout_id == 0) {
                autosave->priv->timeout_id = e_named_timeout_add_seconds (
@@ -167,7 +167,7 @@ static void
 composer_autosave_constructed (GObject *object)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        EExtensible *extensible;
 
        /* Chain up to parent's constructed() method. */
@@ -176,10 +176,10 @@ composer_autosave_constructed (GObject *object)
 
        extensible = e_extension_get_extensible (E_EXTENSION (object));
        editor = e_msg_composer_get_editor (E_MSG_COMPOSER (extensible));
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        g_signal_connect_swapped (
-               editor_widget, "notify::changed",
+               view, "notify::changed",
                G_CALLBACK (composer_autosave_changed_cb), object);
 }
 
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c
index a688452..3ab928c 100644
--- a/modules/mail/e-mail-shell-backend.c
+++ b/modules/mail/e-mail-shell-backend.c
@@ -456,11 +456,11 @@ mail_shell_backend_window_added_cb (GtkApplication *application,
 
        /* This applies to both the composer and signature editor. */
        if (editor != NULL) {
-               EEditorWidget *editor_widget;
+               EHTMLEditorView *view;
                GSettings *settings;
                gboolean active = TRUE;
 
-               editor_widget = e_editor_get_editor_widget (editor);
+               view = e_editor_get_html_editor_view (editor);
 
                settings = g_settings_new ("org.gnome.evolution.mail");
 
@@ -469,7 +469,7 @@ mail_shell_backend_window_added_cb (GtkApplication *application,
 
                g_object_unref (settings);
 
-               e_editor_widget_set_html_mode (editor_widget, active);
+               e_html_editor_view_set_html_mode (view, active);
        }
 
        if (E_IS_MSG_COMPOSER (window)) {
diff --git a/plugins/external-editor/external-editor.c b/plugins/external-editor/external-editor.c
index 3c2c665..c5a6003 100644
--- a/plugins/external-editor/external-editor.c
+++ b/plugins/external-editor/external-editor.c
@@ -150,16 +150,16 @@ enable_disable_composer (EMsgComposer *composer,
                          gboolean enable)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
        GtkAction *action;
        GtkActionGroup *action_group;
 
        g_return_if_fail (E_IS_MSG_COMPOSER (composer));
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
-       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (editor_widget), enable);
+       webkit_web_view_set_editable (WEBKIT_WEB_VIEW (view), enable);
 
        action = E_EDITOR_ACTION_EDIT_MENU (editor);
        gtk_action_set_sensitive (action, enable);
@@ -248,7 +248,7 @@ numlines (const gchar *text,
 }
 
 static gint
-get_caret_position (EEditorWidget *widget)
+get_caret_position (EHTMLEditorView *view)
 {
        WebKitDOMDocument *document;
        WebKitDOMDOMWindow *window;
@@ -258,7 +258,7 @@ get_caret_position (EEditorWidget *widget)
        WebKitDOMNodeList *nodes;
        gulong ii, length;
 
-       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view));
        window = webkit_dom_document_get_default_view (document);
        selection = webkit_dom_dom_window_get_selection (window);
 
@@ -303,10 +303,10 @@ external_editor_thread (gpointer user_data)
        gchar *editor_cmd_line = NULL, *editor_cmd = NULL, *content;
        gint fd, position = -1, offset = -1;
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        /* prefix temp files with evo so .*vimrc can be setup to recognize them */
        fd = g_file_open_tmp ("evoXXXXXX", &filename, NULL);
@@ -315,7 +315,7 @@ external_editor_thread (gpointer user_data)
                d (printf ("\n\aTemporary-file Name is : [%s] \n\a", filename));
 
                /* Push the text (if there is one) from the composer to the file */
-               content = e_editor_widget_get_text_plain (editor_widget);
+               content = e_html_editor_view_get_text_plain (view);
                g_file_set_contents (filename, content, strlen (content), NULL);
        } else {
                struct run_error_dialog_data *data;
@@ -344,7 +344,7 @@ external_editor_thread (gpointer user_data)
        g_object_unref (settings);
 
        if (g_strrstr (editor_cmd, "vim") != NULL &&
-           ((position = get_caret_position (editor_widget)) > 0)) {
+           ((position = get_caret_position (view)) > 0)) {
                gchar *tmp = editor_cmd;
                gint lineno;
                gboolean set_nofork;
@@ -525,10 +525,10 @@ e_plugin_ui_init (GtkUIManager *manager,
                   EMsgComposer *composer)
 {
        EEditor *editor;
-       EEditorWidget *editor_widget;
+       EHTMLEditorView *view;
 
        editor = e_msg_composer_get_editor (composer);
-       editor_widget = e_editor_get_editor_widget (editor);
+       view = e_editor_get_html_editor_view (editor);
 
        /* Add actions to the "composer" action group. */
        gtk_action_group_add_actions (
@@ -536,11 +536,11 @@ e_plugin_ui_init (GtkUIManager *manager,
                entries, G_N_ELEMENTS (entries), composer);
 
        g_signal_connect (
-               editor_widget, "key_press_event",
+               view, "key_press_event",
                G_CALLBACK (key_press_cb), composer);
 
        g_signal_connect (
-               editor_widget, "delete-event",
+               view, "delete-event",
                G_CALLBACK (delete_cb), composer);
 
        return TRUE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]