15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/resource_creation_impl.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/common.h"
8bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_audio_impl.h"
9bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_broker_impl.h"
10bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_buffer_impl.h"
11bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_flash_message_loop_impl.h"
12bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_graphics_3d_impl.h"
13bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_image_data_impl.h"
14bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_scrollbar_impl.h"
15bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/renderer/pepper/ppb_video_decoder_impl.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_size.h"
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/shared_impl/ppb_audio_config_shared.h"
1858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "ppapi/shared_impl/ppb_audio_shared.h"
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ppapi/shared_impl/ppb_image_data_shared.h"
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/shared_impl/ppb_input_event_shared.h"
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/shared_impl/ppb_resource_array_shared.h"
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/shared_impl/var.h"
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using ppapi::InputEventData;
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using ppapi::PPB_InputEvent_Shared;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using ppapi::PPB_ResourceArray_Shared;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using ppapi::StringVar;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2958e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdochnamespace content {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3158e6fbe4ee35d65e14b626c557d37565bf8ad179Ben MurdochResourceCreationImpl::ResourceCreationImpl(PepperPluginInstanceImpl* instance) {
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ResourceCreationImpl::~ResourceCreationImpl() {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)PP_Resource ResourceCreationImpl::CreateAudio1_0(
3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    PP_Instance instance,
3958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    PP_Resource config_id,
4058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    PPB_Audio_Callback_1_0 audio_callback,
4158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)    void* user_data) {
4258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  return PPB_Audio_Impl::Create(
4358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      instance, config_id, ppapi::AudioCallbackCombined(audio_callback),
4458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      user_data);
4558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
4658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateAudio(
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Resource config_id,
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PPB_Audio_Callback audio_callback,
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    void* user_data) {
5258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  return PPB_Audio_Impl::Create(
5358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      instance, config_id, ppapi::AudioCallbackCombined(audio_callback),
5458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)      user_data);
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateAudioConfig(
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_AudioSampleRate sample_rate,
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t sample_frame_count) {
61ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch  return ppapi::PPB_AudioConfig_Shared::Create(
62ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, sample_rate, sample_frame_count);
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateAudioTrusted(
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance) {
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return (new PPB_Audio_Impl(instance))->GetReference();
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateAudioInput(PP_Instance instance) {
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return 0;  // Not supported in-process.
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateBroker(PP_Instance instance) {
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return (new PPB_Broker_Impl(instance))->GetReference();
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateBuffer(PP_Instance instance,
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                               uint32_t size) {
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_Buffer_Impl::Create(instance, size);
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)PP_Resource ResourceCreationImpl::CreateFlashDRM(PP_Instance instance) {
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return 0;  // Not supported in-process.
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateFlashFontFile(
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const PP_BrowserFont_Trusted_Description* description,
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_PrivateFontCharset charset) {
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return 0;  // Not supported in-process.
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateFlashMenu(
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const PP_Flash_Menu* menu_data) {
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return 0;  // Not supported in-process.
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateFlashMessageLoop(PP_Instance instance) {
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_Flash_MessageLoop_Impl::Create(instance);
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateGraphics3D(
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Resource share_context,
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const int32_t* attrib_list) {
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_Graphics3D_Impl::Create(instance, share_context, attrib_list);
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateGraphics3DRaw(
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Resource share_context,
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const int32_t* attrib_list) {
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_Graphics3D_Impl::CreateRaw(instance, share_context, attrib_list);
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateHostResolver(PP_Instance instance) {
1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return 0;  // Not supported in-process.
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1227d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateHostResolverPrivate(
1237d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    PP_Instance instance) {
1247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return 0;  // Not supported in-process.
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateImageData(
1287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    PP_Instance instance,
1297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    PP_ImageDataFormat format,
1307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    const PP_Size* size,
1317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    PP_Bool init_to_zero) {
132eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return PPB_ImageData_Impl::Create(instance,
133ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch                                    ppapi::PPB_ImageData_Shared::PLATFORM,
134eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                    format, *size, init_to_zero);
135eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
136eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
137eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochPP_Resource ResourceCreationImpl::CreateImageDataSimple(
138eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    PP_Instance instance,
139eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    PP_ImageDataFormat format,
140eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const PP_Size* size,
141eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    PP_Bool init_to_zero) {
142eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  return PPB_ImageData_Impl::Create(instance,
143ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch                                    ppapi::PPB_ImageData_Shared::SIMPLE,
1447d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)                                    format, *size, init_to_zero);
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateIMEInputEvent(
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_InputEvent_Type type,
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_TimeTicks time_stamp,
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct PP_Var text,
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t segment_number,
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const uint32_t* segment_offsets,
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int32_t target_segment,
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t selection_start,
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t selection_end) {
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_InputEvent_Shared::CreateIMEInputEvent(
158ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, type, time_stamp, text, segment_number,
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      segment_offsets, target_segment, selection_start, selection_end);
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateKeyboardInputEvent(
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_InputEvent_Type type,
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_TimeTicks time_stamp,
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t modifiers,
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t key_code,
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    struct PP_Var character_text) {
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_InputEvent_Shared::CreateKeyboardInputEvent(
170ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, type, time_stamp, modifiers, key_code,
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      character_text);
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateMouseInputEvent(
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_InputEvent_Type type,
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_TimeTicks time_stamp,
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t modifiers,
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_InputEvent_MouseButton mouse_button,
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const PP_Point* mouse_position,
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int32_t click_count,
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const PP_Point* mouse_movement) {
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_InputEvent_Shared::CreateMouseInputEvent(
184ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, type, time_stamp, modifiers,
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      mouse_button, mouse_position, click_count, mouse_movement);
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
188868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateNetAddressFromIPv4Address(
189868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    PP_Instance instance,
190eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const PP_NetAddress_IPv4* ipv4_addr) {
191868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return 0;  // Not supported in-process.
192868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
193868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
194868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateNetAddressFromIPv6Address(
195868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)    PP_Instance instance,
196eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    const PP_NetAddress_IPv6* ipv6_addr) {
197868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  return 0;  // Not supported in-process.
198868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
199868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
2007d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateNetAddressFromNetAddressPrivate(
2017d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    PP_Instance instance,
2027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)    const PP_NetAddress_Private& private_addr) {
2037d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return 0;  // Not supported in-process.
2047d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
2057d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateTouchInputEvent(
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_InputEvent_Type type,
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_TimeTicks time_stamp,
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t modifiers) {
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_InputEvent_Shared::CreateTouchInputEvent(
212ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, type, time_stamp, modifiers);
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
21568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateNetworkMonitor(PP_Instance instance) {
21658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  return 0;  // Not supported in-process.
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)PP_Resource ResourceCreationImpl::CreateOutputProtectionPrivate(
2204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    PP_Instance instance) {
2214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  return 0;  // Not supported in-process.
2224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}
2234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
224d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)PP_Resource ResourceCreationImpl::CreatePlatformVerificationPrivate(
225d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    PP_Instance instance) {
226d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  return 0;  // Not supported in-process.
227d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)}
228d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateScrollbar(PP_Instance instance,
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                                  PP_Bool vertical) {
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_Scrollbar_Impl::Create(instance, PP_ToBool(vertical));
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateTalk(PP_Instance /* instance */) {
235c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return 0;  // Not supported in-process.
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateResourceArray(
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const PP_Resource elements[],
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t size) {
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  PPB_ResourceArray_Shared* object = new PPB_ResourceArray_Shared(
243ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, elements, size);
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return object->GetReference();
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateTCPServerSocketPrivate(
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance) {
2492385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch  return 0;  // Not supported in-process.
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
25268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateTCPSocket1_0(PP_Instance instance) {
25368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  return 0;  // Not supported in-process.
25468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}
25568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
2567d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateTCPSocket(PP_Instance instance) {
2577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return 0;  // Not supported in-process.
2587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
2597d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateTCPSocketPrivate(PP_Instance instance) {
261424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  return 0;  // Not supported in-process.
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2647d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateUDPSocket(PP_Instance instance) {
2657d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  return 0;  // Not supported in-process.
2667d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}
2677d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateUDPSocketPrivate(PP_Instance instance) {
2692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return 0;  // Not supported in-process.
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateVideoCapture(PP_Instance instance) {
2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return 0;  // VideoCapture is not supported in process now.
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateVideoDecoder(
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Resource graphics3d_id,
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_VideoDecoder_Profile profile) {
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_VideoDecoder_Impl::Create(instance, graphics3d_id, profile);
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
283c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)PP_Resource ResourceCreationImpl::CreateVideoDestination(
284c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    PP_Instance instance) {
285c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return 0;  // Not supported in-process.
286c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
287c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
288c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)PP_Resource ResourceCreationImpl::CreateVideoSource(
289c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    PP_Instance instance) {
290c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  return 0;  // Not supported in-process.
291c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
292c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateWheelInputEvent(
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance,
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_TimeTicks time_stamp,
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    uint32_t modifiers,
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const PP_FloatPoint* wheel_delta,
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const PP_FloatPoint* wheel_ticks,
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Bool scroll_by_page) {
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PPB_InputEvent_Shared::CreateWheelInputEvent(
301ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ppapi::OBJECT_IS_IMPL, instance, time_stamp, modifiers,
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      wheel_delta, wheel_ticks, scroll_by_page);
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource ResourceCreationImpl::CreateX509CertificatePrivate(
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    PP_Instance instance) {
30758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  return 0;  // Not supported in-process.
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
31058e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch}  // namespace content
311