Index: chrome/browser/media/webrtc/webrtc_browsertest_base.cc |
diff --git a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc |
index d232889106d41036fd8bd191f11b1aa6336317b1..b1693e437fb572ccfc789c406cf4293d11479885 100644 |
--- a/chrome/browser/media/webrtc/webrtc_browsertest_base.cc |
+++ b/chrome/browser/media/webrtc/webrtc_browsertest_base.cc |
@@ -67,27 +67,6 @@ namespace { |
base::LazyInstance<bool> hit_javascript_errors_ = |
LAZY_INSTANCE_INITIALIZER; |
-// Intercepts all log messages. We always attach this handler but only look at |
-// the results if the test requests so. Note that this will only work if the |
-// WebrtcTestBase-inheriting test cases do not run in parallel (if they did they |
-// would race to look at the log, which is global to all tests). |
-bool JavascriptErrorDetectingLogHandler(int severity, |
- const char* file, |
- int line, |
- size_t message_start, |
- const std::string& str) { |
- if (file == NULL || std::string("CONSOLE") != file) |
- return false; |
- |
- bool contains_uncaught = str.find("\"Uncaught ") != std::string::npos; |
- if (severity == logging::LOG_ERROR || |
- (severity == logging::LOG_INFO && contains_uncaught)) { |
- hit_javascript_errors_.Get() = true; |
- } |
- |
- return false; |
-} |
- |
// PermissionRequestObserver --------------------------------------------------- |
// Used to observe the creation of permission prompt without responding. |
@@ -146,10 +125,24 @@ std::vector<std::string> JsonArrayToVectorOfStrings( |
} // namespace |
+// Intercepts all log messages. We always attach this listener but only look at |
+// the results if the test requests so. |
+void JavascriptErrorDetectingListener::OnMessage(int severity, |
+ const char* file, |
+ int line, |
+ size_t message_start, |
+ const std::string& str) { |
+ if (file == NULL || std::string("CONSOLE") != file) |
+ return; |
+ |
+ bool contains_uncaught = str.find("\"Uncaught ") != std::string::npos; |
+ if (severity == logging::LOG_ERROR || |
+ (severity == logging::LOG_INFO && contains_uncaught)) { |
+ hit_javascript_errors_.Get() = true; |
+ } |
+} |
+ |
WebRtcTestBase::WebRtcTestBase(): detect_errors_in_javascript_(false) { |
- // The handler gets set for each test method, but that's fine since this |
- // set operation is idempotent. |
- logging::SetLogMessageHandler(&JavascriptErrorDetectingLogHandler); |
hit_javascript_errors_.Get() = false; |
EnablePixelOutput(); |