Index: Source/modules/performance/WorkerGlobalScopePerformance.cpp |
diff --git a/Source/modules/performance/WorkerGlobalScopePerformance.cpp b/Source/modules/performance/WorkerGlobalScopePerformance.cpp |
index 1ecd5be35c3ea0087b287beb279a106a4b2eceb0..7f4242ca07d85c8ee4568d0913d76c206318f5a1 100644 |
--- a/Source/modules/performance/WorkerGlobalScopePerformance.cpp |
+++ b/Source/modules/performance/WorkerGlobalScopePerformance.cpp |
@@ -33,10 +33,31 @@ |
#include "modules/performance/WorkerGlobalScopePerformance.h" |
#include "core/workers/WorkerGlobalScope.h" |
+#include "heap/ThreadState.h" |
#include "modules/performance/WorkerPerformance.h" |
namespace WebCore { |
+#if 0 |
Mads Ager (chromium)
2014/02/26 08:00:36
Remove the code. :)
sof
2014/02/26 09:11:21
Oops; experimental sins removed.
|
+class WorkerPerformanceCleanupTask : public ThreadState::CleanupTask { |
+public: |
+ static PassOwnPtr<WorkerPerformanceCleanupTask> create(const RawPtr<WorkerGlobalScopePerformance>& p) |
+ { |
+ return adoptPtr(new WorkerPerformanceCleanupTask(p)); |
+ } |
+ |
+ virtual void preCleanup() |
+ { |
+ m_performance->detach(); |
+ } |
+ |
+private: |
+ explicit WorkerPerformanceCleanupTask(const RawPtr<WorkerGlobalScopePerformance>& p) : m_performance(p) { } |
+ |
+ RawPtr<WorkerGlobalScopePerformance> m_performance; |
+}; |
+#endif |
+ |
WorkerGlobalScopePerformance::WorkerGlobalScopePerformance() |
{ |
} |
@@ -55,7 +76,7 @@ WorkerGlobalScopePerformance& WorkerGlobalScopePerformance::from(WorkerGlobalSco |
WorkerGlobalScopePerformance* supplement = static_cast<WorkerGlobalScopePerformance*>(WorkerSupplement::from(context, supplementName())); |
if (!supplement) { |
supplement = new WorkerGlobalScopePerformance(); |
- provideTo(context, supplementName(), adoptPtr(supplement)); |
+ provideTo(context, supplementName(), adoptPtrWillBeNoop(supplement)); |
} |
return *supplement; |
} |
@@ -72,4 +93,9 @@ WorkerPerformance* WorkerGlobalScopePerformance::performance() |
return m_performance.get(); |
} |
+void WorkerGlobalScopePerformance::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_performance); |
+} |
+ |
} // namespace WebCore |