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

Unified Diff: chrome/test/base/web_ui_browser_test.cc

Issue 2034393004: Allow multiple logging::LogMessage{Handler,Listener}s Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments, deque for listeners, reentrant test Created 4 years, 4 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/test/base/web_ui_browser_test.cc
diff --git a/chrome/test/base/web_ui_browser_test.cc b/chrome/test/base/web_ui_browser_test.cc
index 5dd111115f0265efbb10e82bce7cccf93195bc04..f20172d9c80dbd2ed58e0fdbd71f112a4ab57abd 100644
--- a/chrome/test/base/web_ui_browser_test.cc
+++ b/chrome/test/base/web_ui_browser_test.cc
@@ -52,20 +52,6 @@ namespace {
base::LazyInstance<std::vector<std::string> > error_messages_ =
LAZY_INSTANCE_INITIALIZER;
-// Intercepts all log messages.
-bool LogHandler(int severity,
- const char* file,
- int line,
- size_t message_start,
- const std::string& str) {
- if (severity == logging::LOG_ERROR && file &&
- std::string("CONSOLE") == file) {
- error_messages_.Get().push_back(str);
- }
-
- return false;
-}
-
class WebUIJsInjectionReadyObserver : public content::WebContentsObserver {
public:
WebUIJsInjectionReadyObserver(content::WebContents* web_contents,
@@ -90,6 +76,18 @@ class WebUIJsInjectionReadyObserver : public content::WebContentsObserver {
} // namespace
+// Intercepts all log messages.
+void WebUILogMessageListener::OnMessage(int severity,
+ const char* file,
+ int line,
+ size_t message_start,
+ const std::string& str) {
+ if (severity == logging::LOG_ERROR && file &&
+ std::string("CONSOLE") == file) {
+ error_messages_.Get().push_back(str);
+ }
+}
+
WebUIBrowserTest::~WebUIBrowserTest() {
}
@@ -372,8 +370,6 @@ base::LazyInstance<MockWebUIProvider> mock_provider_ =
void WebUIBrowserTest::SetUpOnMainThread() {
JavaScriptBrowserTest::SetUpOnMainThread();
- logging::SetLogMessageHandler(&LogHandler);
-
AddLibrary(base::FilePath(kA11yAuditLibraryJSPath));
content::WebUIControllerFactory::UnregisterFactoryForTesting(
@@ -390,8 +386,6 @@ void WebUIBrowserTest::SetUpOnMainThread() {
}
void WebUIBrowserTest::TearDownOnMainThread() {
- logging::SetLogMessageHandler(NULL);
-
test_factory_->RemoveFactoryOverride(GURL(kDummyURL).host());
content::WebUIControllerFactory::UnregisterFactoryForTesting(
test_factory_.get());

Powered by Google App Engine
This is Rietveld 408576698