Title: [283802] trunk/Source/WebKit
Revision
283802
Author
[email protected]
Date
2021-10-08 08:33:21 -0700 (Fri, 08 Oct 2021)

Log Message

[WPE][Qt] API export fixes
https://bugs.webkit.org/show_bug.cgi?id=231430

Patch by Philippe Normand <[email protected]> on 2021-10-08
Reviewed by Michael Catanzaro.

Remove internal WebKit API (GRefPtr) from the public QtWPE API, and export classes exposing
the public QtWPE API.

* UIProcess/API/wpe/qt/WPEQtView.cpp:
(WPEQtView::~WPEQtView):
(WPEQtView::createWebView):
(WPEQtView::url const):
(WPEQtView::setUrl):
(WPEQtView::loadProgress const):
(WPEQtView::title const):
(WPEQtView::canGoBack const):
(WPEQtView::isLoading const):
(WPEQtView::canGoForward const):
(WPEQtView::goBack):
(WPEQtView::goForward):
(WPEQtView::reload):
(WPEQtView::stop):
(WPEQtView::loadHtml):
(WPEQtView::runJavaScript):
* UIProcess/API/wpe/qt/WPEQtView.h:
(): Deleted.
(WPEQtView::triggerUpdate): Deleted.
(WPEQtView::errorOccured const): Deleted.
(WPEQtView::setErrorOccured): Deleted.
* UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h:
* UIProcess/TextChecker.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (283801 => 283802)


--- trunk/Source/WebKit/ChangeLog	2021-10-08 15:08:27 UTC (rev 283801)
+++ trunk/Source/WebKit/ChangeLog	2021-10-08 15:33:21 UTC (rev 283802)
@@ -1,3 +1,37 @@
+2021-10-08  Philippe Normand  <[email protected]>
+
+        [WPE][Qt] API export fixes
+        https://bugs.webkit.org/show_bug.cgi?id=231430
+
+        Reviewed by Michael Catanzaro.
+
+        Remove internal WebKit API (GRefPtr) from the public QtWPE API, and export classes exposing
+        the public QtWPE API.
+
+        * UIProcess/API/wpe/qt/WPEQtView.cpp:
+        (WPEQtView::~WPEQtView):
+        (WPEQtView::createWebView):
+        (WPEQtView::url const):
+        (WPEQtView::setUrl):
+        (WPEQtView::loadProgress const):
+        (WPEQtView::title const):
+        (WPEQtView::canGoBack const):
+        (WPEQtView::isLoading const):
+        (WPEQtView::canGoForward const):
+        (WPEQtView::goBack):
+        (WPEQtView::goForward):
+        (WPEQtView::reload):
+        (WPEQtView::stop):
+        (WPEQtView::loadHtml):
+        (WPEQtView::runJavaScript):
+        * UIProcess/API/wpe/qt/WPEQtView.h:
+        (): Deleted.
+        (WPEQtView::triggerUpdate): Deleted.
+        (WPEQtView::errorOccured const): Deleted.
+        (WPEQtView::setErrorOccured): Deleted.
+        * UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h:
+        * UIProcess/TextChecker.h:
+
 2021-10-08  Youenn Fablet  <[email protected]>
 
         Bind the number of WebRTC sockets opened per process

Modified: trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.cpp (283801 => 283802)


--- trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.cpp	2021-10-08 15:08:27 UTC (rev 283801)
+++ trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.cpp	2021-10-08 15:33:21 UTC (rev 283802)
@@ -58,11 +58,14 @@
 
 WPEQtView::~WPEQtView()
 {
-    g_signal_handlers_disconnect_by_func(m_webView.get(), reinterpret_cast<gpointer>(notifyUrlChangedCallback), this);
-    g_signal_handlers_disconnect_by_func(m_webView.get(), reinterpret_cast<gpointer>(notifyTitleChangedCallback), this);
-    g_signal_handlers_disconnect_by_func(m_webView.get(), reinterpret_cast<gpointer>(notifyLoadChangedCallback), this);
-    g_signal_handlers_disconnect_by_func(m_webView.get(), reinterpret_cast<gpointer>(notifyLoadFailedCallback), this);
-    g_signal_handlers_disconnect_by_func(m_webView.get(), reinterpret_cast<gpointer>(notifyLoadProgressCallback), this);
+    if (m_webView) {
+        g_signal_handlers_disconnect_by_func(m_webView, reinterpret_cast<gpointer>(notifyUrlChangedCallback), this);
+        g_signal_handlers_disconnect_by_func(m_webView, reinterpret_cast<gpointer>(notifyTitleChangedCallback), this);
+        g_signal_handlers_disconnect_by_func(m_webView, reinterpret_cast<gpointer>(notifyLoadChangedCallback), this);
+        g_signal_handlers_disconnect_by_func(m_webView, reinterpret_cast<gpointer>(notifyLoadFailedCallback), this);
+        g_signal_handlers_disconnect_by_func(m_webView, reinterpret_cast<gpointer>(notifyLoadProgressCallback), this);
+        g_object_unref(m_webView);
+    }
 }
 
 void WPEQtView::geometryChanged(const QRectF& newGeometry, const QRectF&)
@@ -101,22 +104,22 @@
     m_backend = backend.get();
     auto settings = adoptGRef(webkit_settings_new_with_settings("enable-developer-extras", TRUE,
         "enable-webgl", TRUE, "enable-mediasource", TRUE, nullptr));
-    m_webView = adoptGRef(WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW,
+    m_webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW,
         "backend", webkit_web_view_backend_new(m_backend->backend(), [](gpointer data) {
             delete static_cast<WPEQtViewBackend*>(data);
         }, backend.release()),
-        "settings", settings.get(), nullptr)));
+        "settings", settings.get(), nullptr));
 
-    g_signal_connect_swapped(m_webView.get(), "notify::uri", G_CALLBACK(notifyUrlChangedCallback), this);
-    g_signal_connect_swapped(m_webView.get(), "notify::title", G_CALLBACK(notifyTitleChangedCallback), this);
-    g_signal_connect_swapped(m_webView.get(), "notify::estimated-load-progress", G_CALLBACK(notifyLoadProgressCallback), this);
-    g_signal_connect(m_webView.get(), "load-changed", G_CALLBACK(notifyLoadChangedCallback), this);
-    g_signal_connect(m_webView.get(), "load-failed", G_CALLBACK(notifyLoadFailedCallback), this);
+    g_signal_connect_swapped(m_webView, "notify::uri", G_CALLBACK(notifyUrlChangedCallback), this);
+    g_signal_connect_swapped(m_webView, "notify::title", G_CALLBACK(notifyTitleChangedCallback), this);
+    g_signal_connect_swapped(m_webView, "notify::estimated-load-progress", G_CALLBACK(notifyLoadProgressCallback), this);
+    g_signal_connect(m_webView, "load-changed", G_CALLBACK(notifyLoadChangedCallback), this);
+    g_signal_connect(m_webView, "load-failed", G_CALLBACK(notifyLoadFailedCallback), this);
 
     if (!m_url.isEmpty())
-        webkit_web_view_load_uri(m_webView.get(), m_url.toString().toUtf8().constData());
+        webkit_web_view_load_uri(m_webView, m_url.toString().toUtf8().constData());
     else if (!m_html.isEmpty())
-        webkit_web_view_load_html(m_webView.get(), m_html.toUtf8().constData(), m_baseUrl.toString().toUtf8().constData());
+        webkit_web_view_load_html(m_webView, m_html.toUtf8().constData(), m_baseUrl.toString().toUtf8().constData());
 
     Q_EMIT webViewCreated();
 }
@@ -204,7 +207,7 @@
     if (!m_webView)
         return m_url;
 
-    const gchar* uri = webkit_web_view_get_uri(m_webView.get());
+    const gchar* uri = webkit_web_view_get_uri(m_webView);
     return uri ? QUrl(QString(uri)) : m_url;
 }
 
@@ -227,7 +230,7 @@
     m_errorOccured = false;
     m_url = url;
     if (m_webView)
-        webkit_web_view_load_uri(m_webView.get(), m_url.toString().toUtf8().constData());
+        webkit_web_view_load_uri(m_webView, m_url.toString().toUtf8().constData());
 }
 
 /*!
@@ -242,7 +245,7 @@
     if (!m_webView)
         return 0;
 
-    return webkit_web_view_get_estimated_load_progress(m_webView.get()) * 100;
+    return webkit_web_view_get_estimated_load_progress(m_webView) * 100;
 }
 
 /*!
@@ -256,7 +259,7 @@
     if (!m_webView)
         return "";
 
-    return webkit_web_view_get_title(m_webView.get());
+    return webkit_web_view_get_title(m_webView);
 }
 
 /*!
@@ -270,7 +273,7 @@
     if (!m_webView)
         return false;
 
-    return webkit_web_view_can_go_back(m_webView.get());
+    return webkit_web_view_can_go_back(m_webView);
 }
 
 /*!
@@ -301,7 +304,7 @@
     if (!m_webView)
         return false;
 
-    return webkit_web_view_is_loading(m_webView.get());
+    return webkit_web_view_is_loading(m_webView);
 }
 
 /*!
@@ -315,7 +318,7 @@
     if (!m_webView)
         return false;
 
-    return webkit_web_view_can_go_forward(m_webView.get());
+    return webkit_web_view_can_go_forward(m_webView);
 }
 
 /*!
@@ -326,7 +329,7 @@
 void WPEQtView::goBack()
 {
     if (m_webView)
-        webkit_web_view_go_back(m_webView.get());
+        webkit_web_view_go_back(m_webView);
 }
 
 /*!
@@ -337,7 +340,7 @@
 void WPEQtView::goForward()
 {
     if (m_webView)
-        webkit_web_view_go_forward(m_webView.get());
+        webkit_web_view_go_forward(m_webView);
 }
 
 /*!
@@ -348,7 +351,7 @@
 void WPEQtView::reload()
 {
     if (m_webView)
-        webkit_web_view_reload(m_webView.get());
+        webkit_web_view_reload(m_webView);
 }
 
 /*!
@@ -359,7 +362,7 @@
 void WPEQtView::stop()
 {
     if (m_webView)
-        webkit_web_view_stop_loading(m_webView.get());
+        webkit_web_view_stop_loading(m_webView);
 }
 
 /*!
@@ -387,7 +390,7 @@
     m_errorOccured = false;
 
     if (m_webView)
-        webkit_web_view_load_html(m_webView.get(), html.toUtf8().constData(), baseUrl.toString().toUtf8().constData());
+        webkit_web_view_load_html(m_webView, html.toUtf8().constData(), baseUrl.toString().toUtf8().constData());
 }
 
 struct _javascript_CallbackData {
@@ -451,7 +454,7 @@
 void WPEQtView::runJavaScript(const QString& script, const QJSValue& callback)
 {
     std::unique_ptr<_javascript_CallbackData> data = "" QPointer<WPEQtView>(this));
-    webkit_web_view_run_javascript(m_webView.get(), script.toUtf8().constData(), nullptr, jsAsyncReadyCallback, data.release());
+    webkit_web_view_run_javascript(m_webView, script.toUtf8().constData(), nullptr, jsAsyncReadyCallback, data.release());
 }
 
 void WPEQtView::mousePressEvent(QMouseEvent* event)

Modified: trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.h (283801 => 283802)


--- trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.h	2021-10-08 15:08:27 UTC (rev 283801)
+++ trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtView.h	2021-10-08 15:33:21 UTC (rev 283802)
@@ -32,7 +32,7 @@
 class WPEQtViewBackend;
 class WPEQtViewLoadRequest;
 
-class WPEQtView : public QQuickItem {
+class Q_DECL_EXPORT WPEQtView : public QQuickItem {
     Q_OBJECT
     Q_DISABLE_COPY(WPEQtView)
     Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged)
@@ -110,7 +110,7 @@
     static void notifyLoadChangedCallback(WebKitWebView*, WebKitLoadEvent, WPEQtView*);
     static void notifyLoadFailedCallback(WebKitWebView*, WebKitLoadEvent, const gchar* failingURI, GError*, WPEQtView*);
 
-    GRefPtr<WebKitWebView> m_webView;
+    WebKitWebView* m_webView { nullptr };
     QUrl m_url;
     QString m_html;
     QUrl m_baseUrl;

Modified: trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h (283801 => 283802)


--- trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h	2021-10-08 15:08:27 UTC (rev 283801)
+++ trunk/Source/WebKit/UIProcess/API/wpe/qt/WPEQtViewLoadRequest.h	2021-10-08 15:33:21 UTC (rev 283802)
@@ -26,7 +26,7 @@
 
 class WPEQtViewLoadRequestPrivate;
 
-class WPEQtViewLoadRequest : public QObject {
+class Q_DECL_EXPORT WPEQtViewLoadRequest : public QObject {
     Q_OBJECT
     Q_PROPERTY(QUrl url READ url)
     Q_PROPERTY(WPEQtView::LoadStatus status READ status)

Modified: trunk/Source/WebKit/UIProcess/TextChecker.h (283801 => 283802)


--- trunk/Source/WebKit/UIProcess/TextChecker.h	2021-10-08 15:08:27 UTC (rev 283801)
+++ trunk/Source/WebKit/UIProcess/TextChecker.h	2021-10-08 15:33:21 UTC (rev 283802)
@@ -28,6 +28,7 @@
 #include "TextCheckerCompletion.h"
 #include <WebCore/EditorClient.h>
 #include <WebCore/TextCheckerClient.h>
+#include <WebKit/WKDeclarationSpecifiers.h>
 
 namespace WebKit {
 
@@ -41,7 +42,7 @@
     static const TextCheckerState& state();
     static bool isContinuousSpellCheckingAllowed();
 
-    static bool setContinuousSpellCheckingEnabled(bool);
+    WK_EXPORT static bool setContinuousSpellCheckingEnabled(bool);
     static void setGrammarCheckingEnabled(bool);
     
     static void setTestingMode(bool);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to