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 "modules/push_messaging/PushError.h" 7 8#include "core/dom/ExceptionCode.h" 9#include "wtf/OwnPtr.h" 10 11namespace blink { 12 13PassRefPtrWillBeRawPtr<DOMException> PushError::take(ScriptPromiseResolver*, WebType* webErrorRaw) 14{ 15 OwnPtr<WebType> webError = adoptPtr(webErrorRaw); 16 switch (webError->errorType) { 17 case WebPushError::ErrorTypeAbort: 18 return DOMException::create(AbortError, webError->message); 19 case WebPushError::ErrorTypeUnknown: 20 return DOMException::create(UnknownError); 21 } 22 ASSERT_NOT_REACHED(); 23 return DOMException::create(UnknownError); 24} 25 26void PushError::dispose(WebType* webErrorRaw) 27{ 28 delete webErrorRaw; 29} 30 31} // namespace blink 32