summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-12-07 13:39:00 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-12-11 15:14:47 +0000
commit2f7667ba5f58eefbc47ef8cbe319b12922bfafc9 (patch)
treee390b2b03763891ca69857a6811718147b2e816c
parent9f798b787a2542688c30503d3f62fe2d7c4d5a72 (diff)
Check for null renderView
It can according to documentation potentially be null, even if it might not happen in our cases. Task-number: QTBUG-63854 Change-Id: I76029c83fe32c163c2707568fe81b7590a79b4fe Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io> Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
-rw-r--r--src/core/renderer/user_resource_controller.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/renderer/user_resource_controller.cpp b/src/core/renderer/user_resource_controller.cpp
index b172c762b..36125d189 100644
--- a/src/core/renderer/user_resource_controller.cpp
+++ b/src/core/renderer/user_resource_controller.cpp
@@ -129,6 +129,8 @@ void UserResourceController::RenderViewObserverHelper::runScripts(UserScriptData
void UserResourceController::runScripts(UserScriptData::InjectionPoint p, blink::WebLocalFrame *frame)
{
content::RenderView *renderView = content::RenderView::FromWebView(frame->view());
+ if (!renderView)
+ return;
const bool isMainFrame = (frame == renderView->GetWebView()->mainFrame());
QList<uint64_t> scriptsToRun = m_viewUserScriptMap.value(globalScriptsIndex).toList();
@@ -192,7 +194,8 @@ void UserResourceController::RenderViewObserverHelper::FrameDetached(blink::WebF
void UserResourceController::RenderViewObserverHelper::OnDestruct()
{
- UserResourceController::instance()->renderViewDestroyed(render_view());
+ if (content::RenderView *view = render_view())
+ UserResourceController::instance()->renderViewDestroyed(view);
}
bool UserResourceController::RenderViewObserverHelper::OnMessageReceived(const IPC::Message &message)
@@ -209,17 +212,20 @@ bool UserResourceController::RenderViewObserverHelper::OnMessageReceived(const I
void UserResourceController::RenderViewObserverHelper::onUserScriptAdded(const UserScriptData &script)
{
- UserResourceController::instance()->addScriptForView(script, render_view());
+ if (content::RenderView *view = render_view())
+ UserResourceController::instance()->addScriptForView(script, view);
}
void UserResourceController::RenderViewObserverHelper::onUserScriptRemoved(const UserScriptData &script)
{
- UserResourceController::instance()->removeScriptForView(script, render_view());
+ if (content::RenderView *view = render_view())
+ UserResourceController::instance()->removeScriptForView(script, view);
}
void UserResourceController::RenderViewObserverHelper::onScriptsCleared()
{
- UserResourceController::instance()->clearScriptsForView(render_view());
+ if (content::RenderView *view = render_view())
+ UserResourceController::instance()->clearScriptsForView(view);
}
UserResourceController *UserResourceController::instance()