| Index: third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.h
|
| diff --git a/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.h b/third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.h
|
| similarity index 55%
|
| copy from third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.h
|
| copy to third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.h
|
| index d7213448bc955595bcb27967e6283ccf6fbcd12c..4e9472204e0190cbc8e5fb72434ab9c7bb9f45fa 100644
|
| --- a/third_party/WebKit/Source/core/workers/InProcessWorkerObjectProxy.h
|
| +++ b/third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.h
|
| @@ -28,13 +28,12 @@
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef InProcessWorkerObjectProxy_h
|
| -#define InProcessWorkerObjectProxy_h
|
| +#ifndef ThreadedWorkletObjectProxy_h
|
| +#define ThreadedWorkletObjectProxy_h
|
|
|
| #include "core/CoreExport.h"
|
| #include "core/dom/MessagePort.h"
|
| #include "core/workers/WorkerReportingProxy.h"
|
| -#include "platform/Timer.h"
|
| #include "platform/heap/Handle.h"
|
| #include "wtf/PassRefPtr.h"
|
| #include <memory>
|
| @@ -44,73 +43,47 @@ namespace blink {
|
| class ConsoleMessage;
|
| class ExecutionContext;
|
| class ExecutionContextTask;
|
| -class InProcessWorkerMessagingProxy;
|
| -class ParentFrameTaskRunners;
|
| -class WorkerGlobalScope;
|
| +class ThreadedWorkletMessagingProxy;
|
| class WorkerOrWorkletGlobalScope;
|
|
|
| // A proxy to talk to the worker object. This object is created on the
|
| // parent context thread (i.e. usually the main thread), passed on to
|
| -// the worker thread, and used to proxy messages to the
|
| -// InProcessWorkerMessagingProxy on the parent context thread.
|
| -//
|
| -// This also checks pending activities on WorkerGlobalScope and reports a result
|
| -// to the message proxy when an exponential backoff timer is fired.
|
| +// the worker thread, and used just to proxy messages to the
|
| +// ThreadedWorkletMessagingProxy on the parent context thread.
|
| //
|
| // Used only by in-process workers (DedicatedWorker and CompositorWorker.)
|
| -class CORE_EXPORT InProcessWorkerObjectProxy : public WorkerReportingProxy {
|
| - USING_FAST_MALLOC(InProcessWorkerObjectProxy);
|
| - WTF_MAKE_NONCOPYABLE(InProcessWorkerObjectProxy);
|
| +class CORE_EXPORT ThreadedWorkletObjectProxy : public WorkerReportingProxy {
|
| + USING_FAST_MALLOC(ThreadedWorkletObjectProxy);
|
| + WTF_MAKE_NONCOPYABLE(ThreadedWorkletObjectProxy);
|
| +
|
| public:
|
| - static std::unique_ptr<InProcessWorkerObjectProxy> create(InProcessWorkerMessagingProxy*);
|
| - ~InProcessWorkerObjectProxy() override;
|
| + static std::unique_ptr<ThreadedWorkletObjectProxy> create(ThreadedWorkletMessagingProxy*);
|
| + ~ThreadedWorkletObjectProxy() override {}
|
|
|
| - void postMessageToWorkerObject(PassRefPtr<SerializedScriptValue>, std::unique_ptr<MessagePortChannelArray>);
|
| void postTaskToMainExecutionContext(std::unique_ptr<ExecutionContextTask>);
|
| - void confirmMessageFromWorkerObject();
|
| - void startPendingActivityTimer();
|
| + // void confirmMessageFromWorkerObject(bool hasPendingActivity);
|
| + void reportPendingActivity(bool hasPendingActivity);
|
|
|
| // WorkerReportingProxy overrides.
|
| - void reportException(const String& errorMessage, std::unique_ptr<SourceLocation>, int exceptionId) override;
|
| + void reportException(const String& errorMessage, std::unique_ptr<SourceLocation>, int exceptionId) override {}
|
| void reportConsoleMessage(MessageSource, MessageLevel, const String& message, SourceLocation*) override;
|
| void postMessageToPageInspector(const String&) override;
|
| - void didEvaluateWorkerScript(bool success) override;
|
| - void workerGlobalScopeStarted(WorkerOrWorkletGlobalScope*) override;
|
| + void didEvaluateWorkerScript(bool success) override {}
|
| + void workerGlobalScopeStarted(WorkerOrWorkletGlobalScope*) override {}
|
| void workerGlobalScopeClosed() override;
|
| void workerThreadTerminated() override;
|
| - void willDestroyWorkerGlobalScope() override;
|
| + void willDestroyWorkerGlobalScope() override {}
|
|
|
| protected:
|
| - InProcessWorkerObjectProxy(InProcessWorkerMessagingProxy*);
|
| - virtual ExecutionContext* getExecutionContext();
|
| + ThreadedWorkletObjectProxy(ThreadedWorkletMessagingProxy*);
|
|
|
| private:
|
| - friend class InProcessWorkerMessagingProxyForTest;
|
| -
|
| - void checkPendingActivity(TimerBase*);
|
| -
|
| - // Returns the parent frame's task runners.
|
| - ParentFrameTaskRunners* getParentFrameTaskRunners();
|
| + ExecutionContext* getExecutionContext() const;
|
|
|
| // This object always outlives this proxy.
|
| - InProcessWorkerMessagingProxy* m_messagingProxy;
|
| -
|
| - // Used for checking pending activities on the worker global scope. This is
|
| - // cancelled when the worker global scope is destroyed.
|
| - std::unique_ptr<Timer<InProcessWorkerObjectProxy>> m_timer;
|
| -
|
| - // The next interval duration of the timer. This is initially set to
|
| - // kDefaultIntervalInSec and exponentially increased up to
|
| - // |m_maxIntervalInSec|.
|
| - double m_nextIntervalInSec;
|
| -
|
| - // The max interval duration of the timer. This is usually kMaxIntervalInSec
|
| - // but made as a member variable for testing.
|
| - double m_maxIntervalInSec;
|
| -
|
| - Persistent<WorkerGlobalScope> m_workerGlobalScope;
|
| + ThreadedWorkletMessagingProxy* m_messagingProxy;
|
| };
|
|
|
| } // namespace blink
|
|
|
| -#endif // InProcessWorkerObjectProxy_h
|
| +#endif // ThreadedWorkletObjectProxy_h
|
|
|