summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_adapter.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-05-20 14:17:47 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-10 10:26:38 +0200
commit9cfde2edf4736ae9533e7e1fac495a23ad905419 (patch)
tree4eca639f54719a8824a527ee6a40fb13b462b110 /src/core/web_contents_adapter.cpp
parent0a01998411de6a46af8d0b0ae13b8f401cd14a4b (diff)
Adaptations for Chromium 75
Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src/core/web_contents_adapter.cpp')
-rw-r--r--src/core/web_contents_adapter.cpp49
1 files changed, 38 insertions, 11 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index 6ea07b4e7..2295d33c0 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -213,10 +213,10 @@ static QVariant fromJSValue(const base::Value *result)
return ret;
}
-static void callbackOnEvaluateJS(WebContentsAdapterClient *adapterClient, quint64 requestId, const base::Value *result)
+static void callbackOnEvaluateJS(WebContentsAdapterClient *adapterClient, quint64 requestId, base::Value result)
{
if (requestId)
- adapterClient->didRunJavaScript(requestId, fromJSValue(result));
+ adapterClient->didRunJavaScript(requestId, fromJSValue(&result));
}
#if QT_CONFIG(webengine_printing_and_pdf)
@@ -560,6 +560,12 @@ bool WebContentsAdapter::canGoForward() const
return m_webContents->GetController().CanGoForward();
}
+bool WebContentsAdapter::canGoToOffset(int offset) const
+{
+ CHECK_INITIALIZED(false);
+ return m_webContents->GetController().CanGoToOffset(offset);
+}
+
void WebContentsAdapter::stop()
{
CHECK_INITIALIZED();
@@ -845,6 +851,26 @@ void WebContentsAdapter::unselect()
m_webContents->CollapseSelection();
}
+void WebContentsAdapter::navigateBack()
+{
+ CHECK_INITIALIZED();
+ CHECK_VALID_RENDER_WIDGET_HOST_VIEW(m_webContents->GetRenderViewHost());
+ if (!m_webContents->GetController().CanGoBack())
+ return;
+ m_webContents->GetController().GoBack();
+ focusIfNecessary();
+}
+
+void WebContentsAdapter::navigateForward()
+{
+ CHECK_INITIALIZED();
+ CHECK_VALID_RENDER_WIDGET_HOST_VIEW(m_webContents->GetRenderViewHost());
+ if (!m_webContents->GetController().CanGoForward())
+ return;
+ m_webContents->GetController().GoForward();
+ focusIfNecessary();
+}
+
void WebContentsAdapter::navigateToIndex(int offset)
{
CHECK_INITIALIZED();
@@ -978,13 +1004,14 @@ void WebContentsAdapter::runJavaScript(const QString &javaScript, quint32 worldI
CHECK_INITIALIZED();
content::RenderViewHost *rvh = m_webContents->GetRenderViewHost();
Q_ASSERT(rvh);
+// static_cast<content::RenderFrameHostImpl *>(rvh->GetMainFrame())->NotifyUserActivation();
if (worldId == 0) {
- rvh->GetMainFrame()->ExecuteJavaScript(toString16(javaScript));
+ rvh->GetMainFrame()->ExecuteJavaScript(toString16(javaScript), base::NullCallback());
return;
}
- content::RenderFrameHost::JavaScriptResultCallback callback = base::Bind(&callbackOnEvaluateJS, m_adapterClient, CallbackDirectory::NoCallbackId);
- rvh->GetMainFrame()->ExecuteJavaScriptInIsolatedWorld(toString16(javaScript), callback, worldId);
+ content::RenderFrameHost::JavaScriptResultCallback callback = base::BindOnce(&callbackOnEvaluateJS, m_adapterClient, CallbackDirectory::NoCallbackId);
+ rvh->GetMainFrame()->ExecuteJavaScriptInIsolatedWorld(toString16(javaScript), std::move(callback), worldId);
}
quint64 WebContentsAdapter::runJavaScriptCallbackResult(const QString &javaScript, quint32 worldId)
@@ -992,11 +1019,12 @@ quint64 WebContentsAdapter::runJavaScriptCallbackResult(const QString &javaScrip
CHECK_INITIALIZED(0);
content::RenderViewHost *rvh = m_webContents->GetRenderViewHost();
Q_ASSERT(rvh);
- content::RenderFrameHost::JavaScriptResultCallback callback = base::Bind(&callbackOnEvaluateJS, m_adapterClient, m_nextRequestId);
+// static_cast<content::RenderFrameHostImpl *>(rvh->GetMainFrame())->NotifyUserActivation();
+ content::RenderFrameHost::JavaScriptResultCallback callback = base::BindOnce(&callbackOnEvaluateJS, m_adapterClient, m_nextRequestId);
if (worldId == 0)
- rvh->GetMainFrame()->ExecuteJavaScript(toString16(javaScript), callback);
+ rvh->GetMainFrame()->ExecuteJavaScript(toString16(javaScript), std::move(callback));
else
- rvh->GetMainFrame()->ExecuteJavaScriptInIsolatedWorld(toString16(javaScript), callback, worldId);
+ rvh->GetMainFrame()->ExecuteJavaScriptInIsolatedWorld(toString16(javaScript), std::move(callback), worldId);
return m_nextRequestId++;
}
@@ -1596,11 +1624,10 @@ void WebContentsAdapter::waitForUpdateDragActionCalled()
const qint64 timeout = 3000;
QElapsedTimer t;
t.start();
- auto backend = static_cast<base::sequence_manager::internal::SequenceManagerImpl *>(
- base::MessageLoopCurrent::Get().ToMessageLoopBaseDeprecated());
+ auto seqMan = base::MessageLoopCurrent::GetCurrentSequenceManagerImpl();
base::MessagePump::Delegate *delegate =
static_cast<base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl *>(
- backend->controller_.get());
+ seqMan->controller_.get());
DCHECK(delegate);
m_updateDragActionCalled = false;