Home | History | Annotate | Download | only in serviceworkers
      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