1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef ContentDecryptionModuleResult_h 6 #define ContentDecryptionModuleResult_h 7 8 #include "platform/heap/Handle.h" 9 #include "public/platform/WebContentDecryptionModuleException.h" 10 #include "public/platform/WebContentDecryptionModuleResult.h" 11 12 namespace blink { 13 class WebString; 14 } 15 16 namespace WebCore { 17 18 // Used to notify completion of a CDM operation. 19 class ContentDecryptionModuleResult : public GarbageCollectedFinalized<ContentDecryptionModuleResult> { 20 public: ~ContentDecryptionModuleResult()21 virtual ~ContentDecryptionModuleResult() { } 22 23 virtual void complete() = 0; 24 virtual void completeWithSession(blink::WebContentDecryptionModuleResult::SessionStatus) = 0; 25 virtual void completeWithError(blink::WebContentDecryptionModuleException, unsigned long systemCode, const blink::WebString&) = 0; 26 result()27 blink::WebContentDecryptionModuleResult result() 28 { 29 return blink::WebContentDecryptionModuleResult(this); 30 } 31 trace(Visitor *)32 virtual void trace(Visitor*) { } 33 }; 34 35 } // namespace WebCore 36 37 #endif // ContentDecryptionModuleResult_h 38