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 COMPONENTS_CDM_BROWSER_CDM_MESSAGE_FILTER_ANDROID_H_ 6#define COMPONENTS_CDM_BROWSER_CDM_MESSAGE_FILTER_ANDROID_H_ 7 8#include "base/basictypes.h" 9#include "content/public/browser/browser_message_filter.h" 10 11struct SupportedKeySystemRequest; 12struct SupportedKeySystemResponse; 13 14namespace cdm { 15 16// Message filter for EME on android. It is responsible for getting the 17// SupportedKeySystems information and passing it back to renderer. 18class CdmMessageFilterAndroid 19 : public content::BrowserMessageFilter { 20 public: 21 CdmMessageFilterAndroid(); 22 23 private: 24 virtual ~CdmMessageFilterAndroid(); 25 26 // BrowserMessageFilter implementation. 27 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 28 virtual void OverrideThreadForMessage( 29 const IPC::Message& message, 30 content::BrowserThread::ID* thread) OVERRIDE; 31 32 // Query the key system information. 33 void OnQueryKeySystemSupport(const SupportedKeySystemRequest& request, 34 SupportedKeySystemResponse* response); 35 36 void OnGetPlatformKeySystemNames(std::vector<std::string>* key_systems); 37 38 DISALLOW_COPY_AND_ASSIGN(CdmMessageFilterAndroid); 39}; 40 41} // namespace cdm 42 43#endif // COMPONENTS_CDM_BROWSER_CDM_MESSAGE_FILTER_ANDROID_H_ 44