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 "core/events/ApplicationCacheErrorEvent.h" 7 8namespace blink { 9 10static const String& errorReasonToString(blink::WebApplicationCacheHost::ErrorReason reason) 11{ 12 DEFINE_STATIC_LOCAL(String, errorManifest, ("manifest")); 13 DEFINE_STATIC_LOCAL(String, errorSignature, ("signature")); 14 DEFINE_STATIC_LOCAL(String, errorResource, ("resource")); 15 DEFINE_STATIC_LOCAL(String, errorChanged, ("changed")); 16 DEFINE_STATIC_LOCAL(String, errorAbort, ("abort")); 17 DEFINE_STATIC_LOCAL(String, errorQuota, ("quota")); 18 DEFINE_STATIC_LOCAL(String, errorPolicy, ("policy")); 19 DEFINE_STATIC_LOCAL(String, errorUnknown, ("unknown")); 20 21 switch (reason) { 22 case blink::WebApplicationCacheHost::ManifestError: 23 return errorManifest; 24 case blink::WebApplicationCacheHost::SignatureError: 25 return errorSignature; 26 case blink::WebApplicationCacheHost::ResourceError: 27 return errorResource; 28 case blink::WebApplicationCacheHost::ChangedError: 29 return errorChanged; 30 case blink::WebApplicationCacheHost::AbortError: 31 return errorAbort; 32 case blink::WebApplicationCacheHost::QuotaError: 33 return errorQuota; 34 case blink::WebApplicationCacheHost::PolicyError: 35 return errorPolicy; 36 case blink::WebApplicationCacheHost::UnknownError: 37 return errorUnknown; 38 } 39 ASSERT_NOT_REACHED(); 40 return emptyString(); 41} 42 43ApplicationCacheErrorEventInit::ApplicationCacheErrorEventInit() 44 : status(0) 45{ 46} 47 48ApplicationCacheErrorEvent::ApplicationCacheErrorEvent() 49{ 50} 51 52ApplicationCacheErrorEvent::ApplicationCacheErrorEvent(blink::WebApplicationCacheHost::ErrorReason reason, const String& url, int status, const String& message) 53 : Event(EventTypeNames::error, false, false) 54 , m_reason(errorReasonToString(reason)) 55 , m_url(url) 56 , m_status(status) 57 , m_message(message) 58{ 59} 60 61ApplicationCacheErrorEvent::ApplicationCacheErrorEvent(const AtomicString& eventType, const ApplicationCacheErrorEventInit& initializer) 62 : Event(eventType, initializer) 63 , m_reason(initializer.reason) 64 , m_url(initializer.url) 65 , m_status(initializer.status) 66 , m_message(initializer.message) 67{ 68} 69 70ApplicationCacheErrorEvent::~ApplicationCacheErrorEvent() 71{ 72} 73 74void ApplicationCacheErrorEvent::trace(Visitor* visitor) 75{ 76 Event::trace(visitor); 77} 78 79} // namespace blink 80