| Index: public/platform/WebCryptoKeyAlgorithm.h
|
| diff --git a/public/platform/WebPrerender.h b/public/platform/WebCryptoKeyAlgorithm.h
|
| similarity index 51%
|
| copy from public/platform/WebPrerender.h
|
| copy to public/platform/WebCryptoKeyAlgorithm.h
|
| index eb77bf9e1662a862698aa469b2c96620bab0dd94..d35e71561d9c68c62c65385d66d6a11f7ca2c025 100644
|
| --- a/public/platform/WebPrerender.h
|
| +++ b/public/platform/WebCryptoKeyAlgorithm.h
|
| @@ -1,5 +1,5 @@
|
| /*
|
| - * Copyright (C) 2012 Google Inc. All rights reserved.
|
| + * Copyright (C) 2014 Google Inc. All rights reserved.
|
| *
|
| * Redistribution and use in source and binary forms, with or without
|
| * modification, are permitted provided that the following conditions are
|
| @@ -28,74 +28,66 @@
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| -#ifndef WebPrerender_h
|
| -#define WebPrerender_h
|
| +#ifndef WebCryptoKeyAlgorithm_h
|
| +#define WebCryptoKeyAlgorithm_h
|
|
|
| #include "WebCommon.h"
|
| +#include "WebCryptoAlgorithm.h"
|
| +#include "WebCryptoKeyAlgorithmParams.h"
|
| #include "WebPrivatePtr.h"
|
| -#include "WebReferrerPolicy.h"
|
| -#include "WebString.h"
|
| -#include "WebURL.h"
|
|
|
| #if INSIDE_BLINK
|
| -#include "wtf/PassRefPtr.h"
|
| +#include "wtf/PassOwnPtr.h"
|
| #endif
|
|
|
| -namespace WebCore {
|
| -class Prerender;
|
| -}
|
| -
|
| namespace blink {
|
|
|
| -// WebPrerenderRelType is a bitfield since multiple rel attributes can be set on the same prerender.
|
| -enum WebPrerenderRelType {
|
| - PrerenderRelTypePrerender = 0x1,
|
| - PrerenderRelTypeNext = 0x2,
|
| -};
|
| +class WebCryptoKeyAlgorithmPrivate;
|
|
|
| -class WebPrerender {
|
| +// WebCryptoKeyAlgorithm represents the algorithm used to generate a key.
|
| +// * Immutable
|
| +// * Threadsafe
|
| +// * Copiable (cheaply)
|
| +class WebCryptoKeyAlgorithm {
|
| public:
|
| - class ExtraData {
|
| - public:
|
| - virtual ~ExtraData() { }
|
| - };
|
| -
|
| - ~WebPrerender() { reset(); }
|
| - WebPrerender() { }
|
| - WebPrerender(const WebPrerender& other) { assign(other); }
|
| - WebPrerender& operator=(const WebPrerender& other)
|
| + WebCryptoKeyAlgorithm() { }
|
| +
|
| +#if INSIDE_BLINK
|
| + BLINK_PLATFORM_EXPORT WebCryptoKeyAlgorithm(WebCryptoAlgorithmId, PassOwnPtr<WebCryptoKeyAlgorithmParams>);
|
| +#endif
|
| +
|
| + BLINK_PLATFORM_EXPORT static WebCryptoKeyAlgorithm adoptParamsAndCreate(WebCryptoAlgorithmId, WebCryptoKeyAlgorithmParams*);
|
| +
|
| + ~WebCryptoKeyAlgorithm() { reset(); }
|
| +
|
| + WebCryptoKeyAlgorithm(const WebCryptoKeyAlgorithm& other) { assign(other); }
|
| + WebCryptoKeyAlgorithm& operator=(const WebCryptoKeyAlgorithm& other)
|
| {
|
| assign(other);
|
| return *this;
|
| }
|
|
|
| -#if INSIDE_BLINK
|
| - BLINK_PLATFORM_EXPORT explicit WebPrerender(PassRefPtr<WebCore::Prerender>);
|
| -
|
| - BLINK_PLATFORM_EXPORT const WebCore::Prerender* toPrerender() const;
|
| -#endif
|
| -
|
| - BLINK_PLATFORM_EXPORT void reset();
|
| - BLINK_PLATFORM_EXPORT void assign(const WebPrerender&);
|
| BLINK_PLATFORM_EXPORT bool isNull() const;
|
|
|
| - BLINK_PLATFORM_EXPORT WebURL url() const;
|
| - BLINK_PLATFORM_EXPORT WebString referrer() const;
|
| - BLINK_PLATFORM_EXPORT unsigned relTypes() const;
|
| - BLINK_PLATFORM_EXPORT WebReferrerPolicy referrerPolicy() const;
|
| + BLINK_PLATFORM_EXPORT WebCryptoAlgorithmId id() const;
|
|
|
| - BLINK_PLATFORM_EXPORT void setExtraData(ExtraData*);
|
| - BLINK_PLATFORM_EXPORT const ExtraData* extraData() const;
|
| + BLINK_PLATFORM_EXPORT WebCryptoKeyAlgorithmParamsType paramsType() const;
|
|
|
| - BLINK_PLATFORM_EXPORT void didStartPrerender();
|
| - BLINK_PLATFORM_EXPORT void didStopPrerender();
|
| - BLINK_PLATFORM_EXPORT void didSendLoadForPrerender();
|
| - BLINK_PLATFORM_EXPORT void didSendDOMContentLoadedForPrerender();
|
| + // Returns the type-specific parameters for this key. If the requested
|
| + // parameters are not applicable (for instance an HMAC key does not have
|
| + // any AES parameters) then returns 0.
|
| + BLINK_PLATFORM_EXPORT WebCryptoAesKeyAlgorithmParams* aesParams() const;
|
| + BLINK_PLATFORM_EXPORT WebCryptoHmacKeyAlgorithmParams* hmacParams() const;
|
| + BLINK_PLATFORM_EXPORT WebCryptoRsaKeyAlgorithmParams* rsaParams() const;
|
| + BLINK_PLATFORM_EXPORT WebCryptoRsaHashedKeyAlgorithmParams* rsaHashedParams() const;
|
|
|
| private:
|
| - WebPrivatePtr<WebCore::Prerender> m_private;
|
| + BLINK_PLATFORM_EXPORT void assign(const WebCryptoKeyAlgorithm& other);
|
| + BLINK_PLATFORM_EXPORT void reset();
|
| +
|
| + WebPrivatePtr<WebCryptoKeyAlgorithmPrivate> m_private;
|
| };
|
|
|
| } // namespace blink
|
|
|
| -#endif // WebPrerender_h
|
| +#endif
|
|
|