blob: d9be4a89694fdf95779ced405940656bfe621f4f [file] [log] [blame]
// Copyright 2016 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 "modules/nfc/NFCError.h"
#include "core/dom/DOMException.h"
#include "core/dom/ExceptionCode.h"
using device::nfc::blink::NFCErrorType;
namespace blink {
DOMException* NFCError::take(ScriptPromiseResolver*, const NFCErrorType& errorType)
{
switch (errorType) {
case NFCErrorType::SECURITY:
return DOMException::create(SecurityError, "NFC operation not allowed.");
case NFCErrorType::NOT_SUPPORTED:
case NFCErrorType::DEVICE_DISABLED:
return DOMException::create(NotSupportedError, "NFC operation not supported.");
case NFCErrorType::NOT_FOUND:
return DOMException::create(NotFoundError, "Invalid NFC watch Id was provided.");
case NFCErrorType::INVALID_MESSAGE:
return DOMException::create(SyntaxError, "Invalid NFC message was provided.");
case NFCErrorType::OPERATION_CANCELLED:
return DOMException::create(AbortError, "The NFC operation was cancelled.");
case NFCErrorType::TIMER_EXPIRED:
return DOMException::create(TimeoutError, "NFC operation has timed-out.");
case NFCErrorType::CANNOT_CANCEL:
return DOMException::create(NoModificationAllowedError, "NFC operation cannot be canceled.");
case NFCErrorType::IO_ERROR:
return DOMException::create(NetworkError, "NFC data transfer error has occurred.");
}
NOTREACHED();
return DOMException::create(UnknownError, "An unknown NFC error has occurred.");
}
} // namespace blink