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)