summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2018-06-04 14:45:48 +0200
committerJüri Valdmann <juri.valdmann@qt.io>2018-06-05 11:30:08 +0000
commit6cd3360c4d5283893eeb1efe43e329073709b48c (patch)
treeb431fbc5203f3e2b19ab9cdbde2730ec35527709 /src
parentef17b79a4e496ee4c6a390ef27427f1a94118c80 (diff)
downloadqtwebengine-6cd3360c4d5283893eeb1efe43e329073709b48c.tar.gz
Don't try to run user scripts if provisional load failed
Fixes DCHECK in UserResourceController::DidFinishDocumentLoad. Task-number: QTBUG-68594 Change-Id: I67128e2144420e61f8bffe080fa16a828b8202ad Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/core/renderer/user_resource_controller.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/core/renderer/user_resource_controller.cpp b/src/core/renderer/user_resource_controller.cpp
index 50a3924c6..2b8fc714a 100644
--- a/src/core/renderer/user_resource_controller.cpp
+++ b/src/core/renderer/user_resource_controller.cpp
@@ -253,20 +253,22 @@ void UserResourceController::RenderFrameObserverHelper::DidClearWindowObject()
void UserResourceController::RenderFrameObserverHelper::DidFinishDocumentLoad()
{
- DCHECK(m_runner);
- base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
- FROM_HERE,
- base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), UserScriptData::AfterLoad),
- base::TimeDelta::FromMilliseconds(afterLoadTimeout));
+ // Don't run scripts if provisional load failed (DidFailProvisionalLoad
+ // called instead of DidCommitProvisionalLoad).
+ if (m_runner)
+ base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
+ FROM_HERE,
+ base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), UserScriptData::AfterLoad),
+ base::TimeDelta::FromMilliseconds(afterLoadTimeout));
}
void UserResourceController::RenderFrameObserverHelper::DidFinishLoad()
{
- DCHECK(m_runner);
- base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
- base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), UserScriptData::AfterLoad));
+ if (m_runner)
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE,
+ base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), UserScriptData::AfterLoad));
}
void UserResourceController::RenderFrameObserverHelper::FrameDetached()