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

Side by Side Diff: Source/core/workers/WorkerGlobalScope.cpp

Issue 230083003: Oilpan: Move WorkerClients to the managed heap and trace its supplements. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3 * Copyright (C) 2009, 2011 Google Inc. All Rights Reserved. 3 * Copyright (C) 2009, 2011 Google Inc. All Rights Reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 virtual void performTask(ExecutionContext *context) 67 virtual void performTask(ExecutionContext *context)
68 { 68 {
69 WorkerGlobalScope* workerGlobalScope = toWorkerGlobalScope(context); 69 WorkerGlobalScope* workerGlobalScope = toWorkerGlobalScope(context);
70 // Notify parent that this context is closed. Parent is responsible for calling WorkerThread::stop(). 70 // Notify parent that this context is closed. Parent is responsible for calling WorkerThread::stop().
71 workerGlobalScope->thread()->workerReportingProxy().workerGlobalScopeClo sed(); 71 workerGlobalScope->thread()->workerReportingProxy().workerGlobalScopeClo sed();
72 } 72 }
73 73
74 virtual bool isCleanupTask() const { return true; } 74 virtual bool isCleanupTask() const { return true; }
75 }; 75 };
76 76
77 WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, W orkerThread* thread, double timeOrigin, PassOwnPtr<WorkerClients> workerClients) 77 WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, W orkerThread* thread, double timeOrigin, PassOwnPtrWillBeRawPtr<WorkerClients> wo rkerClients)
78 : m_url(url) 78 : m_url(url)
79 , m_userAgent(userAgent) 79 , m_userAgent(userAgent)
80 , m_script(adoptPtr(new WorkerScriptController(*this))) 80 , m_script(adoptPtr(new WorkerScriptController(*this)))
81 , m_thread(thread) 81 , m_thread(thread)
82 , m_workerInspectorController(adoptPtr(new WorkerInspectorController(this))) 82 , m_workerInspectorController(adoptPtr(new WorkerInspectorController(this)))
83 , m_closing(false) 83 , m_closing(false)
84 , m_eventQueue(WorkerEventQueue::create(this)) 84 , m_eventQueue(WorkerEventQueue::create(this))
85 , m_workerClients(workerClients) 85 , m_workerClients(workerClients)
86 , m_timeOrigin(timeOrigin) 86 , m_timeOrigin(timeOrigin)
87 { 87 {
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 WorkerEventQueue* WorkerGlobalScope::eventQueue() const 305 WorkerEventQueue* WorkerGlobalScope::eventQueue() const
306 { 306 {
307 return m_eventQueue.get(); 307 return m_eventQueue.get();
308 } 308 }
309 309
310 void WorkerGlobalScope::trace(Visitor* visitor) 310 void WorkerGlobalScope::trace(Visitor* visitor)
311 { 311 {
312 visitor->trace(m_console); 312 visitor->trace(m_console);
313 visitor->trace(m_location); 313 visitor->trace(m_location);
314 visitor->trace(m_navigator); 314 visitor->trace(m_navigator);
315 #if ENABLE(OILPAN) 315 visitor->trace(m_workerClients);
haraken 2014/04/09 09:04:39 Is it OK to remove the flag?
zerny-chromium 2014/04/09 09:31:47 Yes, but I need to make it WillBeHeap... Thanks f
316 HeapSupplementable<WorkerGlobalScope>::trace(visitor); 316 HeapSupplementable<WorkerGlobalScope>::trace(visitor);
317 #endif
318 } 317 }
319 318
320 } // namespace WebCore 319 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698