Chromium Code Reviews| Index: third_party/WebKit/Source/core/inspector/InspectorLogAgent.cpp |
| diff --git a/third_party/WebKit/Source/core/inspector/InspectorLogAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorLogAgent.cpp |
| index 9e3e6f74d40e1cfb49488021f5fdd30b73864c01..51982a5cb11f8f7833a7a4ec409ef2b6d2c86997 100644 |
| --- a/third_party/WebKit/Source/core/inspector/InspectorLogAgent.cpp |
| +++ b/third_party/WebKit/Source/core/inspector/InspectorLogAgent.cpp |
| @@ -5,6 +5,7 @@ |
| #include "core/inspector/InspectorLogAgent.h" |
| #include "bindings/core/v8/SourceLocation.h" |
| +#include "core/frame/PerformanceMonitor.h" |
| #include "core/inspector/ConsoleMessage.h" |
| #include "core/inspector/ConsoleMessageStorage.h" |
| #include "core/inspector/IdentifiersFactory.h" |
| @@ -13,6 +14,7 @@ namespace blink { |
| namespace LogAgentState { |
| static const char logEnabled[] = "logEnabled"; |
| +static const char logViolationsEnabled[] = "logViolationsEnabled"; |
| } |
| namespace { |
| @@ -40,6 +42,8 @@ String messageSourceValue(MessageSource source) { |
| return protocol::Log::LogEntry::SourceEnum::Deprecation; |
| case WorkerMessageSource: |
| return protocol::Log::LogEntry::SourceEnum::Worker; |
| + case ViolationMessageSource: |
| + return protocol::Log::LogEntry::SourceEnum::Violation; |
| default: |
| return protocol::Log::LogEntry::SourceEnum::Other; |
| } |
| @@ -63,13 +67,17 @@ String messageLevelValue(MessageLevel level) { |
| } // namespace |
| -InspectorLogAgent::InspectorLogAgent(ConsoleMessageStorage* storage) |
| - : m_enabled(false), m_storage(storage) {} |
| +InspectorLogAgent::InspectorLogAgent(ConsoleMessageStorage* storage, |
| + PerformanceMonitor* performanceMonitor) |
| + : m_enabled(false), |
| + m_storage(storage), |
| + m_performanceMonitor(performanceMonitor) {} |
| InspectorLogAgent::~InspectorLogAgent() {} |
| DEFINE_TRACE(InspectorLogAgent) { |
| visitor->trace(m_storage); |
| + visitor->trace(m_performanceMonitor); |
| InspectorBaseAgent::trace(visitor); |
| } |
| @@ -77,6 +85,8 @@ void InspectorLogAgent::restore() { |
| if (!m_state->booleanProperty(LogAgentState::logEnabled, false)) |
| return; |
| enable(); |
| + if (m_state->booleanProperty(LogAgentState::logViolationsEnabled, false)) |
| + setReportViolationsEnabled(true); |
| } |
| void InspectorLogAgent::consoleMessageAdded(ConsoleMessage* message) { |
| @@ -146,4 +156,13 @@ Response InspectorLogAgent::clear() { |
| return Response::OK(); |
| } |
| +Response InspectorLogAgent::setReportViolationsEnabled(bool enabled) { |
| + if (!m_enabled) |
| + return Response::Error("Log is not enabled."); |
|
caseq
2016/11/05 00:14:35
no terminating punctuation in error messages.
pfeldman
2016/11/05 00:16:02
Done.
|
| + m_state->setBoolean(LogAgentState::logViolationsEnabled, enabled); |
| + if (m_performanceMonitor) |
| + m_performanceMonitor->setLoggingEnabled(enabled); |
| + return Response::OK(); |
| +} |
| + |
| } // namespace blink |