summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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()