Index: base/debug/trace_event_impl.cc |
diff --git a/base/debug/trace_event_impl.cc b/base/debug/trace_event_impl.cc |
index 27195f90520d17e5ae70c49677b6d833fc5e6da2..df009dde14085493cbcb040a7b3144c9aeaf1f80 100644 |
--- a/base/debug/trace_event_impl.cc |
+++ b/base/debug/trace_event_impl.cc |
@@ -1049,6 +1049,14 @@ void TraceLog::RemoveEnabledStateObserver(EnabledStateObserver* listener) { |
enabled_state_observer_list_.erase(it); |
} |
+bool TraceLog::HasEnabledStateObserver(EnabledStateObserver* listener) const { |
+ std::vector<EnabledStateObserver*>::const_iterator it = |
+ std::find(enabled_state_observer_list_.begin(), |
+ enabled_state_observer_list_.end(), |
+ listener); |
+ return it != enabled_state_observer_list_.end(); |
+} |
+ |
float TraceLog::GetBufferPercentFull() const { |
return (float)((double)logged_events_->Size()/(double)kTraceEventBufferSize); |
} |
@@ -1073,6 +1081,9 @@ void TraceLog::SetEventCallback(EventCallback cb) { |
}; |
void TraceLog::Flush(const TraceLog::OutputCallback& cb) { |
+ // Ignore memory allocations from here down. |
+ INTERNAL_TRACE_MEMORY(TRACE_DISABLED_BY_DEFAULT("memory"), |
+ TRACE_MEMORY_IGNORE); |
scoped_ptr<TraceBuffer> previous_logged_events; |
{ |
AutoLock lock(lock_); |