| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "third_party/blink/renderer/core/events/application_cache_error_event.h" |
| |
| #include "third_party/blink/renderer/core/event_type_names.h" |
| |
| namespace blink { |
| |
| static const String& ErrorReasonToString( |
| WebApplicationCacheHost::ErrorReason reason) { |
| DEFINE_STATIC_LOCAL(String, error_manifest, ("manifest")); |
| DEFINE_STATIC_LOCAL(String, error_signature, ("signature")); |
| DEFINE_STATIC_LOCAL(String, error_resource, ("resource")); |
| DEFINE_STATIC_LOCAL(String, error_changed, ("changed")); |
| DEFINE_STATIC_LOCAL(String, error_abort, ("abort")); |
| DEFINE_STATIC_LOCAL(String, error_quota, ("quota")); |
| DEFINE_STATIC_LOCAL(String, error_policy, ("policy")); |
| DEFINE_STATIC_LOCAL(String, error_unknown, ("unknown")); |
| |
| switch (reason) { |
| case WebApplicationCacheHost::kManifestError: |
| return error_manifest; |
| case WebApplicationCacheHost::kSignatureError: |
| return error_signature; |
| case WebApplicationCacheHost::kResourceError: |
| return error_resource; |
| case WebApplicationCacheHost::kChangedError: |
| return error_changed; |
| case WebApplicationCacheHost::kAbortError: |
| return error_abort; |
| case WebApplicationCacheHost::kQuotaError: |
| return error_quota; |
| case WebApplicationCacheHost::kPolicyError: |
| return error_policy; |
| case WebApplicationCacheHost::kUnknownError: |
| return error_unknown; |
| } |
| NOTREACHED(); |
| return g_empty_string; |
| } |
| |
| ApplicationCacheErrorEvent::ApplicationCacheErrorEvent( |
| WebApplicationCacheHost::ErrorReason reason, |
| const String& url, |
| int status, |
| const String& message) |
| : Event(EventTypeNames::error, Bubbles::kNo, Cancelable::kNo), |
| reason_(ErrorReasonToString(reason)), |
| url_(url), |
| status_(status), |
| message_(message) {} |
| |
| ApplicationCacheErrorEvent::ApplicationCacheErrorEvent( |
| const AtomicString& event_type, |
| const ApplicationCacheErrorEventInit& initializer) |
| : Event(event_type, initializer), status_(0) { |
| if (initializer.hasReason()) |
| reason_ = initializer.reason(); |
| if (initializer.hasURL()) |
| url_ = initializer.url(); |
| if (initializer.hasStatus()) |
| status_ = initializer.status(); |
| if (initializer.hasMessage()) |
| message_ = initializer.message(); |
| } |
| |
| ApplicationCacheErrorEvent::~ApplicationCacheErrorEvent() = default; |
| |
| void ApplicationCacheErrorEvent::Trace(blink::Visitor* visitor) { |
| Event::Trace(visitor); |
| } |
| |
| } // namespace blink |