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

Side by Side Diff: Source/modules/serviceworkers/WaitUntilObserver.h

Issue 314953005: Add an ASSERT about cross-world wrapper leakage into ScriptValue (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 WaitUntilObserver_h 5 #ifndef WaitUntilObserver_h
6 #define WaitUntilObserver_h 6 #define WaitUntilObserver_h
7 7
8 #include "core/dom/ContextLifecycleObserver.h" 8 #include "core/dom/ContextLifecycleObserver.h"
9 #include "modules/serviceworkers/ServiceWorkerGlobalScopeClient.h" 9 #include "modules/serviceworkers/ServiceWorkerGlobalScopeClient.h"
10 #include "wtf/Forward.h" 10 #include "wtf/Forward.h"
11 #include "wtf/RefCounted.h" 11 #include "wtf/RefCounted.h"
12 12
13 namespace WebCore { 13 namespace WebCore {
14 14
15 class ExecutionContext; 15 class ExecutionContext;
16 class ScriptState;
16 class ScriptValue; 17 class ScriptValue;
17 18
18 // Created for each InstallPhaseEvent instance. 19 // Created for each InstallPhaseEvent instance.
19 class WaitUntilObserver FINAL : 20 class WaitUntilObserver FINAL :
20 public ContextLifecycleObserver, 21 public ContextLifecycleObserver,
21 public RefCounted<WaitUntilObserver> { 22 public RefCounted<WaitUntilObserver> {
22 public: 23 public:
23 enum EventType { 24 enum EventType {
24 Activate, 25 Activate,
25 Install 26 Install
26 }; 27 };
27 28
28 static PassRefPtr<WaitUntilObserver> create(ExecutionContext*, EventType, in t eventID); 29 static PassRefPtr<WaitUntilObserver> create(ExecutionContext*, EventType, in t eventID);
29 30
30 ~WaitUntilObserver(); 31 ~WaitUntilObserver();
31 32
32 // Must be called before and after dispatching the event. 33 // Must be called before and after dispatching the event.
33 void willDispatchEvent(); 34 void willDispatchEvent();
34 void didDispatchEvent(); 35 void didDispatchEvent();
35 36
36 // Observes the promise and delays calling the continuation until 37 // Observes the promise and delays calling the continuation until
37 // the given promise is resolved or rejected. 38 // the given promise is resolved or rejected.
38 void waitUntil(const ScriptValue&); 39 void waitUntil(ScriptState*, const ScriptValue&);
39 40
40 private: 41 private:
41 class ThenFunction; 42 class ThenFunction;
42 43
43 WaitUntilObserver(ExecutionContext*, EventType, int eventID); 44 WaitUntilObserver(ExecutionContext*, EventType, int eventID);
44 45
45 void reportError(const ScriptValue&); 46 void reportError(const ScriptValue&);
46 47
47 void incrementPendingActivity(); 48 void incrementPendingActivity();
48 void decrementPendingActivity(); 49 void decrementPendingActivity();
49 50
50 EventType m_type; 51 EventType m_type;
51 int m_eventID; 52 int m_eventID;
52 int m_pendingActivity; 53 int m_pendingActivity;
53 bool m_hasError; 54 bool m_hasError;
54 }; 55 };
55 56
56 } // namespace WebCore 57 } // namespace WebCore
57 58
58 #endif // WaitUntilObserver_h 59 #endif // WaitUntilObserver_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698