Changeset 218251 in webkit


Ignore:
Timestamp:
Jun 14, 2017 3:49:18 AM (7 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Use API::InjectedBundle::EditorClient in WebKitWebEditor
https://bugs.webkit.org/show_bug.cgi?id=173355

Reviewed by Žan Doberšek.

Instead of the C API.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.cpp:

(webkitWebEditorCreate):
(didChangeSelection): Deleted.

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r218250 r218251  
     12017-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Use API::InjectedBundle::EditorClient in WebKitWebEditor
     4        https://bugs.webkit.org/show_bug.cgi?id=173355
     5
     6        Reviewed by Žan Doberšek.
     7
     8        Instead of the C API.
     9
     10        * WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.cpp:
     11        (webkitWebEditorCreate):
     12        (didChangeSelection): Deleted.
     13
    1142017-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
    215
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.cpp

    r212230 r218251  
    2424#include "WebKitWebEditorPrivate.h"
    2525#include "WebKitWebPagePrivate.h"
    26 #include "WKBundleAPICast.h"
    2726
    2827using namespace WebKit;
     
    7675}
    7776
    78 static void didChangeSelection(WKBundlePageRef, WKStringRef /* notificationName */, const void* clientInfo)
    79 {
    80     g_signal_emit(WEBKIT_WEB_EDITOR(clientInfo), signals[SELECTION_CHANGED], 0);
    81 }
     77class PageEditorClient final : public API::InjectedBundle::EditorClient {
     78public:
     79    explicit PageEditorClient(WebKitWebEditor* editor)
     80        : m_editor(editor)
     81    {
     82    }
     83
     84private:
     85    void didChangeSelection(WebPage&, StringImpl*) override
     86    {
     87        g_signal_emit(m_editor, signals[SELECTION_CHANGED], 0);
     88    }
     89
     90    WebKitWebEditor* m_editor;
     91};
    8292
    8393WebKitWebEditor* webkitWebEditorCreate(WebKitWebPage* webPage)
     
    8595    WebKitWebEditor* editor = WEBKIT_WEB_EDITOR(g_object_new(WEBKIT_TYPE_WEB_EDITOR, nullptr));
    8696    editor->priv->webPage = webPage;
    87 
    88     WKBundlePageEditorClientV0 editorClient = {
    89         {
    90             0, // version
    91             editor, // clientInfo
    92         },
    93         nullptr, // shouldBeginEditing
    94         nullptr, // shouldEndEditing
    95         nullptr, // shouldInsertNode
    96         nullptr, // shouldInsertText
    97         nullptr, // shouldDeleteRange
    98         nullptr, // shouldChangeSelectedRange
    99         nullptr, // shouldApplyStyle
    100         nullptr, // didBeginEditing
    101         nullptr, // didEndEditing
    102         nullptr, // didChange
    103         didChangeSelection
    104     };
    105     WKBundlePageSetEditorClient(toAPI(webkitWebPageGetPage(webPage)), &editorClient.base);
    106 
     97    webkitWebPageGetPage(webPage)->setInjectedBundleEditorClient(std::make_unique<PageEditorClient>(editor));
    10798    return editor;
    10899}
Note: See TracChangeset for help on using the changeset viewer.