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

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

Issue 326853002: Revert of 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 RespondWithObserver_h 5 #ifndef RespondWithObserver_h
6 #define RespondWithObserver_h 6 #define RespondWithObserver_h
7 7
8 #include "core/dom/ContextLifecycleObserver.h" 8 #include "core/dom/ContextLifecycleObserver.h"
9 #include "wtf/Forward.h" 9 #include "wtf/Forward.h"
10 #include "wtf/RefCounted.h" 10 #include "wtf/RefCounted.h"
11 11
12 namespace WebCore { 12 namespace WebCore {
13 13
14 class ExecutionContext; 14 class ExecutionContext;
15 class Response; 15 class Response;
16 class ScriptState;
17 class ScriptValue; 16 class ScriptValue;
18 17
19 // This class observes the service worker's handling of a FetchEvent and 18 // This class observes the service worker's handling of a FetchEvent and
20 // notifies the client. 19 // notifies the client.
21 class RespondWithObserver FINAL : public ContextLifecycleObserver, public RefCou nted<RespondWithObserver> { 20 class RespondWithObserver FINAL : public ContextLifecycleObserver, public RefCou nted<RespondWithObserver> {
22 public: 21 public:
23 static PassRefPtr<RespondWithObserver> create(ExecutionContext*, int eventID ); 22 static PassRefPtr<RespondWithObserver> create(ExecutionContext*, int eventID );
24 ~RespondWithObserver(); 23 ~RespondWithObserver();
25 24
26 virtual void contextDestroyed() OVERRIDE; 25 virtual void contextDestroyed() OVERRIDE;
27 26
28 void didDispatchEvent(); 27 void didDispatchEvent();
29 28
30 // Observes the promise and delays calling didHandleFetchEvent() until the 29 // Observes the promise and delays calling didHandleFetchEvent() until the
31 // given promise is resolved or rejected. 30 // given promise is resolved or rejected.
32 void respondWith(ScriptState*, const ScriptValue&); 31 void respondWith(const ScriptValue&);
33 32
34 void responseWasRejected(); 33 void responseWasRejected();
35 void responseWasFulfilled(const ScriptValue&); 34 void responseWasFulfilled(const ScriptValue&);
36 35
37 private: 36 private:
38 class ThenFunction; 37 class ThenFunction;
39 38
40 RespondWithObserver(ExecutionContext*, int eventID); 39 RespondWithObserver(ExecutionContext*, int eventID);
41 40
42 // Sends a response back to the client. The null response means to fallback 41 // Sends a response back to the client. The null response means to fallback
43 // to native. 42 // to native.
44 void sendResponse(PassRefPtr<Response>); 43 void sendResponse(PassRefPtr<Response>);
45 44
46 int m_eventID; 45 int m_eventID;
47 46
48 enum State { Initial, Pending, Done }; 47 enum State { Initial, Pending, Done };
49 State m_state; 48 State m_state;
50 }; 49 };
51 50
52 } // namespace WebCore 51 } // namespace WebCore
53 52
54 #endif // RespondWithObserver_h 53 #endif // RespondWithObserver_h
OLDNEW
« no previous file with comments | « Source/modules/serviceworkers/InstallPhaseEvent.idl ('k') | Source/modules/serviceworkers/RespondWithObserver.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698