OLD | NEW |
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 FetchEvent_h | 5 #ifndef FetchEvent_h |
6 #define FetchEvent_h | 6 #define FetchEvent_h |
7 | 7 |
8 #include "modules/EventModules.h" | 8 #include "modules/EventModules.h" |
9 #include "modules/serviceworkers/Request.h" | 9 #include "modules/serviceworkers/Request.h" |
10 #include "modules/serviceworkers/RespondWithObserver.h" | 10 #include "modules/serviceworkers/RespondWithObserver.h" |
| 11 #include "platform/heap/Handle.h" |
11 | 12 |
12 namespace blink { | 13 namespace blink { |
13 | 14 |
14 class ExecutionContext; | 15 class ExecutionContext; |
15 class Request; | 16 class Request; |
16 class RespondWithObserver; | 17 class RespondWithObserver; |
17 | 18 |
18 // A fetch event is dispatched by the client to a service worker's script | 19 // A fetch event is dispatched by the client to a service worker's script |
19 // context. RespondWithObserver can be used to notify the client about the | 20 // context. RespondWithObserver can be used to notify the client about the |
20 // service worker's response. | 21 // service worker's response. |
21 class FetchEvent FINAL : public Event { | 22 class FetchEvent FINAL : public Event { |
22 DEFINE_WRAPPERTYPEINFO(); | 23 DEFINE_WRAPPERTYPEINFO(); |
23 public: | 24 public: |
24 static PassRefPtrWillBeRawPtr<FetchEvent> create(); | 25 static PassRefPtrWillBeRawPtr<FetchEvent> create(); |
25 static PassRefPtrWillBeRawPtr<FetchEvent> create(RespondWithObserver*, PassR
efPtrWillBeRawPtr<Request>); | 26 static PassRefPtrWillBeRawPtr<FetchEvent> create(RespondWithObserver*, Reque
st*); |
26 | 27 |
27 PassRefPtrWillBeRawPtr<Request> request() const; | 28 Request* request() const; |
28 bool isReload() const; | 29 bool isReload() const; |
29 | 30 |
30 void respondWith(ScriptState*, const ScriptValue&); | 31 void respondWith(ScriptState*, const ScriptValue&); |
31 | 32 |
32 virtual const AtomicString& interfaceName() const OVERRIDE; | 33 virtual const AtomicString& interfaceName() const OVERRIDE; |
33 | 34 |
34 void setIsReload(bool); | 35 void setIsReload(bool); |
35 | 36 |
36 virtual void trace(Visitor*) OVERRIDE; | 37 virtual void trace(Visitor*) OVERRIDE; |
37 | 38 |
38 protected: | 39 protected: |
39 FetchEvent(); | 40 FetchEvent(); |
40 FetchEvent(RespondWithObserver*, PassRefPtrWillBeRawPtr<Request>); | 41 FetchEvent(RespondWithObserver*, Request*); |
41 | 42 |
42 private: | 43 private: |
43 PersistentWillBeMember<RespondWithObserver> m_observer; | 44 PersistentWillBeMember<RespondWithObserver> m_observer; |
44 RefPtrWillBeMember<Request> m_request; | 45 PersistentWillBeMember<Request> m_request; |
45 bool m_isReload; | 46 bool m_isReload; |
46 }; | 47 }; |
47 | 48 |
48 } // namespace blink | 49 } // namespace blink |
49 | 50 |
50 #endif // FetchEvent_h | 51 #endif // FetchEvent_h |
OLD | NEW |