Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2074)

Unified Diff: Source/modules/performance/WorkerGlobalScopePerformance.cpp

Issue 178663004: Oilpan: move WorkerGlobalScope to oilpan's heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Let WorkerThread hold a global scope persistent. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698