| Index: components/test_runner/test_runner.cc
|
| diff --git a/components/test_runner/test_runner.cc b/components/test_runner/test_runner.cc
|
| index a410ad41192bcebe663e548c2f35664a0ac67662..e75b5185658c48144582b93fbe12922902b05a0b 100644
|
| --- a/components/test_runner/test_runner.cc
|
| +++ b/components/test_runner/test_runner.cc
|
| @@ -1555,6 +1555,7 @@ TestRunner::TestRunner(TestInterfaces* interfaces)
|
| main_view_(nullptr),
|
| mock_content_settings_client_(
|
| new MockContentSettingsClient(&layout_test_runtime_flags_)),
|
| + is_navigating_(false),
|
| credential_manager_client_(new MockCredentialManagerClient),
|
| mock_screen_orientation_client_(new MockScreenOrientationClient),
|
| spellcheck_(new SpellCheckClient(this)),
|
| @@ -1586,6 +1587,7 @@ void TestRunner::SetMainView(WebView* web_view) {
|
|
|
| void TestRunner::Reset() {
|
| is_web_platform_tests_mode_ = false;
|
| + is_navigating_ = false;
|
| top_loading_frame_ = nullptr;
|
| layout_test_runtime_flags_.Reset();
|
| mock_screen_orientation_client_->ResetData();
|
| @@ -1837,6 +1839,7 @@ bool TestRunner::IsFramePartOfMainTestWindow(blink::WebFrame* frame) const {
|
| }
|
|
|
| bool TestRunner::tryToSetTopLoadingFrame(WebFrame* frame) {
|
| + is_navigating_ = false;
|
| if (!IsFramePartOfMainTestWindow(frame))
|
| return false;
|
|
|
| @@ -1850,6 +1853,7 @@ bool TestRunner::tryToSetTopLoadingFrame(WebFrame* frame) {
|
| }
|
|
|
| bool TestRunner::tryToClearTopLoadingFrame(WebFrame* frame) {
|
| + is_navigating_ = false;
|
| if (!IsFramePartOfMainTestWindow(frame))
|
| return false;
|
|
|
| @@ -2735,8 +2739,9 @@ void TestRunner::CheckResponseMimeType() {
|
|
|
| void TestRunner::NotifyDone() {
|
| if (layout_test_runtime_flags_.wait_until_done() && !topLoadingFrame() &&
|
| - work_queue_.is_empty())
|
| + !is_navigating_ && work_queue_.is_empty()) {
|
| delegate_->TestFinished();
|
| + }
|
| layout_test_runtime_flags_.set_wait_until_done(false);
|
| OnLayoutTestRuntimeFlagsChanged();
|
| }
|
|
|