| OLD | NEW | 
|---|
| 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 13 matching lines...) Expand all  Loading... | 
| 24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
| 25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
| 26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| 28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 29  */ | 29  */ | 
| 30 | 30 | 
| 31 #ifndef ContentDecryptionModuleSession_h | 31 #ifndef ContentDecryptionModuleSession_h | 
| 32 #define ContentDecryptionModuleSession_h | 32 #define ContentDecryptionModuleSession_h | 
| 33 | 33 | 
|  | 34 #include "platform/PlatformExport.h" | 
| 34 #include "public/platform/WebContentDecryptionModuleSession.h" | 35 #include "public/platform/WebContentDecryptionModuleSession.h" | 
| 35 #include "wtf/OwnPtr.h" | 36 #include "wtf/OwnPtr.h" | 
| 36 #include "wtf/PassOwnPtr.h" | 37 #include "wtf/PassOwnPtr.h" | 
| 37 #include "wtf/text/WTFString.h" | 38 #include "wtf/text/WTFString.h" | 
| 38 | 39 | 
| 39 namespace WebKit { | 40 namespace WebKit { | 
| 40 class WebContentDecryptionModule; | 41 class WebContentDecryptionModule; | 
| 41 } | 42 } | 
| 42 | 43 | 
| 43 namespace WTF { | 44 namespace WTF { | 
| 44 class Uint8Array; | 45 class Uint8Array; | 
| 45 } | 46 } | 
| 46 | 47 | 
| 47 namespace WebCore { | 48 namespace WebCore { | 
| 48 | 49 | 
| 49 class KURL; | 50 class KURL; | 
| 50 | 51 | 
| 51 class ContentDecryptionModuleSessionClient { | 52 class PLATFORM_EXPORT ContentDecryptionModuleSessionClient { | 
| 52 public: | 53 public: | 
| 53     enum MediaKeyErrorCode { UnknownError = 1, ClientError }; | 54     enum MediaKeyErrorCode { UnknownError = 1, ClientError }; | 
| 54     virtual void keyAdded() = 0; | 55     virtual void keyAdded() = 0; | 
| 55     virtual void keyError(MediaKeyErrorCode, unsigned long systemCode) = 0; | 56     virtual void keyError(MediaKeyErrorCode, unsigned long systemCode) = 0; | 
| 56     virtual void keyMessage(const unsigned char* message, size_t messageLength, 
    const KURL& destinationURL) = 0; | 57     virtual void keyMessage(const unsigned char* message, size_t messageLength, 
    const KURL& destinationURL) = 0; | 
| 57 }; | 58 }; | 
| 58 | 59 | 
| 59 class ContentDecryptionModuleSession : private WebKit::WebContentDecryptionModul
    eSession::Client { | 60 class PLATFORM_EXPORT ContentDecryptionModuleSession : private WebKit::WebConten
    tDecryptionModuleSession::Client { | 
|  | 61     WTF_MAKE_NONCOPYABLE(ContentDecryptionModuleSession); | 
| 60 public: | 62 public: | 
| 61     static PassOwnPtr<ContentDecryptionModuleSession> create(ContentDecryptionMo
    duleSessionClient*); | 63     static PassOwnPtr<ContentDecryptionModuleSession> create(ContentDecryptionMo
    duleSessionClient*); | 
| 62 | 64 | 
| 63     ContentDecryptionModuleSession(WebKit::WebContentDecryptionModule*, ContentD
    ecryptionModuleSessionClient*); | 65     ContentDecryptionModuleSession(WebKit::WebContentDecryptionModule*, ContentD
    ecryptionModuleSessionClient*); | 
| 64     ~ContentDecryptionModuleSession(); | 66     ~ContentDecryptionModuleSession(); | 
| 65 | 67 | 
| 66     String sessionId() const; | 68     String sessionId() const; | 
| 67     void generateKeyRequest(const String& mimeType, const WTF::Uint8Array& initD
    ata); | 69     void generateKeyRequest(const String& mimeType, const WTF::Uint8Array& initD
    ata); | 
| 68     void update(const WTF::Uint8Array& key); | 70     void update(const WTF::Uint8Array& key); | 
| 69     void close(); | 71     void close(); | 
| 70 | 72 | 
| 71 private: | 73 private: | 
| 72     // WebKit::WebContentDecryptionModuleSession::Client | 74     // WebKit::WebContentDecryptionModuleSession::Client | 
| 73     virtual void keyAdded() OVERRIDE; | 75     virtual void keyAdded() OVERRIDE; | 
| 74     virtual void keyError(MediaKeyErrorCode, unsigned long systemCode) OVERRIDE; | 76     virtual void keyError(MediaKeyErrorCode, unsigned long systemCode) OVERRIDE; | 
| 75     virtual void keyMessage(const unsigned char* message, size_t messageLength, 
    const WebKit::WebURL& destinationURL) OVERRIDE; | 77     virtual void keyMessage(const unsigned char* message, size_t messageLength, 
    const WebKit::WebURL& destinationURL) OVERRIDE; | 
| 76 | 78 | 
| 77     OwnPtr<WebKit::WebContentDecryptionModuleSession> m_session; | 79     OwnPtr<WebKit::WebContentDecryptionModuleSession> m_session; | 
| 78 | 80 | 
| 79     ContentDecryptionModuleSessionClient* m_client; | 81     ContentDecryptionModuleSessionClient* m_client; | 
| 80 }; | 82 }; | 
| 81 | 83 | 
| 82 } // namespace WebCore | 84 } // namespace WebCore | 
| 83 | 85 | 
| 84 #endif // ContentDecryptionModuleSession_h | 86 #endif // ContentDecryptionModuleSession_h | 
| OLD | NEW | 
|---|