Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / events / ApplicationCacheErrorEvent.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 "core/events/ApplicationCacheErrorEvent.h"
7
8 namespace blink {
9
10 static 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
43 ApplicationCacheErrorEventInit::ApplicationCacheErrorEventInit()
44     : status(0)
45 {
46 }
47
48 ApplicationCacheErrorEvent::ApplicationCacheErrorEvent()
49 {
50     ScriptWrappable::init(this);
51 }
52
53 ApplicationCacheErrorEvent::ApplicationCacheErrorEvent(blink::WebApplicationCacheHost::ErrorReason reason, const String& url, int status, const String& message)
54     : Event(EventTypeNames::error, false, false)
55     , m_reason(errorReasonToString(reason))
56     , m_url(url)
57     , m_status(status)
58     , m_message(message)
59 {
60     ScriptWrappable::init(this);
61 }
62
63 ApplicationCacheErrorEvent::ApplicationCacheErrorEvent(const AtomicString& eventType, const ApplicationCacheErrorEventInit& initializer)
64     : Event(eventType, initializer)
65     , m_reason(initializer.reason)
66     , m_url(initializer.url)
67     , m_status(initializer.status)
68     , m_message(initializer.message)
69 {
70     ScriptWrappable::init(this);
71 }
72
73 ApplicationCacheErrorEvent::~ApplicationCacheErrorEvent()
74 {
75 }
76
77 void ApplicationCacheErrorEvent::trace(Visitor* visitor)
78 {
79     Event::trace(visitor);
80 }
81
82 } // namespace blink