Chromium Code Reviews| Index: src/tracing/tracing-category-observer.cc |
| diff --git a/src/tracing/tracing-category-observer.cc b/src/tracing/tracing-category-observer.cc |
| index f9315b4ce456beb5d55b0b02c6ca06d00e6b006e..90badee4fa5f9cc4d628406e51b6d5c3494e1046 100644 |
| --- a/src/tracing/tracing-category-observer.cc |
| +++ b/src/tracing/tracing-category-observer.cc |
| @@ -12,18 +12,21 @@ |
| namespace v8 { |
| namespace tracing { |
| -std::unique_ptr<TracingCategoryObserver> TracingCategoryObserver::Create() { |
| - return std::unique_ptr<TracingCategoryObserver>( |
| - new TracingCategoryObserverImpl()); |
| -} |
| +std::unique_ptr<TracingCategoryObserver> g_tracing_category_observer; |
|
alph
2016/11/02 20:18:23
nit: You can make it a static field inside the cla
lpy
2016/11/02 21:52:27
Done.
|
| -TracingCategoryObserverImpl::TracingCategoryObserverImpl() {} |
| +void TracingCategoryObserver::SetUp() { |
| + g_tracing_category_observer.reset(new TracingCategoryObserver()); |
| + v8::internal::V8::GetCurrentPlatform()->AddTraceStateObserver( |
| + g_tracing_category_observer.get()); |
| +} |
| -TracingCategoryObserverImpl::~TracingCategoryObserverImpl() { |
| - OnTraceDisabled(); |
| +void TracingCategoryObserver::TearDown() { |
| + v8::internal::V8::GetCurrentPlatform()->RemoveTraceStateObserver( |
| + g_tracing_category_observer.get()); |
| + g_tracing_category_observer.reset(); |
| } |
| -void TracingCategoryObserverImpl::OnTraceEnabled() { |
| +void TracingCategoryObserver::OnTraceEnabled() { |
| bool enabled = false; |
| TRACE_EVENT_CATEGORY_GROUP_ENABLED( |
| TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats"), &enabled); |
| @@ -32,7 +35,7 @@ void TracingCategoryObserverImpl::OnTraceEnabled() { |
| } |
| } |
| -void TracingCategoryObserverImpl::OnTraceDisabled() { |
| +void TracingCategoryObserver::OnTraceDisabled() { |
| v8::internal::FLAG_runtime_stats &= ~ENABLED_BY_TRACING; |
| } |