Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Side by Side Diff: Source/modules/crypto/CryptoResultImpl.h

Issue 26004002: Decouple ScriptPromise creation from ScriptPromiseResolver. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 28 matching lines...) Expand all
39 namespace WebCore { 39 namespace WebCore {
40 40
41 class ScriptPromiseResolver; 41 class ScriptPromiseResolver;
42 42
43 // Wrapper around a Promise to notify completion of the crypto operation. 43 // Wrapper around a Promise to notify completion of the crypto operation.
44 // Platform cannot know about Promises which are declared in bindings. 44 // Platform cannot know about Promises which are declared in bindings.
45 class CryptoResultImpl : public CryptoResult { 45 class CryptoResultImpl : public CryptoResult {
46 public: 46 public:
47 ~CryptoResultImpl(); 47 ~CryptoResultImpl();
48 48
49 static PassRefPtr<CryptoResultImpl> create(); 49 static PassRefPtr<CryptoResultImpl> create(ScriptPromise);
50 50
51 virtual void completeWithError() OVERRIDE; 51 virtual void completeWithError() OVERRIDE;
52 virtual void completeWithBuffer(const WebKit::WebArrayBuffer&) OVERRIDE; 52 virtual void completeWithBuffer(const WebKit::WebArrayBuffer&) OVERRIDE;
53 virtual void completeWithBoolean(bool) OVERRIDE; 53 virtual void completeWithBoolean(bool) OVERRIDE;
54 virtual void completeWithKey(const WebKit::WebCryptoKey&) OVERRIDE; 54 virtual void completeWithKey(const WebKit::WebCryptoKey&) OVERRIDE;
55 virtual void completeWithKeyPair(const WebKit::WebCryptoKey& publicKey, cons t WebKit::WebCryptoKey& privateKey) OVERRIDE; 55 virtual void completeWithKeyPair(const WebKit::WebCryptoKey& publicKey, cons t WebKit::WebCryptoKey& privateKey) OVERRIDE;
56 56
57 ScriptPromise promise();
58
59 private: 57 private:
60 CryptoResultImpl(); 58 explicit CryptoResultImpl(ScriptPromise);
61 void finish(); 59 void finish();
62 60
63 RefPtr<ScriptPromiseResolver> m_promiseResolver; 61 RefPtr<ScriptPromiseResolver> m_promiseResolver;
64 bool m_finished; 62 bool m_finished;
65 }; 63 };
66 64
67 } // namespace WebCore 65 } // namespace WebCore
68 66
69 #endif 67 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698