Index: content/shell/renderer/layout_test/blink_test_runner.cc |
diff --git a/content/shell/renderer/layout_test/blink_test_runner.cc b/content/shell/renderer/layout_test/blink_test_runner.cc |
index d9bdf7ef78feee2a9005ee237b5c86aec5ea2f52..22b5710d9c5abbdb8676e1cbd17e1e41986385e4 100644 |
--- a/content/shell/renderer/layout_test/blink_test_runner.cc |
+++ b/content/shell/renderer/layout_test/blink_test_runner.cc |
@@ -1032,6 +1032,14 @@ void BlinkTestRunner::OnReset() { |
void BlinkTestRunner::OnTestFinishedInSecondaryRenderer() { |
DCHECK(is_main_window_ && render_view()->GetMainRenderFrame()); |
+ |
+ // Avoid a situation where TestFinished is called twice, because |
+ // of a racey test finish in 2 secondary renderers. |
+ test_runner::WebTestInterfaces* interfaces = |
+ LayoutTestRenderThreadObserver::GetInstance()->test_interfaces(); |
+ if (!interfaces->TestIsRunning()) |
+ return; |
+ |
TestFinished(); |
} |