DescriptionCall WebTestProxyBase::CheckDone() in didStopLoading()
This CL is preparation for [1].
test_runner::WebTestProxyBase::CheckDone() is called from:
test_runner::WebTestProxyBase::DidFinishLoad()
test_runner::WebFrameTestProxy<>::didFinishLoad()
blink::FrameLoaderClientImpl::dispatchDidFinishLoad()
blink::FrameLoader::checkCompleted()
when shouldSendCompleteNotification() is true.
However, [1] calls FrameLoader::checkCompleted() asynchronously and thus makes
it slightly later.
In such cases, shouldSendCompleteNotification() can be false when
checkCompleted() is called because e.g. the corresponding Document is already
notified, CheckDone() is not called and thus layout tests are not terminated.
This CL calls CheckDone() also from:
test_runner::WebTestProxyBase::DidStopLoading()
test_runner::WebFrameTestProxy<>::didStopLoading()
blink::ProgressTracker::progressCompleted()
blink::FrameLoader::checkCompleted()
when shouldSendCompleteNotification() is true.
To do this, |WebLocalFrame*| parameter is added to
WebFrameClient::didStopLoading() and its overrides.
[1] https://codereview.chromium.org/1475863005/
TEST=fast/frames/frame-set-same-src.html
BUG=569511
Patch Set 1 #Patch Set 2 : Dummy #Patch Set 3 : Use !frame->parent() #Patch Set 4 : Another ad-hoc fix. #Patch Set 5 : Fix UaF of PS4. #Patch Set 6 : Call CheckDone also in DidStopLoading. #Patch Set 7 : Build break fix. #Patch Set 8 : Clean up #Patch Set 9 : Build break fix. #Patch Set 10 : Build fix. #Patch Set 11 : Rebase. #Patch Set 12 : Rebase. #Patch Set 13 : #Patch Set 14 : Rebase. #Patch Set 15 : Rebase. #Depends on Patchset: Dependent Patchsets: Messages
Total messages: 54 (30 generated)
|