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 // IPC messages for EME on android. 6 // Multiply-included message file, hence no include guard. 7 8 #include <vector> 9 10 #include "content/public/common/eme_codec.h" 11 #include "ipc/ipc_message_macros.h" 12 13 #define IPC_MESSAGE_START EncryptedMediaMsgStart 14 15 IPC_STRUCT_BEGIN(SupportedKeySystemRequest) 16 IPC_STRUCT_MEMBER(std::string, key_system) 17 IPC_STRUCT_MEMBER(content::SupportedCodecs, codecs, content::EME_CODEC_NONE) 18 IPC_STRUCT_END() 19 20 IPC_STRUCT_BEGIN(SupportedKeySystemResponse) 21 IPC_STRUCT_MEMBER(std::string, key_system) 22 IPC_STRUCT_MEMBER(content::SupportedCodecs, 23 compositing_codecs, 24 content::EME_CODEC_NONE) 25 IPC_STRUCT_MEMBER(content::SupportedCodecs, 26 non_compositing_codecs, 27 content::EME_CODEC_NONE) 28 IPC_STRUCT_END() 29 30 // Messages sent from the renderer to the browser. 31 32 // Synchronously query key system information. If the key system is supported, 33 // the response will be populated. 34 IPC_SYNC_MESSAGE_CONTROL1_1( 35 ChromeViewHostMsg_QueryKeySystemSupport, 36 SupportedKeySystemRequest /* key system information request */, 37 SupportedKeySystemResponse /* key system information response */) 38 39 // Synchronously get a list of platform-supported EME key system names that 40 // are not explicitly handled by Chrome. 41 IPC_SYNC_MESSAGE_CONTROL0_1( 42 ChromeViewHostMsg_GetPlatformKeySystemNames, 43 std::vector<std::string> /* key system names */) 44