Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Unified Diff: chrome/browser/media/webrtc/webrtc_browsertest_base.cc

Issue 2034393004: Allow multiple logging::LogMessage{Handler,Listener}s Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
« no previous file with comments | « chrome/browser/media/webrtc/webrtc_browsertest_base.h ('k') | chrome/browser/safe_browsing/safe_browsing_database_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698