Add a DOMPromiseDeferred method to handle ExceptionOr<> results
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Aug 2017 18:07:26 +0000 (18:07 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Aug 2017 18:07:26 +0000 (18:07 +0000)
commitaf95fc86c53b2a07f1a1905faef266aa5e7b5f77
treeb1c6c0888cdda45be950076de6ad5b2121434d33
parentd6c5c63babaeb461b835f66db44e8a18572e35d1
Add a DOMPromiseDeferred method to handle ExceptionOr<> results
https://bugs.webkit.org/show_bug.cgi?id=175603

Patch by Youenn Fablet <youenn@apple.com> on 2017-08-17
Reviewed by Darin Adler.

No change of behavior.

Introduce DOMPromiseDeferred::settle to reject/resolve a promise with an ExceptionOr<>.
Making batchPutOperation/batchDeleteOperation take a Function with an ExceptionOr<>.
Using DOMPromiseDeferred::settle in Cache put/remove.
Updated CacheStorageConnection to create ExceptionOr<> from CacheStorageConnection::Error.

* Modules/cache/Cache.cpp:
(WebCore::Cache::put):
(WebCore::Cache::remove):
(WebCore::Cache::batchDeleteOperation):
(WebCore::Cache::batchPutOperation):
* Modules/cache/Cache.h:
* Modules/cache/CacheStorage.cpp:
(WebCore::CacheStorage::open):
(WebCore::CacheStorage::remove):
* Modules/cache/CacheStorageConnection.cpp:
(WebCore::CacheStorageConnection::errorToException):
* Modules/cache/CacheStorageConnection.h:
(WebCore::CacheStorageConnection::errorToException):
(WebCore::CacheStorageConnection::exceptionOrResult):
* bindings/js/JSDOMPromiseDeferred.h:
(WebCore::DOMPromiseDeferred::settle):
(WebCore::DOMPromiseDeferred<void>::settle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/Modules/cache/Cache.cpp
Source/WebCore/Modules/cache/Cache.h
Source/WebCore/Modules/cache/CacheStorage.cpp
Source/WebCore/Modules/cache/CacheStorageConnection.cpp
Source/WebCore/Modules/cache/CacheStorageConnection.h
Source/WebCore/bindings/js/JSDOMPromiseDeferred.h