OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef Worklet_h | 5 #ifndef Worklet_h |
6 #define Worklet_h | 6 #define Worklet_h |
7 | 7 |
8 #include "bindings/core/v8/ScriptPromise.h" | 8 #include "bindings/core/v8/ScriptPromise.h" |
9 #include "core/CoreExport.h" | 9 #include "core/CoreExport.h" |
10 #include "core/dom/ContextLifecycleObserver.h" | 10 #include "core/dom/ContextLifecycleObserver.h" |
11 #include "core/workers/WorkletGlobalScopeProxy.h" | 11 #include "core/workers/WorkletGlobalScopeProxy.h" |
| 12 #include "core/workers/WorkletModuleResponsesMap.h" |
12 #include "core/workers/WorkletOptions.h" | 13 #include "core/workers/WorkletOptions.h" |
13 #include "platform/bindings/ScriptWrappable.h" | 14 #include "platform/bindings/ScriptWrappable.h" |
14 #include "platform/heap/Handle.h" | 15 #include "platform/heap/Handle.h" |
15 | 16 |
16 namespace blink { | 17 namespace blink { |
17 | 18 |
18 class LocalFrame; | 19 class LocalFrame; |
19 class ScriptPromiseResolver; | 20 class ScriptPromiseResolver; |
20 | 21 |
21 // This is the base implementation of Worklet interface defined in the spec: | 22 // This is the base implementation of Worklet interface defined in the spec: |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 // necessary. CreateGlobalScope() will be called in that case. Each worklet | 65 // necessary. CreateGlobalScope() will be called in that case. Each worklet |
65 // can define how to pool global scopes here. | 66 // can define how to pool global scopes here. |
66 virtual bool NeedsToCreateGlobalScope() = 0; | 67 virtual bool NeedsToCreateGlobalScope() = 0; |
67 virtual WorkletGlobalScopeProxy* CreateGlobalScope() = 0; | 68 virtual WorkletGlobalScopeProxy* CreateGlobalScope() = 0; |
68 | 69 |
69 // "A Worklet has a list of the worklet's WorkletGlobalScopes. Initially this | 70 // "A Worklet has a list of the worklet's WorkletGlobalScopes. Initially this |
70 // list is empty; it is populated when the user agent chooses to create its | 71 // list is empty; it is populated when the user agent chooses to create its |
71 // WorkletGlobalScope." | 72 // WorkletGlobalScope." |
72 // https://drafts.css-houdini.org/worklets/#worklet-section | 73 // https://drafts.css-houdini.org/worklets/#worklet-section |
73 HeapHashSet<Member<WorkletGlobalScopeProxy>> proxies_; | 74 HeapHashSet<Member<WorkletGlobalScopeProxy>> proxies_; |
| 75 |
| 76 // "A Worklet has a module responses map. This is a ordered map of module URLs |
| 77 // to values that are a fetch responses. The map's entries are ordered based |
| 78 // on their insertion order. Access to this map should be thread-safe." |
| 79 // https://drafts.css-houdini.org/worklets/#module-responses-map |
| 80 Member<WorkletModuleResponsesMap> module_responses_map_; |
74 }; | 81 }; |
75 | 82 |
76 } // namespace blink | 83 } // namespace blink |
77 | 84 |
78 #endif // Worklet_h | 85 #endif // Worklet_h |
OLD | NEW |