Make ExceptionCode a proper enumeration
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Jul 2017 18:42:33 +0000 (18:42 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Jul 2017 18:42:33 +0000 (18:42 +0000)
https://bugs.webkit.org/show_bug.cgi?id=174771

Reviewed by Sam Weinig.

Make ExceptionCode a proper enumeration instead of a typedef to uint8_t.

Source/WebCore:

* Modules/fetch/FetchBody.h:
(WebCore::FetchBody::formData):
* Modules/indexeddb/shared/IDBError.h:
(WebCore::IDBError::encode):
(WebCore::IDBError::decode):
* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::rejectWithException):
* dom/Exception.h:
* dom/ExceptionCode.h:
* fileapi/FileReaderSync.cpp:
(WebCore::errorCodeToExceptionCode):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texImage2D):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):
* xml/XMLHttpRequest.h:

Source/WebKitLegacy/win:

* DOMCoreClasses.cpp:
(DOMDocument::createEvent):
* WebView.cpp:
(WebView::prepareCandidateWindow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219831 268f45cc-cd09-0410-ab3c-d52691b4dbfc

200 files changed:
Source/WebCore/ChangeLog
Source/WebCore/Modules/applepay/PaymentRequestValidator.cpp
Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp
Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp
Source/WebCore/Modules/fetch/FetchBody.h
Source/WebCore/Modules/fetch/FetchHeaders.cpp
Source/WebCore/Modules/fetch/FetchRequest.cpp
Source/WebCore/Modules/fetch/FetchResponse.cpp
Source/WebCore/Modules/indexeddb/IDBCursor.cpp
Source/WebCore/Modules/indexeddb/IDBDatabase.cpp
Source/WebCore/Modules/indexeddb/IDBFactory.cpp
Source/WebCore/Modules/indexeddb/IDBIndex.cpp
Source/WebCore/Modules/indexeddb/IDBKeyRange.cpp
Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp
Source/WebCore/Modules/indexeddb/shared/IDBError.h
Source/WebCore/Modules/mediasource/MediaSource.cpp
Source/WebCore/Modules/mediasource/SourceBuffer.cpp
Source/WebCore/Modules/mediastream/MediaEndpointSessionDescription.cpp
Source/WebCore/Modules/mediastream/RTCDataChannel.cpp
Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp
Source/WebCore/Modules/mediastream/RTCRtpSender.cpp
Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp
Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.cpp
Source/WebCore/Modules/notifications/Notification.cpp
Source/WebCore/Modules/quota/StorageInfo.cpp
Source/WebCore/Modules/webaudio/AudioContext.cpp
Source/WebCore/Modules/webaudio/AudioNode.cpp
Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.cpp
Source/WebCore/Modules/webdatabase/Database.cpp
Source/WebCore/Modules/webdatabase/DatabaseManager.cpp
Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp
Source/WebCore/Modules/webdatabase/SQLResultSet.cpp
Source/WebCore/Modules/webdatabase/SQLResultSetRowList.cpp
Source/WebCore/Modules/webdatabase/SQLTransaction.cpp
Source/WebCore/Modules/websockets/WebSocket.cpp
Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
Source/WebCore/bindings/js/JSCryptoAlgorithmDictionary.cpp
Source/WebCore/bindings/js/JSCryptoKeySerializationJWK.cpp
Source/WebCore/bindings/js/JSDOMExceptionHandling.h
Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp
Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp
Source/WebCore/bindings/js/JSElementCustom.cpp
Source/WebCore/bindings/js/JSFontFaceCustom.cpp
Source/WebCore/bindings/js/JSHistoryCustom.cpp
Source/WebCore/bindings/js/JSMutationObserverCustom.cpp
Source/WebCore/bindings/js/JSNodeCustom.cpp
Source/WebCore/bindings/js/JSSubtleCryptoCustom.cpp
Source/WebCore/bindings/js/JSWebKitSubtleCryptoCustom.cpp
Source/WebCore/crypto/CryptoAlgorithm.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CFB.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_CTR.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_GCM.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmAES_KW.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmECDH.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmECDSA.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmHKDF.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmHMAC.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmPBKDF2.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA1.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA224.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA256.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA384.cpp
Source/WebCore/crypto/algorithms/CryptoAlgorithmSHA512.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmAES_CBCGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmAES_CFBGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmAES_CTRGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp
Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp
Source/WebCore/crypto/keys/CryptoKeyAES.cpp
Source/WebCore/crypto/keys/CryptoKeyEC.cpp
Source/WebCore/crypto/keys/CryptoKeyHMAC.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmAES_CBCMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmAES_CFBMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmAES_CTRMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmAES_GCMMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmAES_KWMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmECDSAMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmHKDFMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmHMACMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp
Source/WebCore/crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp
Source/WebCore/crypto/mac/CryptoKeyRSAMac.cpp
Source/WebCore/css/CSSComputedStyleDeclaration.cpp
Source/WebCore/css/CSSFontFaceSet.cpp
Source/WebCore/css/CSSGroupingRule.cpp
Source/WebCore/css/CSSPrimitiveValue.cpp
Source/WebCore/css/CSSStyleSheet.cpp
Source/WebCore/css/DOMMatrix.cpp
Source/WebCore/css/DOMMatrixReadOnly.cpp
Source/WebCore/css/DeprecatedCSSOMPrimitiveValue.cpp
Source/WebCore/css/MediaList.cpp
Source/WebCore/css/WebKitCSSMatrix.cpp
Source/WebCore/dom/Attr.cpp
Source/WebCore/dom/CharacterData.cpp
Source/WebCore/dom/DatasetDOMStringMap.cpp
Source/WebCore/dom/EventTarget.cpp
Source/WebCore/dom/Exception.h
Source/WebCore/dom/ExceptionCode.h
Source/WebCore/dom/MessagePort.cpp
Source/WebCore/dom/MutationObserver.cpp
Source/WebCore/dom/NamedNodeMap.cpp
Source/WebCore/dom/Node.cpp
Source/WebCore/dom/NodeIterator.cpp
Source/WebCore/dom/Range.cpp
Source/WebCore/dom/SelectorQuery.cpp
Source/WebCore/dom/ShadowRoot.cpp
Source/WebCore/dom/Text.cpp
Source/WebCore/dom/TextDecoder.cpp
Source/WebCore/dom/TreeWalker.cpp
Source/WebCore/editing/TextCheckingHelper.cpp
Source/WebCore/editing/markup.cpp
Source/WebCore/fileapi/FileReader.cpp
Source/WebCore/fileapi/FileReaderSync.cpp
Source/WebCore/html/DOMTokenList.cpp
Source/WebCore/html/DOMURL.cpp
Source/WebCore/html/HTMLCanvasElement.cpp
Source/WebCore/html/HTMLElement.cpp
Source/WebCore/html/HTMLFrameOwnerElement.cpp
Source/WebCore/html/HTMLInputElement.cpp
Source/WebCore/html/HTMLMarqueeElement.cpp
Source/WebCore/html/HTMLTableElement.cpp
Source/WebCore/html/HTMLTableRowElement.cpp
Source/WebCore/html/HTMLTableSectionElement.cpp
Source/WebCore/html/HTMLTextFormControlElement.cpp
Source/WebCore/html/HTMLVideoElement.cpp
Source/WebCore/html/ImageData.cpp
Source/WebCore/html/InputType.cpp
Source/WebCore/html/MediaController.cpp
Source/WebCore/html/NumberInputType.cpp
Source/WebCore/html/TimeRanges.cpp
Source/WebCore/html/URLSearchParams.cpp
Source/WebCore/html/canvas/CanvasGradient.cpp
Source/WebCore/html/canvas/CanvasPath.cpp
Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
Source/WebCore/html/canvas/WebGLRenderingContextBase.h
Source/WebCore/html/track/TextTrack.cpp
Source/WebCore/html/track/VTTCue.cpp
Source/WebCore/html/track/VTTRegion.cpp
Source/WebCore/inspector/InspectorStyleSheet.cpp
Source/WebCore/loader/appcache/DOMApplicationCache.cpp
Source/WebCore/page/Base64Utilities.cpp
Source/WebCore/page/Crypto.cpp
Source/WebCore/page/DOMSelection.cpp
Source/WebCore/page/DOMWindow.cpp
Source/WebCore/page/EventSource.cpp
Source/WebCore/page/History.cpp
Source/WebCore/page/Location.cpp
Source/WebCore/page/PerformanceObserver.cpp
Source/WebCore/page/PerformanceUserTiming.cpp
Source/WebCore/page/UserMessageHandler.cpp
Source/WebCore/platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp
Source/WebCore/storage/Storage.cpp
Source/WebCore/svg/SVGAltGlyphElement.cpp
Source/WebCore/svg/SVGAngle.h
Source/WebCore/svg/SVGAngleValue.cpp
Source/WebCore/svg/SVGLength.h
Source/WebCore/svg/SVGLengthContext.cpp
Source/WebCore/svg/SVGLengthValue.cpp
Source/WebCore/svg/SVGLocatable.cpp
Source/WebCore/svg/SVGMatrix.h
Source/WebCore/svg/SVGMatrixValue.h
Source/WebCore/svg/SVGNumber.h
Source/WebCore/svg/SVGPoint.h
Source/WebCore/svg/SVGPreserveAspectRatio.h
Source/WebCore/svg/SVGPreserveAspectRatioValue.cpp
Source/WebCore/svg/SVGTransform.h
Source/WebCore/svg/properties/SVGAnimatedEnumerationPropertyTearOff.h
Source/WebCore/svg/properties/SVGListProperty.h
Source/WebCore/testing/InternalSettings.cpp
Source/WebCore/testing/Internals.cpp
Source/WebCore/workers/AbstractWorker.cpp
Source/WebCore/workers/WorkerGlobalScope.cpp
Source/WebCore/xml/DOMParser.cpp
Source/WebCore/xml/XMLHttpRequest.cpp
Source/WebCore/xml/XMLHttpRequest.h
Source/WebCore/xml/XPathEvaluator.cpp
Source/WebCore/xml/XPathExpression.cpp
Source/WebCore/xml/XPathParser.cpp
Source/WebCore/xml/XPathResult.cpp
Source/WebKitLegacy/win/ChangeLog
Source/WebKitLegacy/win/DOMCoreClasses.cpp
Source/WebKitLegacy/win/WebView.cpp

index 208a78c..43f06e6 100644 (file)
@@ -1,3 +1,30 @@
+2017-07-24  Chris Dumez  <cdumez@apple.com>
+
+        Make ExceptionCode a proper enumeration
+        https://bugs.webkit.org/show_bug.cgi?id=174771
+
+        Reviewed by Sam Weinig.
+
+        Make ExceptionCode a proper enumeration instead of a typedef to uint8_t.
+
+        * Modules/fetch/FetchBody.h:
+        (WebCore::FetchBody::formData):
+        * Modules/indexeddb/shared/IDBError.h:
+        (WebCore::IDBError::encode):
+        (WebCore::IDBError::decode):
+        * bindings/js/JSSubtleCryptoCustom.cpp:
+        (WebCore::rejectWithException):
+        * dom/Exception.h:
+        * dom/ExceptionCode.h:
+        * fileapi/FileReaderSync.cpp:
+        (WebCore::errorCodeToExceptionCode):
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::WebGLRenderingContextBase::texSubImage2D):
+        (WebCore::WebGLRenderingContextBase::texImage2D):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::createRequest):
+        * xml/XMLHttpRequest.h:
+
 2017-07-24  Simon Fraser  <simon.fraser@apple.com>
 
         Change "client" coordinates back to match scrolling coordinates
index 12735b9..8be4a76 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(APPLE_PAY)
 
-#include "ExceptionCode.h"
 #include "PaymentRequest.h"
 #include <unicode/ucurr.h>
 #include <unicode/uloc.h>
index 3411800..22ea243 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "Document.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "FileSystem.h"
 #include "SecurityOriginData.h"
 #include "Settings.h"
index fcfbb0a..c76551f 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(LEGACY_ENCRYPTED_MEDIA)
 
-#include "ExceptionCode.h"
 #include "HTMLMediaElement.h"
 #include "WebKitMediaKeySession.h"
 
index 8fe9b68..fcba2d7 100644 (file)
@@ -49,7 +49,7 @@ public:
     void blob(FetchBodyOwner&, Ref<DeferredPromise>&&, const String&);
     void json(FetchBodyOwner&, Ref<DeferredPromise>&&);
     void text(FetchBodyOwner&, Ref<DeferredPromise>&&);
-    void formData(FetchBodyOwner&, Ref<DeferredPromise>&& promise) { promise.get().reject(ExceptionCode { 0 }); }
+    void formData(FetchBodyOwner&, Ref<DeferredPromise>&& promise) { promise.get().reject(NOT_SUPPORTED_ERR); }
 
 #if ENABLE(STREAMS_API)
     void consumeAsStream(FetchBodyOwner&, FetchResponseSource&);
index 6e07674..75e5712 100644 (file)
@@ -31,7 +31,6 @@
 
 #if ENABLE(FETCH_API)
 
-#include "ExceptionCode.h"
 #include "HTTPParsers.h"
 
 namespace WebCore {
index df8d37f..8c44d01 100644 (file)
@@ -31,7 +31,6 @@
 
 #if ENABLE(FETCH_API)
 
-#include "ExceptionCode.h"
 #include "HTTPParsers.h"
 #include "ScriptExecutionContext.h"
 #include "SecurityOrigin.h"
index ed1c0a7..8709c2f 100644 (file)
@@ -31,7 +31,6 @@
 
 #if ENABLE(FETCH_API)
 
-#include "ExceptionCode.h"
 #include "FetchRequest.h"
 #include "HTTPParsers.h"
 #include "JSBlob.h"
index 3f930ed..8f17b9a 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(INDEXED_DATABASE)
 
-#include "ExceptionCode.h"
 #include "IDBBindingUtilities.h"
 #include "IDBDatabase.h"
 #include "IDBGetResult.h"
index da05a3d..a9541a0 100644 (file)
@@ -31,7 +31,6 @@
 #include "DOMStringList.h"
 #include "EventNames.h"
 #include "EventQueue.h"
-#include "ExceptionCode.h"
 #include "IDBConnectionProxy.h"
 #include "IDBConnectionToServer.h"
 #include "IDBIndex.h"
index 6003a3b..742e7e9 100644 (file)
@@ -29,7 +29,6 @@
 #if ENABLE(INDEXED_DATABASE)
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "IDBBindingUtilities.h"
 #include "IDBConnectionProxy.h"
 #include "IDBDatabaseIdentifier.h"
index cd3f2dc..d717727 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(INDEXED_DATABASE)
 
-#include "ExceptionCode.h"
 #include "IDBBindingUtilities.h"
 #include "IDBCursor.h"
 #include "IDBDatabase.h"
index 721d021..6d16aac 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(INDEXED_DATABASE)
 
-#include "ExceptionCode.h"
 #include "IDBBindingUtilities.h"
 #include "IDBKey.h"
 #include "IDBKeyData.h"
index 085bd53..8d15508 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "DOMStringList.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "IDBBindingUtilities.h"
 #include "IDBCursor.h"
 #include "IDBDatabase.h"
index 810da4c..41009fd 100644 (file)
@@ -60,20 +60,21 @@ public:
     template<class Decoder> static bool decode(Decoder&, IDBError&);
 
 private:
-    ExceptionCode m_code { 0 };
+    ExceptionCode m_code { NoException };
     String m_message;
 };
 
 template<class Encoder>
 void IDBError::encode(Encoder& encoder) const
 {
-    encoder << m_code << m_message;
+    encoder.encodeEnum(m_code);
+    encoder << m_message;
 }
     
 template<class Decoder>
 bool IDBError::decode(Decoder& decoder, IDBError& error)
 {
-    if (!decoder.decode(error.m_code))
+    if (!decoder.decodeEnum(error.m_code))
         return false;
 
     if (!decoder.decode(error.m_message))
index bd883d2..011b818 100644 (file)
@@ -38,7 +38,6 @@
 #include "ContentType.h"
 #include "Event.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "HTMLMediaElement.h"
 #include "Logging.h"
 #include "MediaSourcePrivate.h"
index 77addd3..4ccc8d9 100644 (file)
@@ -38,7 +38,6 @@
 #include "BufferSource.h"
 #include "Event.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "GenericEventQueue.h"
 #include "HTMLMediaElement.h"
 #include "InbandTextTrack.h"
index 17f2dd4..2a58145 100644 (file)
@@ -31,7 +31,6 @@
 #include "Blob.h"
 #include "Event.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "MessageEvent.h"
 #include "RTCDataChannelHandler.h"
 #include "ScriptExecutionContext.h"
index 2c7e0d3..eaf7aff 100644 (file)
@@ -35,8 +35,6 @@
 
 #if ENABLE(WEB_RTC)
 
-#include "ExceptionCode.h"
-
 namespace WebCore {
 
 inline RTCIceCandidate::RTCIceCandidate(const String& candidate, const String& sdpMid, std::optional<unsigned short> sdpMLineIndex)
index 0d46641..8e59f2c 100644 (file)
@@ -33,8 +33,6 @@
 
 #if ENABLE(WEB_RTC)
 
-#include "ExceptionCode.h"
-
 namespace WebCore {
 
 Ref<RTCRtpSender> RTCRtpSender::create(Ref<MediaStreamTrack>&& track, Vector<String>&& mediaStreamIds, Backend& backend)
index 70ae8cd..9d1e576 100644 (file)
@@ -38,7 +38,6 @@
 
 #include "Document.h"
 #include "DocumentLoader.h"
-#include "ExceptionCode.h"
 #include "JSMediaStream.h"
 #include "JSOverconstrainedError.h"
 #include "Logging.h"
index 738877b..e1a7a34 100644 (file)
@@ -28,7 +28,6 @@
 #if USE(LIBWEBRTC)
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "IceCandidate.h"
 #include "JSRTCStatsReport.h"
 #include "LibWebRTCDataChannelHandler.h"
index 1dd0ef4..5c7ec40 100644 (file)
@@ -31,7 +31,6 @@
 #if ENABLE(NAVIGATOR_CONTENT_UTILS)
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "Navigator.h"
 #include "Page.h"
index d71e10e..f439431 100644 (file)
@@ -38,7 +38,6 @@
 #include "Document.h"
 #include "Event.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "NotificationClient.h"
 #include "NotificationController.h"
 #include "NotificationPermissionCallback.h"
index cd83a4a..35a0f2d 100644 (file)
@@ -35,7 +35,6 @@
 #include "StorageInfo.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include "StorageErrorCallback.h"
 #include "StorageQuota.h"
index 847b047..5c575c6 100644 (file)
@@ -47,7 +47,6 @@
 #include "Document.h"
 #include "DynamicsCompressorNode.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "FFTFrame.h"
 #include "Frame.h"
 #include "FrameLoader.h"
index da59eb1..70387cf 100644 (file)
@@ -32,7 +32,6 @@
 #include "AudioNodeInput.h"
 #include "AudioNodeOutput.h"
 #include "AudioParam.h"
-#include "ExceptionCode.h"
 #include <wtf/Atomics.h>
 #include <wtf/MainThread.h>
 
index 641281e..f1f0cac 100644 (file)
@@ -31,7 +31,6 @@
 #include "Database.h"
 #include "DatabaseManager.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "SecurityOrigin.h"
 
 namespace WebCore {
index 31a89af..f55d654 100644 (file)
@@ -40,7 +40,6 @@
 #include "DatabaseThread.h"
 #include "DatabaseTracker.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "JSDOMWindow.h"
 #include "Logging.h"
 #include "SQLError.h"
index cbad34b..6ce0422 100644 (file)
@@ -31,7 +31,6 @@
 #include "DatabaseContext.h"
 #include "DatabaseTask.h"
 #include "DatabaseTracker.h"
-#include "ExceptionCode.h"
 #include "InspectorInstrumentation.h"
 #include "Logging.h"
 #include "PlatformStrategies.h"
index 97b1e66..eafda7e 100644 (file)
@@ -34,7 +34,6 @@
 #include "DatabaseManager.h"
 #include "DatabaseManagerClient.h"
 #include "DatabaseThread.h"
-#include "ExceptionCode.h"
 #include "FileSystem.h"
 #include "Logging.h"
 #include "OriginLock.h"
index da63f2b..6cba2ee 100644 (file)
@@ -29,8 +29,6 @@
 #include "config.h"
 #include "SQLResultSet.h"
 
-#include "ExceptionCode.h"
-
 namespace WebCore {
 
 SQLResultSet::SQLResultSet()
index 28dc3b3..65aa00d 100644 (file)
@@ -29,8 +29,6 @@
 #include "config.h"
 #include "SQLResultSetRowList.h"
 
-#include "ExceptionCode.h"
-
 namespace WebCore {
 
 unsigned SQLResultSetRowList::length() const
index 75c700e..f899430 100644 (file)
@@ -34,7 +34,6 @@
 #include "DatabaseContext.h"
 #include "DatabaseThread.h"
 #include "DatabaseTracker.h"
-#include "ExceptionCode.h"
 #include "Logging.h"
 #include "OriginLock.h"
 #include "SQLError.h"
index d942841..977000a 100644 (file)
@@ -43,7 +43,6 @@
 #include "Event.h"
 #include "EventListener.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "Logging.h"
index b347e3b..647d3ab 100644 (file)
@@ -24,7 +24,6 @@
 #include "CanvasPattern.h"
 #include "CanvasRenderingContext2D.h"
 #include "CanvasStyle.h"
-#include "ExceptionCode.h"
 #include "HTMLCanvasElement.h"
 #include "HTMLImageElement.h"
 #include "ImageData.h"
index 9a4be06..46ab3d7 100644 (file)
@@ -38,7 +38,6 @@
 #include "CryptoAlgorithmRsaKeyParamsWithHashDeprecated.h"
 #include "CryptoAlgorithmRsaOaepParamsDeprecated.h"
 #include "CryptoAlgorithmRsaSsaParamsDeprecated.h"
-#include "ExceptionCode.h"
 #include "JSCryptoOperationData.h"
 #include "JSDOMBinding.h"
 #include "JSDOMConvertBufferSource.h"
index 8063cb3..a8d0734 100644 (file)
@@ -38,7 +38,6 @@
 #include "CryptoKeyDataRSAComponents.h"
 #include "CryptoKeyHMAC.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "JSDOMBinding.h"
 #include <heap/StrongInlines.h>
 #include <runtime/JSCInlines.h>
index 6703541..cd1aa28 100644 (file)
@@ -23,7 +23,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "ExceptionOr.h"
 #include <runtime/ThrowScope.h>
 
index 0a58989..8829804 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "JSDOMPromiseDeferred.h"
 
-#include "ExceptionCode.h"
 #include "JSDOMError.h"
 #include "JSDOMWindow.h"
 #include <builtins/BuiltinNames.h>
index 1155716..42845af 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "JSDocumentFragment.h"
 
-#include "ExceptionCode.h"
 #include "JSShadowRoot.h"
 
 using namespace JSC;
index 91bb3e0..0d7086e 100644 (file)
@@ -31,7 +31,6 @@
 #include "JSElement.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "HTMLFrameElementBase.h"
 #include "HTMLNames.h"
 #include "JSAttr.h"
index af460e4..4bb96ba 100644 (file)
@@ -29,7 +29,6 @@
 #include "CSSFontSelector.h"
 #include "CSSValue.h"
 #include "CSSValueList.h"
-#include "ExceptionCode.h"
 #include "JSDOMConstructor.h"
 
 namespace WebCore {
index b244ec9..0a606d7 100644 (file)
@@ -29,7 +29,6 @@
 #include "config.h"
 #include "JSHistory.h"
 
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "JSDOMConvertNullable.h"
 #include "JSDOMConvertStrings.h"
index 33c5509..e655202 100644 (file)
@@ -32,7 +32,6 @@
 #include "config.h"
 #include "JSMutationObserver.h"
 
-#include "ExceptionCode.h"
 #include "JSDOMConstructorBase.h"
 #include "JSMutationCallback.h"
 #include "JSNodeCustom.h"
index 52d568d..2be0d07 100644 (file)
@@ -32,7 +32,6 @@
 #include "Document.h"
 #include "DocumentFragment.h"
 #include "DocumentType.h"
-#include "ExceptionCode.h"
 #include "HTMLAudioElement.h"
 #include "HTMLCanvasElement.h"
 #include "HTMLElement.h"
index 35476c1..854ddca 100644 (file)
@@ -433,6 +433,8 @@ static void rejectWithException(Ref<DeferredPromise>&& passedPromise, ExceptionC
     case OperationError:
         passedPromise->reject(ec, ASCIILiteral("The operation failed for an operation-specific reason"));
         return;
+    default:
+        break;
     }
     ASSERT_NOT_REACHED();
 }
index 3fdeb99..650d8e6 100644 (file)
@@ -35,7 +35,6 @@
 #include "CryptoKeyData.h"
 #include "CryptoKeySerializationRaw.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "JSCryptoAlgorithmDictionary.h"
 #include "JSCryptoKey.h"
 #include "JSCryptoKeyPair.h"
index 870b25d..0836608 100644 (file)
@@ -28,8 +28,6 @@
 
 #if ENABLE(SUBTLE_CRYPTO)
 
-#include "ExceptionCode.h"
-
 namespace WebCore {
 
 void CryptoAlgorithm::encrypt(std::unique_ptr<CryptoAlgorithmParameters>&&, Ref<CryptoKey>&&, Vector<uint8_t>&&, VectorCallback&&, ExceptionCallback&& exceptionCallback, ScriptExecutionContext&, WorkQueue&)
index c0b49ae..243b28c 100644 (file)
@@ -34,7 +34,6 @@
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
 #include "CryptoKeyDataOctetSequence.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index 79e0086..0e84c33 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index c98e82d..2ff5561 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmAesCtrParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index 3120bb0..fd90f95 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmAesGcmParams.h"
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index 603c0ba..50afb43 100644 (file)
@@ -32,7 +32,6 @@
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoKeyAES.h"
 #include "CryptoKeyDataOctetSequence.h"
-#include "ExceptionCode.h"
 #include <wtf/Variant.h>
 
 namespace WebCore {
index 89ddae7..19fc19c 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoAlgorithmEcdhKeyDeriveParams.h"
 #include "CryptoKeyEC.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index d896a51..28dde44 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmEcKeyParams.h"
 #include "CryptoKeyEC.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index b81a31b..67652ae 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmParameters.h"
 #include "CryptoKeyRaw.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index 46f3329..be9055f 100644 (file)
@@ -33,7 +33,6 @@
 #include "CryptoAlgorithmHmacParamsDeprecated.h"
 #include "CryptoKeyDataOctetSequence.h"
 #include "CryptoKeyHMAC.h"
-#include "ExceptionCode.h"
 #include <wtf/Variant.h>
 
 namespace WebCore {
index 7be85d9..e942f69 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmParameters.h"
 #include "CryptoKeyRaw.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index 8a8b4f2..664fbd8 100644 (file)
@@ -34,7 +34,6 @@
 #include "CryptoKeyDataRSAComponents.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include <wtf/Variant.h>
 
 namespace WebCore {
index 2767e9c..aa4c17c 100644 (file)
@@ -36,7 +36,6 @@
 #include "CryptoKeyDataRSAComponents.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include <wtf/Variant.h>
 
 namespace WebCore {
index df4d30a..90dac32 100644 (file)
@@ -36,7 +36,6 @@
 #include "CryptoKeyDataRSAComponents.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include <wtf/Variant.h>
 
 namespace WebCore {
index c049ec9..c1d1f59 100644 (file)
@@ -32,7 +32,6 @@
 #include "CryptoAlgorithmRsaHashedKeyGenParams.h"
 #include "CryptoKeyPair.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include <wtf/Variant.h>
 
 namespace WebCore {
index addf84d..59f09c5 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(SUBTLE_CRYPTO)
 
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
index 634c5a3..67e75ee 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(SUBTLE_CRYPTO)
 
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
index 0ea0506..e305150 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(SUBTLE_CRYPTO)
 
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
index 88f3136..48b4ffa 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(SUBTLE_CRYPTO)
 
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
index 0103f09..823d9d0 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(SUBTLE_CRYPTO)
 
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
 
index 763ddef..db4487b 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/gcrypt/Handle.h>
index 6dcf79a..874ab16 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "CryptoAlgorithmAesCtrParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/gcrypt/Handle.h>
 #include <pal/crypto/gcrypt/Utilities.h>
index 68134c4..b51c25b 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "CryptoAlgorithmAesGcmParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/gcrypt/Handle.h>
index 8aeca6c..7dd186c 100644 (file)
@@ -30,7 +30,6 @@
 #if ENABLE(SUBTLE_CRYPTO)
 
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "NotImplemented.h"
 #include <pal/crypto/gcrypt/Handle.h>
 #include <pal/crypto/gcrypt/Utilities.h>
index 44b0093..4d5edad 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoKeyEC.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/CryptoDigest.h>
index 11ab196..76e4541 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "ScriptExecutionContext.h"
 
index 224803e..6590e1f 100644 (file)
@@ -33,7 +33,6 @@
 
 #include "CryptoAlgorithmHmacParamsDeprecated.h"
 #include "CryptoKeyHMAC.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <pal/crypto/gcrypt/Handle.h>
 #include <wtf/CryptographicUtilities.h>
index 356dedb..f1f7921 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "ScriptExecutionContext.h"
 
index 379b9f4..e203c6e 100644 (file)
@@ -29,7 +29,6 @@
 #if ENABLE(SUBTLE_CRYPTO)
 
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
index 740119d..930c460 100644 (file)
@@ -31,7 +31,6 @@
 
 #include "CryptoAlgorithmRsaSsaParamsDeprecated.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
index bf89711..d5e7c0e 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmRsaOaepParams.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
index d492ead..43c7a81 100644 (file)
@@ -32,7 +32,6 @@
 
 #include "CryptoAlgorithmRsaPssParams.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "ScriptExecutionContext.h"
 
index 9904a29..c14fe88 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyDataRSAComponents.h"
 #include "CryptoKeyPair.h"
-#include "ExceptionCode.h"
 #include "GCryptUtilities.h"
 #include "NotImplemented.h"
 #include "ScriptExecutionContext.h"
index c975f0f..9d4cd6c 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmAesKeyParams.h"
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyDataOctetSequence.h"
-#include "ExceptionCode.h"
 #include "ExceptionOr.h"
 #include "JsonWebKey.h"
 #include <wtf/text/Base64.h>
index db2eba7..ac35524 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyData.h"
-#include "ExceptionCode.h"
 #include "JsonWebKey.h"
 #include <wtf/text/Base64.h>
 
index b7f6cc6..b8cfb61 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmHmacKeyParams.h"
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyDataOctetSequence.h"
-#include "ExceptionCode.h"
 #include "ExceptionOr.h"
 #include "JsonWebKey.h"
 #include <wtf/text/Base64.h>
index 569140a..b187cc5 100644 (file)
@@ -31,7 +31,6 @@
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoAlgorithmAesCbcParamsDeprecated.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <CommonCrypto/CommonCrypto.h>
 
index 233ca73..46a0d28 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmAesCbcCfbParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <CommonCrypto/CommonCrypto.h>
 
index 7cdb550..58c3829 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmAesCtrParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <CommonCrypto/CommonCrypto.h>
 
index 29ee43e..2b4b6b6 100644 (file)
@@ -31,7 +31,6 @@
 #include "CommonCryptoUtilities.h"
 #include "CryptoAlgorithmAesGcmParams.h"
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <wtf/CryptographicUtilities.h>
 
index 3482578..8dbfe12 100644 (file)
@@ -29,7 +29,6 @@
 #if ENABLE(SUBTLE_CRYPTO)
 
 #include "CryptoKeyAES.h"
-#include "ExceptionCode.h"
 #include <CommonCrypto/CommonCrypto.h>
 
 namespace WebCore {
index 8b6faf1..9e3f93a 100644 (file)
@@ -33,7 +33,6 @@
 #include "CryptoAlgorithmEcdsaParams.h"
 #include "CryptoDigestAlgorithm.h"
 #include "CryptoKeyEC.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
index 9603987..a5f3b4d 100644 (file)
@@ -31,7 +31,6 @@
 #include "CommonCryptoUtilities.h"
 #include "CryptoAlgorithmHkdfParams.h"
 #include "CryptoKeyRaw.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
index 2368d1c..b08d226 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmHmacParamsDeprecated.h"
 #include "CryptoKeyHMAC.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <CommonCrypto/CommonHMAC.h>
 #include <wtf/CryptographicUtilities.h>
index 4778bb9..d61533b 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CryptoAlgorithmPbkdf2Params.h"
 #include "CryptoKeyRaw.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <CommonCrypto/CommonKeyDerivation.h>
 
index 61a052f..9958937 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CommonCryptoUtilities.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
index b6c33dc..2fe7051 100644 (file)
@@ -32,7 +32,6 @@
 #include "CryptoAlgorithmRsaSsaParamsDeprecated.h"
 #include "CryptoDigestAlgorithm.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
index 839789b..ef5b09d 100644 (file)
@@ -32,7 +32,6 @@
 #include "CryptoAlgorithmRsaOaepParams.h"
 #include "CryptoAlgorithmRsaOaepParamsDeprecated.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
index 34cc2d7..39b0a1c 100644 (file)
@@ -32,7 +32,6 @@
 #include "CryptoAlgorithmRsaPssParams.h"
 #include "CryptoDigestAlgorithm.h"
 #include "CryptoKeyRSA.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 
 namespace WebCore {
index 4db87ab..dcb4af3 100644 (file)
@@ -33,7 +33,6 @@
 #include "CryptoAlgorithmRegistry.h"
 #include "CryptoKeyDataRSAComponents.h"
 #include "CryptoKeyPair.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include <wtf/MainThread.h>
 
index 9a1d0f5..27b3c10 100644 (file)
@@ -53,7 +53,6 @@
 #include "CursorList.h"
 #include "DeprecatedCSSOMValue.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "FontCascade.h"
 #include "FontSelectionValueInlines.h"
 #include "FontTaggedSettings.h"
index a896528..52daa37 100644 (file)
@@ -34,7 +34,6 @@
 #include "CSSSegmentedFontFace.h"
 #include "CSSValueList.h"
 #include "CSSValuePool.h"
-#include "ExceptionCode.h"
 #include "FontCache.h"
 #include "StyleBuilderConverter.h"
 #include "StyleProperties.h"
index 42bb83b..7c997fc 100644 (file)
@@ -35,7 +35,6 @@
 #include "CSSParser.h"
 #include "CSSRuleList.h"
 #include "CSSStyleSheet.h"
-#include "ExceptionCode.h"
 #include "StyleRule.h"
 #include <wtf/text/StringBuilder.h>
 
index c544121..109fdc2 100644 (file)
@@ -34,7 +34,6 @@
 #include "Color.h"
 #include "Counter.h"
 #include "DeprecatedCSSOMPrimitiveValue.h"
-#include "ExceptionCode.h"
 #include "FontCascade.h"
 #include "Node.h"
 #include "Pair.h"
index 3639aa6..cc55942 100644 (file)
@@ -26,7 +26,6 @@
 #include "CSSParser.h"
 #include "CSSRuleList.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "HTMLLinkElement.h"
 #include "HTMLStyleElement.h"
 #include "MediaList.h"
index b25a405..05c43ad 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "DOMMatrix.h"
 
-#include "ExceptionCode.h"
 #include <cmath>
 #include <limits>
 
index 567d05d..0a13b4d 100644 (file)
@@ -30,7 +30,6 @@
 #include "CSSToLengthConversionData.h"
 #include "DOMMatrix.h"
 #include "DOMPoint.h"
-#include "ExceptionCode.h"
 #include "StyleProperties.h"
 #include "TransformFunctions.h"
 #include <JavaScriptCore/GenericTypedArrayViewInlines.h>
index 2094568..50e26a3 100644 (file)
@@ -29,7 +29,6 @@
 #include "DeprecatedCSSOMCounter.h"
 #include "DeprecatedCSSOMRGBColor.h"
 #include "DeprecatedCSSOMRect.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
     
index 8d191e4..88ca2e1 100644 (file)
@@ -25,7 +25,6 @@
 #include "CSSStyleSheet.h"
 #include "DOMWindow.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "MediaQuery.h"
 #include "MediaQueryParser.h"
 #include <wtf/NeverDestroyed.h>
index f8e6496..d9088e0 100644 (file)
@@ -31,7 +31,6 @@
 #include "CSSPropertyNames.h"
 #include "CSSToLengthConversionData.h"
 #include "CSSValueKeywords.h"
-#include "ExceptionCode.h"
 #include "StyleProperties.h"
 #include "TransformFunctions.h"
 #include <wtf/MathExtras.h>
index 7329842..faaf6d7 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "AttributeChangeInvalidation.h"
 #include "Event.h"
-#include "ExceptionCode.h"
 #include "NoEventDispatchAssertion.h"
 #include "ScopedEventQueue.h"
 #include "StyleProperties.h"
index b8c6b5e..12fd344 100644 (file)
@@ -25,7 +25,6 @@
 #include "Attr.h"
 #include "ElementTraversal.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "FrameSelection.h"
 #include "InspectorInstrumentation.h"
 #include "MutationEvent.h"
index 61d2048..a439190 100644 (file)
@@ -27,7 +27,6 @@
 #include "DatasetDOMStringMap.h"
 
 #include "Element.h"
-#include "ExceptionCode.h"
 #include <wtf/ASCIICType.h>
 #include <wtf/text/AtomicString.h>
 #include <wtf/text/StringBuilder.h>
index a363755..cf0c1fd 100644 (file)
@@ -34,7 +34,6 @@
 
 #include "DOMWrapperWorld.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "InspectorInstrumentation.h"
 #include "JSEventListener.h"
 #include "NoEventDispatchAssertion.h"
index b25d633..db50861 100644 (file)
@@ -26,12 +26,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #pragma once
 
+#include "ExceptionCode.h"
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
-using ExceptionCode = uint8_t;
-
 class Exception {
 public:
     explicit Exception(ExceptionCode, String&& = { });
index b8f8e07..3d490b5 100644 (file)
 
 namespace WebCore {
 
-using ExceptionCode = uint8_t;
-
 // Some of these are considered historical since they have been
 // changed or removed from the specifications.
-enum {
+enum ExceptionCode {
+    NoException = 0,
     INDEX_SIZE_ERR = 1,
     HIERARCHY_REQUEST_ERR = 3,
     WRONG_DOCUMENT_ERR = 4,
index a44af43..45d7a45 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "Document.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "MessageEvent.h"
 #include "WorkerGlobalScope.h"
 
index 44ae85d..c5e55a6 100644 (file)
@@ -33,7 +33,6 @@
 #include "MutationObserver.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "HTMLSlotElement.h"
 #include "Microtasks.h"
 #include "MutationCallback.h"
index 22cefea..473c39c 100644 (file)
@@ -26,7 +26,6 @@
 #include "NamedNodeMap.h"
 
 #include "Attr.h"
-#include "ExceptionCode.h"
 #include "HTMLDocument.h"
 #include "HTMLElement.h"
 
index 97897de..4499077 100644 (file)
@@ -39,7 +39,6 @@
 #include "ElementTraversal.h"
 #include "EventDispatcher.h"
 #include "EventHandler.h"
-#include "ExceptionCode.h"
 #include "FrameView.h"
 #include "HTMLBodyElement.h"
 #include "HTMLCollection.h"
index 882e803..8fc2151 100644 (file)
@@ -26,7 +26,6 @@
 #include "NodeIterator.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "NodeTraversal.h"
 
 namespace WebCore {
index 0020ce4..c53c30b 100644 (file)
@@ -31,7 +31,6 @@
 #include "DocumentFragment.h"
 #include "Editing.h"
 #include "Event.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameView.h"
 #include "HTMLBodyElement.h"
index 1213a5d..80fb2b5 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "CSSParser.h"
 #include "ElementDescendantIterator.h"
-#include "ExceptionCode.h"
 #include "HTMLNames.h"
 #include "SelectorChecker.h"
 #include "StaticNodeList.h"
index 3d00d94..aabab81 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "CSSStyleSheet.h"
 #include "ElementTraversal.h"
-#include "ExceptionCode.h"
 #include "HTMLSlotElement.h"
 #include "RenderElement.h"
 #include "RuntimeEnabledFeatures.h"
index 45f8e27..1cf8f93 100644 (file)
@@ -23,7 +23,6 @@
 #include "Text.h"
 
 #include "Event.h"
-#include "ExceptionCode.h"
 #include "RenderCombineText.h"
 #include "RenderSVGInlineText.h"
 #include "RenderText.h"
index 96cc739..8015139 100644 (file)
@@ -25,7 +25,6 @@
 #include "config.h"
 #include "TextDecoder.h"
 
-#include "ExceptionCode.h"
 #include "HTMLParserIdioms.h"
 
 namespace WebCore {
index d96a85c..e851e87 100644 (file)
@@ -26,7 +26,6 @@
 #include "TreeWalker.h"
 
 #include "ContainerNode.h"
-#include "ExceptionCode.h"
 #include "NodeTraversal.h"
 
 namespace WebCore {
index 756e0d3..f654106 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "Document.h"
 #include "DocumentMarkerController.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameSelection.h"
 #include "Settings.h"
index d70fb15..4d49d71 100644 (file)
@@ -39,7 +39,6 @@
 #include "Editing.h"
 #include "Editor.h"
 #include "ElementIterator.h"
-#include "ExceptionCode.h"
 #include "File.h"
 #include "Frame.h"
 #include "HTMLAttachmentElement.h"
index 4d15be1..bf6e028 100644 (file)
@@ -32,7 +32,6 @@
 #include "FileReader.h"
 
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "File.h"
 #include "Logging.h"
 #include "ProgressEvent.h"
index 0788c2b..68a4819 100644 (file)
@@ -34,7 +34,6 @@
 
 #include "Blob.h"
 #include "BlobURL.h"
-#include "ExceptionCode.h"
 #include "FileReaderLoader.h"
 #include <runtime/ArrayBuffer.h>
 
@@ -77,7 +76,7 @@ static ExceptionCode errorCodeToExceptionCode(FileError::ErrorCode errorCode)
 {
     switch (errorCode) {
     case FileError::OK:
-        return 0;
+        return NoException;
     case FileError::NOT_FOUND_ERR:
         return NOT_FOUND_ERR;
     case FileError::SECURITY_ERR:
index 30163e5..f19e88f 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "DOMTokenList.h"
 
-#include "ExceptionCode.h"
 #include "HTMLParserIdioms.h"
 #include "SpaceSplitString.h"
 #include <wtf/HashSet.h>
index 1a5cd62..8538f95 100644 (file)
@@ -29,7 +29,6 @@
 #include "ActiveDOMObject.h"
 #include "Blob.h"
 #include "BlobURL.h"
-#include "ExceptionCode.h"
 #include "MemoryCache.h"
 #include "PublicURLManager.h"
 #include "ResourceRequest.h"
index d755ba4..9bf41d6 100644 (file)
@@ -35,7 +35,6 @@
 #include "CanvasPattern.h"
 #include "CanvasRenderingContext2D.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoaderClient.h"
 #include "GPUBasedCanvasRenderingContext.h"
index 0e9e0b0..64e4310 100644 (file)
@@ -35,7 +35,6 @@
 #include "Event.h"
 #include "EventListener.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "FrameView.h"
index 3779ec9..bd1b9ca 100644 (file)
@@ -22,7 +22,6 @@
 #include "HTMLFrameOwnerElement.h"
 
 #include "DOMWindow.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "RenderWidget.h"
index 3efa5e7..1349b74 100644 (file)
@@ -36,7 +36,6 @@
 #include "Document.h"
 #include "Editor.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "FileInputType.h"
 #include "FileList.h"
 #include "FormController.h"
index baf71c2..8946a1d 100644 (file)
@@ -26,7 +26,6 @@
 #include "Attribute.h"
 #include "CSSPropertyNames.h"
 #include "CSSValueKeywords.h"
-#include "ExceptionCode.h"
 #include "HTMLNames.h"
 #include "HTMLParserIdioms.h"
 #include "RenderLayer.h"
index dc321bc..ae9af8d 100644 (file)
@@ -30,7 +30,6 @@
 #include "CSSValueKeywords.h"
 #include "CSSValuePool.h"
 #include "ElementChildIterator.h"
-#include "ExceptionCode.h"
 #include "GenericCachedHTMLCollection.h"
 #include "HTMLNames.h"
 #include "HTMLParserIdioms.h"
index 0788f20..62e26ce 100644 (file)
@@ -25,7 +25,6 @@
 #include "config.h"
 #include "HTMLTableRowElement.h"
 
-#include "ExceptionCode.h"
 #include "GenericCachedHTMLCollection.h"
 #include "HTMLNames.h"
 #include "HTMLTableCellElement.h"
index 1861b03..607bca1 100644 (file)
@@ -25,7 +25,6 @@
 #include "config.h"
 #include "HTMLTableSectionElement.h"
 
-#include "ExceptionCode.h"
 #include "GenericCachedHTMLCollection.h"
 #include "HTMLCollection.h"
 #include "HTMLNames.h"
index 96a9153..2260738 100644 (file)
@@ -32,7 +32,6 @@
 #include "Editing.h"
 #include "Event.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameSelection.h"
 #include "HTMLBRElement.h"
index 7fd13fa..e9236ee 100644 (file)
@@ -33,7 +33,6 @@
 #include "ChromeClient.h"
 #include "Document.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "HTMLImageLoader.h"
 #include "HTMLNames.h"
index a9fe100..aa7fe32 100644 (file)
@@ -30,7 +30,6 @@
 #include "config.h"
 #include "ImageData.h"
 
-#include "ExceptionCode.h"
 #include <runtime/JSCInlines.h>
 #include <runtime/TypedArrayInlines.h>
 
index de0e779..e715ffb 100644 (file)
@@ -39,7 +39,6 @@
 #include "DateTimeLocalInputType.h"
 #include "EmailInputType.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "FileInputType.h"
 #include "FileList.h"
 #include "FormController.h"
index 3db03d7..f527cd3 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "Clock.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "HTMLMediaElement.h"
 #include "TimeRanges.h"
 #include <wtf/CurrentTime.h>
index 02b5093..fe674ae 100644 (file)
@@ -32,7 +32,6 @@
 #include "config.h"
 #include "NumberInputType.h"
 
-#include "ExceptionCode.h"
 #include "HTMLInputElement.h"
 #include "HTMLNames.h"
 #include "HTMLParserIdioms.h"
index 3cd11b7..7f69586 100644 (file)
@@ -26,8 +26,6 @@
 #include "config.h"
 #include "TimeRanges.h"
 
-#include "ExceptionCode.h"
-
 namespace WebCore {
 
 Ref<TimeRanges> TimeRanges::create()
index ddd873c..30e8592 100644 (file)
@@ -26,7 +26,6 @@
 #include "URLSearchParams.h"
 
 #include "DOMURL.h"
-#include "ExceptionCode.h"
 #include "URLParser.h"
 
 namespace WebCore {
index a5efa32..18fae31 100644 (file)
@@ -28,7 +28,6 @@
 #include "CanvasGradient.h"
 
 #include "CanvasStyle.h"
-#include "ExceptionCode.h"
 
 namespace WebCore {
 
index a7ff3c9..734a3c8 100644 (file)
@@ -36,7 +36,6 @@
 #include "CanvasPath.h"
 
 #include "AffineTransform.h"
-#include "ExceptionCode.h"
 #include "FloatRect.h"
 #include <wtf/MathExtras.h>
 
index 9b1cca0..d98c022 100644 (file)
@@ -40,7 +40,6 @@
 #include "EXTTextureFilterAnisotropic.h"
 #include "EXTsRGB.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "Extensions3D.h"
 #include "Frame.h"
 #include "FrameLoader.h"
@@ -3571,9 +3570,13 @@ ExceptionOr<void> WebGLRenderingContextBase::texSubImage2D(GC3Denum target, GC3D
 
         return { };
     } , [&](const RefPtr<HTMLImageElement>& image) -> ExceptionOr<void> {
-        ExceptionCode ec = 0;
-        if (isContextLostOrPending() || !validateHTMLImageElement("texSubImage2D", image.get(), ec))
-            return ec ? Exception { ec } : ExceptionOr<void> { };
+        if (isContextLostOrPending())
+            return { };
+        auto validationResult = validateHTMLImageElement("texSubImage2D", image.get());
+        if (validationResult.hasException())
+            return validationResult.releaseException();
+        if (!validationResult.returnValue())
+            return { };
 
         RefPtr<Image> imageForRender = image->cachedImage()->imageForRenderer(image->renderer());
         if (!imageForRender)
@@ -3598,9 +3601,13 @@ ExceptionOr<void> WebGLRenderingContextBase::texSubImage2D(GC3Denum target, GC3D
         texSubImage2DImpl(target, level, xoffset, yoffset, format, type, imageForRender.get(), GraphicsContext3D::HtmlDomImage, m_unpackFlipY, m_unpackPremultiplyAlpha);
         return { };
     }, [&](const RefPtr<HTMLCanvasElement>& canvas) -> ExceptionOr<void> {
-        ExceptionCode ec = 0;
-        if (isContextLostOrPending() || !validateHTMLCanvasElement("texSubImage2D", canvas.get(), ec))
-            return ec ? Exception { ec } : ExceptionOr<void> { };
+        if (isContextLostOrPending())
+            return { };
+        auto validationResult = validateHTMLCanvasElement("texSubImage2D", canvas.get());
+        if (validationResult.hasException())
+            return validationResult.releaseException();
+        if (!validationResult.returnValue())
+            return { };
 
         WebGLTexture* texture = validateTextureBinding("texSubImage2D", target, true);
         if (!texture)
@@ -3624,9 +3631,13 @@ ExceptionOr<void> WebGLRenderingContextBase::texSubImage2D(GC3Denum target, GC3D
     }
 #if ENABLE(VIDEO)
     , [&](const RefPtr<HTMLVideoElement>& video) -> ExceptionOr<void> {
-        ExceptionCode ec = 0;
-        if (isContextLostOrPending() || !validateHTMLVideoElement("texSubImage2D", video.get(), ec))
-            return ec ? Exception { ec } : ExceptionOr<void> { };
+        if (isContextLostOrPending())
+            return { };
+        auto validationResult = validateHTMLVideoElement("texSubImage2D", video.get());
+        if (validationResult.hasException())
+            return validationResult.releaseException();
+        if (!validationResult.returnValue())
+            return { };
 
         WebGLTexture* texture = validateTextureBinding("texSubImage2D", target, true);
         if (!texture)
@@ -4089,9 +4100,13 @@ ExceptionOr<void> WebGLRenderingContextBase::texImage2D(GC3Denum target, GC3Dint
             m_context->pixelStorei(GraphicsContext3D::UNPACK_ALIGNMENT, m_unpackAlignment);
         return { };
     }, [&](const RefPtr<HTMLImageElement>& image) -> ExceptionOr<void> {
-        ExceptionCode ec = 0;
-        if (isContextLostOrPending() || !validateHTMLImageElement("texImage2D", image.get(), ec))
-            return ec ? Exception { ec } : ExceptionOr<void> { };
+        if (isContextLostOrPending())
+            return { };
+        auto validationResult = validateHTMLImageElement("texImage2D", image.get());
+        if (validationResult.hasException())
+            return validationResult.releaseException();
+        if (!validationResult.returnValue())
+            return { };
 
         RefPtr<Image> imageForRender = image->cachedImage()->imageForRenderer(image->renderer());
         if (!imageForRender)
@@ -4106,9 +4121,15 @@ ExceptionOr<void> WebGLRenderingContextBase::texImage2D(GC3Denum target, GC3Dint
         texImage2DImpl(target, level, internalformat, format, type, imageForRender.get(), GraphicsContext3D::HtmlDomImage, m_unpackFlipY, m_unpackPremultiplyAlpha);
         return { };
     }, [&](const RefPtr<HTMLCanvasElement>& canvas) -> ExceptionOr<void> {
-        ExceptionCode ec = 0;
-        if (isContextLostOrPending() || !validateHTMLCanvasElement("texImage2D", canvas.get(), ec) || !validateTexFunc("texImage2D", TexImage, SourceHTMLCanvasElement, target, level, internalformat, canvas->width(), canvas->height(), 0, format, type, 0, 0))
-            return ec ? Exception { ec } : ExceptionOr<void> { };
+        if (isContextLostOrPending())
+            return { };
+        auto validationResult = validateHTMLCanvasElement("texImage2D", canvas.get());
+        if (validationResult.hasException())
+            return validationResult.releaseException();
+        if (!validationResult.returnValue())
+            return { };
+        if (!validateTexFunc("texImage2D", TexImage, SourceHTMLCanvasElement, target, level, internalformat, canvas->width(), canvas->height(), 0, format, type, 0, 0))
+            return { };
 
         WebGLTexture* texture = validateTextureBinding("texImage2D", target, true);
         // If possible, copy from the canvas element directly to the texture
@@ -4138,10 +4159,15 @@ ExceptionOr<void> WebGLRenderingContextBase::texImage2D(GC3Denum target, GC3Dint
     }
 #if ENABLE(VIDEO)
     , [&](const RefPtr<HTMLVideoElement>& video) -> ExceptionOr<void> {
-        ExceptionCode ec = 0;
-        if (isContextLostOrPending() || !validateHTMLVideoElement("texImage2D", video.get(), ec)
-            || !validateTexFunc("texImage2D", TexImage, SourceHTMLVideoElement, target, level, internalformat, video->videoWidth(), video->videoHeight(), 0, format, type, 0, 0))
-            return ec ? Exception { ec } : ExceptionOr<void> { };
+        if (isContextLostOrPending())
+            return { };
+        auto validationResult = validateHTMLVideoElement("texImage2D", video.get());
+        if (validationResult.hasException())
+            return validationResult.releaseException();
+        if (!validationResult.returnValue())
+            return { };
+        if (!validateTexFunc("texImage2D", TexImage, SourceHTMLVideoElement, target, level, internalformat, video->videoWidth(), video->videoHeight(), 0, format, type, 0, 0))
+            return { };
 
         // Go through the fast path doing a GPU-GPU textures copy without a readback to system memory if possible.
         // Otherwise, it will fall back to the normal SW path.
@@ -5353,7 +5379,7 @@ WebGLBuffer* WebGLRenderingContextBase::validateBufferDataParameters(const char*
     return nullptr;
 }
 
-bool WebGLRenderingContextBase::validateHTMLImageElement(const char* functionName, HTMLImageElement* image, ExceptionCode& ec)
+ExceptionOr<bool> WebGLRenderingContextBase::validateHTMLImageElement(const char* functionName, HTMLImageElement* image)
 {
     if (!image || !image->cachedImage()) {
         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no image");
@@ -5364,38 +5390,32 @@ bool WebGLRenderingContextBase::validateHTMLImageElement(const char* functionNam
         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "invalid image");
         return false;
     }
-    if (wouldTaintOrigin(image)) {
-        ec = SECURITY_ERR;
-        return false;
-    }
+    if (wouldTaintOrigin(image))
+        return Exception { SECURITY_ERR };
     return true;
 }
 
-bool WebGLRenderingContextBase::validateHTMLCanvasElement(const char* functionName, HTMLCanvasElement* canvas, ExceptionCode& ec)
+ExceptionOr<bool> WebGLRenderingContextBase::validateHTMLCanvasElement(const char* functionName, HTMLCanvasElement* canvas)
 {
     if (!canvas || !canvas->buffer()) {
         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no canvas");
         return false;
     }
-    if (wouldTaintOrigin(canvas)) {
-        ec = SECURITY_ERR;
-        return false;
-    }
+    if (wouldTaintOrigin(canvas))
+        return Exception { SECURITY_ERR };
     return true;
 }
 
 #if ENABLE(VIDEO)
 
-bool WebGLRenderingContextBase::validateHTMLVideoElement(const char* functionName, HTMLVideoElement* video, ExceptionCode& ec)
+ExceptionOr<bool> WebGLRenderingContextBase::validateHTMLVideoElement(const char* functionName, HTMLVideoElement* video)
 {
     if (!video || !video->videoWidth() || !video->videoHeight()) {
         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, functionName, "no video");
         return false;
     }
-    if (wouldTaintOrigin(video)) {
-        ec = SECURITY_ERR;
-        return false;
-    }
+    if (wouldTaintOrigin(video))
+        return Exception { SECURITY_ERR };
     return true;
 }
 
index 123e3f6..70f76ce 100644 (file)
@@ -786,10 +786,10 @@ protected:
     WebGLBuffer* validateBufferDataParameters(const char* functionName, GC3Denum target, GC3Denum usage);
 
     // Helper function for tex{Sub}Image2D to make sure image is ready.
-    bool validateHTMLImageElement(const char* functionName, HTMLImageElement*, ExceptionCode&);
-    bool validateHTMLCanvasElement(const char* functionName, HTMLCanvasElement*, ExceptionCode&);
+    ExceptionOr<bool> validateHTMLImageElement(const char* functionName, HTMLImageElement*);
+    ExceptionOr<bool> validateHTMLCanvasElement(const char* functionName, HTMLCanvasElement*);
 #if ENABLE(VIDEO)
-    bool validateHTMLVideoElement(const char* functionName, HTMLVideoElement*, ExceptionCode&);
+    ExceptionOr<bool> validateHTMLVideoElement(const char* functionName, HTMLVideoElement*);
 #endif
 
     // Helper functions for vertexAttribNf{v}.
index e664e38..78fda04 100644 (file)
@@ -35,7 +35,6 @@
 #if ENABLE(VIDEO_TRACK)
 
 #include "Event.h"
-#include "ExceptionCode.h"
 #include "HTMLMediaElement.h"
 #include "SourceBuffer.h"
 #include "TextTrackCueList.h"
index 7eba351..bc9732b 100644 (file)
@@ -38,7 +38,6 @@
 #include "CSSValueKeywords.h"
 #include "DocumentFragment.h"
 #include "Event.h"
-#include "ExceptionCode.h"
 #include "HTMLDivElement.h"
 #include "HTMLSpanElement.h"
 #include "Logging.h"
index e379860..c69b425 100644 (file)
@@ -37,7 +37,6 @@
 #include "DOMRect.h"
 #include "DOMTokenList.h"
 #include "ElementChildIterator.h"
-#include "ExceptionCode.h"
 #include "HTMLDivElement.h"
 #include "HTMLParserIdioms.h"
 #include "Logging.h"
index 69890a6..00b142d 100644 (file)
@@ -41,7 +41,6 @@
 #include "ContentSecurityPolicy.h"
 #include "Document.h"
 #include "Element.h"
-#include "ExceptionCode.h"
 #include "HTMLHeadElement.h"
 #include "HTMLNames.h"
 #include "HTMLParserIdioms.h"
index c542407..3859a1b 100644 (file)
@@ -29,7 +29,6 @@
 #include "ApplicationCacheHost.h"
 #include "Document.h"
 #include "DocumentLoader.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 
index 244a1f1..89c905d 100644 (file)
@@ -26,7 +26,6 @@
 #include "config.h"
 #include "Base64Utilities.h"
 
-#include "ExceptionCode.h"
 #include <wtf/text/Base64.h>
 
 namespace WebCore {
index a6423ea..772f595 100644 (file)
@@ -35,7 +35,6 @@
 #include "CommonCryptoUtilities.h"
 #endif
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "SubtleCrypto.h"
 #include "WebKitSubtleCrypto.h"
 #include <runtime/ArrayBufferView.h>
index 3ae5bb3..120ca2c 100644 (file)
@@ -33,7 +33,6 @@
 
 #include "Document.h"
 #include "Editing.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameSelection.h"
 #include "Range.h"
index 2d386e2..9d1946f 100644 (file)
@@ -55,7 +55,6 @@
 #include "EventHandler.h"
 #include "EventListener.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "FloatRect.h"
 #include "FocusController.h"
 #include "FrameLoadRequest.h"
index 3794309..54b0d61 100644 (file)
@@ -35,7 +35,6 @@
 
 #include "ContentSecurityPolicy.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "MessageEvent.h"
 #include "ResourceError.h"
 #include "ResourceRequest.h"
index 53a1b10..d1c4cd4 100644 (file)
@@ -28,7 +28,6 @@
 
 #include "BackForwardController.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "FrameLoaderClient.h"
index 554b99f..8fc12d4 100644 (file)
@@ -31,7 +31,6 @@
 
 #include "DOMWindow.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "FrameLoader.h"
 #include "NavigationScheduler.h"
index b2cce72..2fb471e 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "DOMWindow.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "Performance.h"
 #include "PerformanceObserverEntryList.h"
 #include "WorkerGlobalScope.h"
index ca3610d..ac6be72 100644 (file)
@@ -30,7 +30,6 @@
 #if ENABLE(WEB_TIMING)
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "PerformanceTiming.h"
 #include <wtf/NeverDestroyed.h>
 
index 0ff70e2..1615344 100644 (file)
@@ -28,7 +28,6 @@
 
 #if ENABLE(USER_MESSAGE_HANDLERS)
 
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "SerializedScriptValue.h"
 
index 74d95b8..53b32dd 100644 (file)
@@ -28,7 +28,6 @@
 
 #if HAVE(AVFOUNDATION_LOADER_DELEGATE) && ENABLE(LEGACY_ENCRYPTED_MEDIA)
 
-#include "ExceptionCode.h"
 #include "LegacyCDM.h"
 #include "LegacyCDMSession.h"
 #include "MediaPlayer.h"
index f4ceb96..ba6e28a 100644 (file)
@@ -27,7 +27,6 @@
 #include "Storage.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "Frame.h"
 #include "Page.h"
 #include "SchemeRegistry.h"
index ddcea74..b9b5659 100644 (file)
@@ -25,7 +25,6 @@
 
 #if ENABLE(SVG_FONTS)
 
-#include "ExceptionCode.h"
 #include "RenderInline.h"
 #include "RenderSVGTSpan.h"
 #include "SVGAltGlyphDefElement.h"
index c7d5a5f..e03184f 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGAngleValue.h"
 #include "SVGPropertyTearOff.h"
 
index 9511d14..4ef5aed 100644 (file)
@@ -22,7 +22,6 @@
 #include "config.h"
 #include "SVGAngleValue.h"
 
-#include "ExceptionCode.h"
 #include "SVGParserUtilities.h"
 #include <wtf/MathExtras.h>
 #include <wtf/text/StringView.h>
index 352c2d1..3a8482f 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGLengthValue.h"
 #include "SVGPropertyTearOff.h"
 
index 89ee868..fcecdf9 100644 (file)
@@ -25,7 +25,6 @@
 #include "SVGLengthContext.h"
 
 #include "CSSHelper.h"
-#include "ExceptionCode.h"
 #include "FontMetrics.h"
 #include "Frame.h"
 #include "LengthFunctions.h"
index 6387e4a..8f56305 100644 (file)
@@ -24,7 +24,6 @@
 
 #include "CSSHelper.h"
 #include "CSSPrimitiveValue.h"
-#include "ExceptionCode.h"
 #include "FloatConversion.h"
 #include "SVGNames.h"
 #include "SVGParserUtilities.h"
index 85eb823..347b0cb 100644 (file)
@@ -23,7 +23,6 @@
 #include "config.h"
 #include "SVGLocatable.h"
 
-#include "ExceptionCode.h"
 #include "RenderElement.h"
 #include "SVGGraphicsElement.h"
 #include "SVGImageElement.h"
index 44a91f6..7818d1d 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGMatrixValue.h"
 #include "SVGPropertyTearOff.h"
 
index a9d9de1..62550e4 100644 (file)
@@ -20,7 +20,6 @@
 #pragma once
 
 #include "AffineTransform.h"
-#include "ExceptionCode.h"
 #include "ExceptionOr.h"
 
 namespace WebCore {
index 13b8a0a..873a8f4 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGPropertyTearOff.h"
 
 namespace WebCore {
index e9c6dc9..ac03b48 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "FloatPoint.h"
 #include "SVGMatrix.h"
 #include "SVGPropertyTearOff.h"
index 44b7fc4..3ce5a5e 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGPreserveAspectRatioValue.h"
 #include "SVGPropertyTearOff.h"
 
index d5d393e..2041d0c 100644 (file)
@@ -23,7 +23,6 @@
 #include "SVGPreserveAspectRatioValue.h"
 
 #include "AffineTransform.h"
-#include "ExceptionCode.h"
 #include "FloatRect.h"
 #include "SVGParserUtilities.h"
 #include <wtf/text/StringView.h>
index e817bd2..6986138 100644 (file)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGMatrix.h"
 #include "SVGPropertyTearOff.h"
 #include "SVGTransformValue.h"
index ab4e739..8498ceb 100644 (file)
@@ -19,7 +19,6 @@
 
 #pragma once
 
-#include "ExceptionCode.h"
 #include "SVGPropertyTearOff.h"
 #include "SVGPropertyTraits.h"
 #include <wtf/Ref.h>
index 12d19d0..d8f5b6e 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "CaptionUserPreferences.h"
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "FontCache.h"
 #include "FrameView.h"
 #include "Language.h"
index 656f792..01064fa 100644 (file)
@@ -57,7 +57,6 @@
 #include "Editor.h"
 #include "Element.h"
 #include "EventHandler.h"
-#include "ExceptionCode.h"
 #include "ExtensionStyleSheets.h"
 #include "File.h"
 #include "FontCache.h"
index 39b95d0..dd33933 100644 (file)
@@ -32,7 +32,6 @@
 #include "AbstractWorker.h"
 
 #include "ContentSecurityPolicy.h"
-#include "ExceptionCode.h"
 #include "ScriptExecutionContext.h"
 #include "SecurityOrigin.h"
 
index f40929e..71ed976 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "ContentSecurityPolicy.h"
 #include "Crypto.h"
-#include "ExceptionCode.h"
 #include "IDBConnectionProxy.h"
 #include "InspectorInstrumentation.h"
 #include "Performance.h"
index 2f941e9..daf2db6 100644 (file)
@@ -20,7 +20,6 @@
 #include "DOMParser.h"
 
 #include "DOMImplementation.h"
-#include "ExceptionCode.h"
 #include "SecurityOriginPolicy.h"
 
 namespace WebCore {
index f9b39f5..6430899 100644 (file)
@@ -30,7 +30,6 @@
 #include "DOMFormData.h"
 #include "Event.h"
 #include "EventNames.h"
-#include "ExceptionCode.h"
 #include "File.h"
 #include "HTMLDocument.h"
 #include "HTTPHeaderNames.h"
@@ -743,7 +742,7 @@ ExceptionOr<void> XMLHttpRequest::createRequest()
         }
     }
 
-    m_exceptionCode = 0;
+    m_exceptionCode = NoException;
     m_error = false;
 
     if (m_async) {
index 97bc6c6..48e1894 100644 (file)
@@ -224,7 +224,7 @@ private:
     unsigned m_lastSendLineNumber { 0 };
     unsigned m_lastSendColumnNumber { 0 };
     String m_lastSendURL;
-    ExceptionCode m_exceptionCode { 0 };
+    ExceptionCode m_exceptionCode { NoException };
 
     XMLHttpRequestProgressEventThrottle m_progressEventThrottle;
 
index 3aa141b..f32ad82 100644 (file)
@@ -27,7 +27,6 @@
 #include "config.h"
 #include "XPathEvaluator.h"
 
-#include "ExceptionCode.h"
 #include "NativeXPathNSResolver.h"
 #include "XPathExpression.h"
 #include "XPathResult.h"
index 0cd6733..d0258e7 100644 (file)
@@ -28,7 +28,6 @@
 #include "XPathExpression.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "XPathNSResolver.h"
 #include "XPathParser.h"
 #include "XPathResult.h"
index c331c08..8324615 100644 (file)
@@ -28,7 +28,6 @@
 #include "config.h"
 #include "XPathParser.h"
 
-#include "ExceptionCode.h"
 #include "XPathEvaluator.h"
 #include "XPathNSResolver.h"
 #include "XPathPath.h"
index 9cf89cc..2e3318c 100644 (file)
@@ -28,7 +28,6 @@
 #include "XPathResult.h"
 
 #include "Document.h"
-#include "ExceptionCode.h"
 #include "XPathEvaluator.h"
 
 namespace WebCore {
index d58ba24..5533103 100644 (file)
@@ -1,3 +1,17 @@
+2017-07-24  Chris Dumez  <cdumez@apple.com>
+
+        Make ExceptionCode a proper enumeration
+        https://bugs.webkit.org/show_bug.cgi?id=174771
+
+        Reviewed by Sam Weinig.
+
+        Make ExceptionCode a proper enumeration instead of a typedef to uint8_t.
+
+        * DOMCoreClasses.cpp:
+        (DOMDocument::createEvent):
+        * WebView.cpp:
+        (WebView::prepareCandidateWindow):
+
 2017-07-21  Andreas Kling  <akling@apple.com>
 
         Use more references in event dispatch code
index 1e7130e..1b43dd9 100644 (file)
@@ -821,7 +821,6 @@ HRESULT DOMDocument::createEvent(_In_ BSTR eventType, _COM_Outptr_opt_ IDOMEvent
     *result = nullptr;
 
     String eventTypeString(eventType, SysStringLen(eventType));
-    WebCore::ExceptionCode ec = 0;
     auto createEventResult = m_document->createEvent(eventTypeString);
     if (createEventResult.hasException())
         return E_FAIL;
index d066d3a..3b3d308 100644 (file)
@@ -6042,7 +6042,6 @@ void WebView::prepareCandidateWindow(Frame* targetFrame, HIMC hInputContext)
 {
     IntRect caret;
     if (RefPtr<Range> range = targetFrame->selection().selection().toNormalizedRange()) {
-        ExceptionCode ec = 0;
         RefPtr<Range> tempRange = range->cloneRange();
         caret = targetFrame->editor().firstRectForRange(tempRange.get());
     }