| // 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 |