From 2f7667ba5f58eefbc47ef8cbe319b12922bfafc9 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 7 Dec 2017 13:39:00 +0100 Subject: Check for null renderView MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Michael BrĂ¼ning Reviewed-by: Viktor Engelmann --- src/core/renderer/user_resource_controller.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/core/renderer') 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 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() -- cgit v1.2.3