Index: third_party/WebKit/Source/modules/nfc/NFCError.cpp |
diff --git a/third_party/WebKit/Source/modules/nfc/NFCError.cpp b/third_party/WebKit/Source/modules/nfc/NFCError.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d9be4a89694fdf95779ced405940656bfe621f4f |
--- /dev/null |
+++ b/third_party/WebKit/Source/modules/nfc/NFCError.cpp |
@@ -0,0 +1,39 @@ |
+// 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 |