Chromium Code Reviews| Index: third_party/WebKit/Source/core/timing/Performance.cpp |
| diff --git a/third_party/WebKit/Source/core/timing/Performance.cpp b/third_party/WebKit/Source/core/timing/Performance.cpp |
| index 8b236f6a17d02988229c54ca22ea9e3099acbee9..73c3c83f8441c8e94085e60c4b39ac00e03df2bb 100644 |
| --- a/third_party/WebKit/Source/core/timing/Performance.cpp |
| +++ b/third_party/WebKit/Source/core/timing/Performance.cpp |
| @@ -33,6 +33,8 @@ |
| #include "core/dom/Document.h" |
| #include "core/frame/LocalFrame.h" |
| +#include "core/inspector/InspectedFrames.h" |
| +#include "core/inspector/InspectorWebPerfAgent.h" |
| #include "core/loader/DocumentLoader.h" |
| #include "core/timing/PerformanceTiming.h" |
| @@ -92,10 +94,28 @@ PerformanceTiming* Performance::timing() const |
| return m_timing.get(); |
| } |
| +void Performance::enableLongTaskInstrumentation() |
| +{ |
| + if (!hasObserverFor(PerformanceEntry::LongTask) || m_longTaskInspectorAgent) |
| + return; |
| + m_longTaskInspectorAgent = new InspectorWebPerfAgent( |
| + InspectedFrames::create(frame())); |
| + m_longTaskInspectorAgent->enable(); |
| +} |
| + |
| +void Performance::disableLongTaskInstrumentation() |
| +{ |
| + if (hasObserverFor(PerformanceEntry::LongTask) || !m_longTaskInspectorAgent) |
|
dgozman
2016/09/19 17:55:59
Since we check for enable conditions in both metho
panicker
2016/09/20 12:00:39
Done.
|
| + return; |
| + m_longTaskInspectorAgent->disable(); |
| + m_longTaskInspectorAgent = nullptr; |
| +} |
| + |
| DEFINE_TRACE(Performance) |
| { |
| visitor->trace(m_navigation); |
| visitor->trace(m_timing); |
| + visitor->trace(m_longTaskInspectorAgent); |
| DOMWindowProperty::trace(visitor); |
| PerformanceBase::trace(visitor); |
| } |