Index: third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScopeProxy.h |
diff --git a/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScopeProxy.h b/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScopeProxy.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3e061a558eb90d852efd49b8e04129c03a19fe83 |
--- /dev/null |
+++ b/third_party/WebKit/Source/modules/csspaint/PaintWorkletGlobalScopeProxy.h |
@@ -0,0 +1,41 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef PaintWorkletGlobalScopeProxy_h |
+#define PaintWorkletGlobalScopeProxy_h |
+ |
+#include "core/workers/WorkletGlobalScopeProxy.h" |
+ |
+#include "modules/ModulesExport.h" |
+#include "modules/csspaint/PaintWorkletGlobalScope.h" |
+ |
+namespace blink { |
+ |
+class LocalFrame; |
+ |
+class MODULES_EXPORT PaintWorkletGlobalScopeProxy |
+ : public WorkletGlobalScopeProxy { |
+ public: |
+ static std::unique_ptr<PaintWorkletGlobalScopeProxy> Create(LocalFrame*); |
+ static PaintWorkletGlobalScopeProxy* From(WorkletGlobalScopeProxy*); |
+ |
+ virtual ~PaintWorkletGlobalScopeProxy() = default; |
+ |
+ // Implements WorkletGlobalScopeProxy. |
+ void FetchAndInvokeScript(const KURL& module_url_record, |
+ WorkletPendingTasks*) override; |
+ void EvaluateScript(const ScriptSourceCode&) override; |
+ void TerminateWorkletGlobalScope() override; |
+ |
+ PaintWorkletGlobalScope* global_scope() const { return global_scope_.Get(); } |
+ |
+ private: |
+ explicit PaintWorkletGlobalScopeProxy(LocalFrame*); |
+ |
+ Persistent<PaintWorkletGlobalScope> global_scope_; |
+}; |
+ |
+} // namespace blink |
+ |
+#endif // PaintWorkletGlobalScopeProxy_h |