| Index: Source/modules/cachestorage/Cache.cpp
|
| diff --git a/Source/modules/cachestorage/Cache.cpp b/Source/modules/cachestorage/Cache.cpp
|
| index e26f38a07b7ae4176c592184ae64a0fa2b14b98e..bbe9c75e7693d29c83e60a08481562561573c82e 100644
|
| --- a/Source/modules/cachestorage/Cache.cpp
|
| +++ b/Source/modules/cachestorage/Cache.cpp
|
| @@ -36,8 +36,10 @@ public:
|
| m_resolver.clear();
|
| }
|
|
|
| - virtual void onError(WebServiceWorkerCacheError* reason) override
|
| + // Ownership of |rawReason| must be passed.
|
| + virtual void onError(WebServiceWorkerCacheError* rawReason) override
|
| {
|
| + OwnPtr<WebServiceWorkerCacheError> reason = adoptPtr(rawReason);
|
| if (*reason == WebServiceWorkerCacheErrorNotFound)
|
| m_resolver->resolve();
|
| else
|
| @@ -65,8 +67,10 @@ public:
|
| m_resolver.clear();
|
| }
|
|
|
| - virtual void onError(WebServiceWorkerCacheError* reason) override
|
| + // Ownership of |rawReason| must be passed.
|
| + virtual void onError(WebServiceWorkerCacheError* rawReason) override
|
| {
|
| + OwnPtr<WebServiceWorkerCacheError> reason = adoptPtr(rawReason);
|
| m_resolver->reject(CacheStorageError::createException(*reason));
|
| m_resolver.clear();
|
| }
|
| @@ -88,8 +92,10 @@ public:
|
| m_resolver.clear();
|
| }
|
|
|
| - void onError(WebServiceWorkerCacheError* reason) override
|
| + // Ownership of |rawReason| must be passed.
|
| + virtual void onError(WebServiceWorkerCacheError* rawReason) override
|
| {
|
| + OwnPtr<WebServiceWorkerCacheError> reason = adoptPtr(rawReason);
|
| if (*reason == WebServiceWorkerCacheErrorNotFound)
|
| m_resolver->resolve(false);
|
| else
|
| @@ -117,8 +123,10 @@ public:
|
| m_resolver.clear();
|
| }
|
|
|
| - virtual void onError(WebServiceWorkerCacheError* reason) override
|
| + // Ownership of |rawReason| must be passed.
|
| + virtual void onError(WebServiceWorkerCacheError* rawReason) override
|
| {
|
| + OwnPtr<WebServiceWorkerCacheError> reason = adoptPtr(rawReason);
|
| m_resolver->reject(CacheStorageError::createException(*reason));
|
| m_resolver.clear();
|
| }
|
|
|