Chromium Code Reviews| Index: content/shell/test_runner/web_frame_test_client.cc |
| diff --git a/content/shell/test_runner/web_frame_test_client.cc b/content/shell/test_runner/web_frame_test_client.cc |
| index ac85df245e22584c5628b14d64a80034f98aec02..32b663a5aea22b02c72a7c3cc8c133e43e146a2c 100644 |
| --- a/content/shell/test_runner/web_frame_test_client.cc |
| +++ b/content/shell/test_runner/web_frame_test_client.cc |
| @@ -648,10 +648,15 @@ void WebFrameTestClient::didAddMessageToConsole( |
| default: |
| level = "MESSAGE"; |
| } |
| - delegate_->PrintMessage(std::string("CONSOLE ") + level + ": "); |
| + std::string consoleMessage(std::string("CONSOLE ") + level + ": "); |
|
Peter Beverloo
2017/03/09 15:07:49
console_message
Dan Elphick
2017/03/09 21:18:30
Done.
|
| if (source_line) { |
| - delegate_->PrintMessage(base::StringPrintf("line %d: ", source_line)); |
| + consoleMessage += base::StringPrintf("line %d: ", source_line); |
| } |
| + // Console messages shouldn't be included in the expected output for |
| + // web-platform-tests because they may create non-determinism not |
| + // intended by the test author. They are still included in the stderr |
| + // output for debug purposes. |
| + bool dump_to_stderr = test_runner()->is_web_platform_tests_mode(); |
| if (!message.text.isEmpty()) { |
| std::string new_message; |
| new_message = message.text.utf8(); |
| @@ -660,9 +665,15 @@ void WebFrameTestClient::didAddMessageToConsole( |
| new_message = new_message.substr(0, file_protocol) + |
| URLSuitableForTestResult(new_message.substr(file_protocol)); |
| } |
| - delegate_->PrintMessage(new_message); |
| + consoleMessage += new_message; |
| + } |
| + consoleMessage += "\n"; |
| + |
| + if (dump_to_stderr) { |
| + delegate_->PrintLogMessage(consoleMessage); |
| + } else { |
| + delegate_->PrintMessage(consoleMessage); |
| } |
| - delegate_->PrintMessage(std::string("\n")); |
| } |
| blink::WebNavigationPolicy WebFrameTestClient::decidePolicyForNavigation( |