Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / components / cdm / common / cdm_messages_android.h
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 */)