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

Side by Side Diff: third_party/WebKit/Source/core/workers/DedicatedWorkerThread.h

Issue 2124693002: Worker: Fix broken GC logic on Dedicated Worker while DOMTimer is set (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 20 matching lines...) Expand all
31 #define DedicatedWorkerThread_h 31 #define DedicatedWorkerThread_h
32 32
33 #include "core/workers/WorkerThread.h" 33 #include "core/workers/WorkerThread.h"
34 #include <memory> 34 #include <memory>
35 35
36 namespace blink { 36 namespace blink {
37 37
38 class InProcessWorkerObjectProxy; 38 class InProcessWorkerObjectProxy;
39 class WorkerThreadStartupData; 39 class WorkerThreadStartupData;
40 40
41 class DedicatedWorkerThread final : public WorkerThread { 41 class CORE_EXPORT DedicatedWorkerThread : public WorkerThread {
42 public: 42 public:
43 static std::unique_ptr<DedicatedWorkerThread> create(PassRefPtr<WorkerLoader Proxy>, InProcessWorkerObjectProxy&, double timeOrigin); 43 static std::unique_ptr<DedicatedWorkerThread> create(PassRefPtr<WorkerLoader Proxy>, InProcessWorkerObjectProxy&, double timeOrigin);
44 ~DedicatedWorkerThread() override; 44 ~DedicatedWorkerThread() override;
45 45
46 WorkerBackingThread& workerBackingThread() override { return *m_workerBackin gThread; } 46 WorkerBackingThread& workerBackingThread() override { return *m_workerBackin gThread; }
47 ConsoleMessageStorage* consoleMessageStorage() final; 47 ConsoleMessageStorage* consoleMessageStorage() final;
48 InProcessWorkerObjectProxy& workerObjectProxy() const { return m_workerObjec tProxy; } 48 InProcessWorkerObjectProxy& workerObjectProxy() const { return m_workerObjec tProxy; }
49 49
50 protected: 50 protected:
51 DedicatedWorkerThread(PassRefPtr<WorkerLoaderProxy>, InProcessWorkerObjectPr oxy&, double timeOrigin);
51 WorkerOrWorkletGlobalScope* createWorkerGlobalScope(std::unique_ptr<WorkerTh readStartupData>) override; 52 WorkerOrWorkletGlobalScope* createWorkerGlobalScope(std::unique_ptr<WorkerTh readStartupData>) override;
52 void postInitialize() override; 53 void postInitialize() override;
53 54
54 private: 55 private:
55 DedicatedWorkerThread(PassRefPtr<WorkerLoaderProxy>, InProcessWorkerObjectPr oxy&, double timeOrigin); 56 friend class DedicatedWorkerThreadForTest;
56 57
57 std::unique_ptr<WorkerBackingThread> m_workerBackingThread; 58 std::unique_ptr<WorkerBackingThread> m_workerBackingThread;
58 InProcessWorkerObjectProxy& m_workerObjectProxy; 59 InProcessWorkerObjectProxy& m_workerObjectProxy;
59 double m_timeOrigin; 60 double m_timeOrigin;
60 }; 61 };
61 62
62 } // namespace blink 63 } // namespace blink
63 64
64 #endif // DedicatedWorkerThread_h 65 #endif // DedicatedWorkerThread_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698