Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / serviceworkers / FetchEvent.cpp
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
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "FetchEvent.h"
7
8 #include "modules/serviceworkers/Request.h"
9 #include "modules/serviceworkers/ServiceWorkerGlobalScope.h"
10 #include "wtf/RefPtr.h"
11
12 namespace blink {
13
14 PassRefPtrWillBeRawPtr<FetchEvent> FetchEvent::create()
15 {
16     return adoptRefWillBeNoop(new FetchEvent());
17 }
18
19 PassRefPtrWillBeRawPtr<FetchEvent> FetchEvent::create(PassRefPtr<RespondWithObserver> observer, PassRefPtrWillBeRawPtr<Request> request)
20 {
21     return adoptRefWillBeNoop(new FetchEvent(observer, request));
22 }
23
24 PassRefPtrWillBeRawPtr<Request> FetchEvent::request() const
25 {
26     return m_request;
27 }
28
29 bool FetchEvent::isReload() const
30 {
31     return m_isReload;
32 }
33
34 void FetchEvent::respondWith(ScriptState* scriptState, const ScriptValue& value)
35 {
36     m_observer->respondWith(scriptState, value);
37 }
38
39 const AtomicString& FetchEvent::interfaceName() const
40 {
41     return EventNames::FetchEvent;
42 }
43
44 void FetchEvent::setIsReload(bool isReload)
45 {
46     m_isReload = isReload;
47 }
48
49 FetchEvent::FetchEvent()
50     : m_isReload(false)
51 {
52     ScriptWrappable::init(this);
53 }
54
55 FetchEvent::FetchEvent(PassRefPtr<RespondWithObserver> observer, PassRefPtrWillBeRawPtr<Request> request)
56     : Event(EventTypeNames::fetch, /*canBubble=*/false, /*cancelable=*/true)
57     , m_observer(observer)
58     , m_request(request)
59     , m_isReload(false)
60 {
61     ScriptWrappable::init(this);
62 }
63
64 void FetchEvent::trace(Visitor* visitor)
65 {
66     visitor->trace(m_request);
67     Event::trace(visitor);
68 }
69
70 } // namespace blink