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

Side by Side Diff: Source/modules/encryptedmedia/MediaKeys.h

Issue 665213002: Implement navigator.requestMediaKeySystemAccess() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: update Created 6 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 Apple Inc. All rights reserved. 2 * Copyright (C) 2013 Apple 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 29 matching lines...) Expand all
40 class ExecutionContext; 40 class ExecutionContext;
41 class MediaKeySession; 41 class MediaKeySession;
42 class ScriptState; 42 class ScriptState;
43 class WebContentDecryptionModule; 43 class WebContentDecryptionModule;
44 44
45 // References are held by JS and HTMLMediaElement. 45 // References are held by JS and HTMLMediaElement.
46 // The WebContentDecryptionModule has the same lifetime as this object. 46 // The WebContentDecryptionModule has the same lifetime as this object.
47 class MediaKeys : public GarbageCollectedFinalized<MediaKeys>, public ContextLif ecycleObserver, public ScriptWrappable { 47 class MediaKeys : public GarbageCollectedFinalized<MediaKeys>, public ContextLif ecycleObserver, public ScriptWrappable {
48 DEFINE_WRAPPERTYPEINFO(); 48 DEFINE_WRAPPERTYPEINFO();
49 public: 49 public:
50 static ScriptPromise create(ScriptState*, const String& keySystem); 50 MediaKeys(ExecutionContext*, const String& keySystem, PassOwnPtr<blink::WebC ontentDecryptionModule>);
51 virtual ~MediaKeys(); 51 virtual ~MediaKeys();
52 52
53 const String& keySystem() const { return m_keySystem; } 53 const String& keySystem() const { return m_keySystem; }
ddorwin 2014/10/23 18:02:31 FIXME: This should be removed after crbug.com/4251
jrummell 2014/10/23 22:13:15 Done.
54 54
55 MediaKeySession* createSession(ScriptState*, const String& sessionType); 55 MediaKeySession* createSession(ScriptState*, const String& sessionType);
56 56
57 ScriptPromise setServerCertificate(ScriptState*, DOMArrayBuffer* serverCerti ficate); 57 ScriptPromise setServerCertificate(ScriptState*, DOMArrayBuffer* serverCerti ficate);
58 ScriptPromise setServerCertificate(ScriptState*, DOMArrayBufferView* serverC ertificate); 58 ScriptPromise setServerCertificate(ScriptState*, DOMArrayBufferView* serverC ertificate);
59 59
60 // FIXME: Remove this method since it's not in the spec anymore.
60 static bool isTypeSupported(const String& keySystem, const String& contentTy pe); 61 static bool isTypeSupported(const String& keySystem, const String& contentTy pe);
61 62
62 blink::WebContentDecryptionModule* contentDecryptionModule(); 63 blink::WebContentDecryptionModule* contentDecryptionModule();
63 64
64 void trace(Visitor*); 65 void trace(Visitor*);
65 66
66 // ContextLifecycleObserver 67 // ContextLifecycleObserver
67 virtual void contextDestroyed() override; 68 virtual void contextDestroyed() override;
68 69
69 private: 70 private:
70 class PendingAction; 71 class PendingAction;
71 friend class MediaKeysInitializer;
72 MediaKeys(ExecutionContext*, const String& keySystem, PassOwnPtr<blink::WebC ontentDecryptionModule>);
73 72
74 ScriptPromise setServerCertificateInternal(ScriptState*, PassRefPtr<ArrayBuf fer> initData); 73 ScriptPromise setServerCertificateInternal(ScriptState*, PassRefPtr<ArrayBuf fer> initData);
75 74
76 void timerFired(Timer<MediaKeys>*); 75 void timerFired(Timer<MediaKeys>*);
77 76
78 const String m_keySystem; 77 const String m_keySystem;
79 OwnPtr<blink::WebContentDecryptionModule> m_cdm; 78 OwnPtr<blink::WebContentDecryptionModule> m_cdm;
80 79
81 HeapDeque<Member<PendingAction> > m_pendingActions; 80 HeapDeque<Member<PendingAction> > m_pendingActions;
82 Timer<MediaKeys> m_timer; 81 Timer<MediaKeys> m_timer;
83 }; 82 };
84 83
85 } // namespace blink 84 } // namespace blink
86 85
87 #endif // MediaKeys_h 86 #endif // MediaKeys_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698