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 WebCore { 13 14 PassRefPtrWillBeRawPtr<FetchEvent> FetchEvent::create() 15 { 16 return adoptRefWillBeNoop(new FetchEvent()); 17 } 18 19 PassRefPtrWillBeRawPtr<FetchEvent> FetchEvent::create(PassRefPtr<RespondWithObserver> observer, PassRefPtr<Request> request) 20 { 21 return adoptRefWillBeNoop(new FetchEvent(observer, request)); 22 } 23 24 Request* FetchEvent::request() const 25 { 26 return m_request.get(); 27 } 28 29 void FetchEvent::respondWith(ScriptState* scriptState, const ScriptValue& value) 30 { 31 m_observer->respondWith(scriptState, value); 32 } 33 34 const AtomicString& FetchEvent::interfaceName() const 35 { 36 return EventNames::FetchEvent; 37 } 38 39 FetchEvent::FetchEvent() 40 { 41 ScriptWrappable::init(this); 42 } 43 44 FetchEvent::FetchEvent(PassRefPtr<RespondWithObserver> observer, PassRefPtr<Request> request) 45 : Event(EventTypeNames::fetch, /*canBubble=*/false, /*cancelable=*/true) 46 , m_observer(observer) 47 , m_request(request) 48 { 49 ScriptWrappable::init(this); 50 } 51 52 void FetchEvent::trace(Visitor* visitor) 53 { 54 Event::trace(visitor); 55 } 56 57 } // namespace WebCore 58