Index: webkit/plugins/ppapi/ppapi_plugin_instance.cc |
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
index ea2bbfde091d3f76a09824438ac74ef2e157b804..b01b7e17c492fb348352ed6716d3d9a2b3238543 100644 |
--- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
+++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc |
@@ -318,7 +318,13 @@ PluginInstance* PluginInstance::Create(PluginDelegate* delegate, |
} |
PluginInstance::GamepadImpl::GamepadImpl(PluginDelegate* delegate) |
- : delegate_(delegate) { |
+ : ::ppapi::Resource(::ppapi::Resource::Untracked()), |
+ delegate_(delegate) { |
+} |
+ |
+::ppapi::thunk::PPB_Gamepad_API* |
+PluginInstance::GamepadImpl::AsPPB_Gamepad_API() { |
+ return this; |
} |
void PluginInstance::GamepadImpl::Sample(PP_GamepadsSampleData* data) { |
@@ -2113,23 +2119,25 @@ PP_Bool PluginInstance::GetScreenSize(PP_Instance instance, PP_Size* size) { |
return &flash_impl_; |
} |
-::ppapi::thunk::PPB_Flash_Clipboard_API* |
-PluginInstance::GetFlashClipboardAPI(PP_Instance /*instance*/) { |
- NOTIMPLEMENTED(); |
- return NULL; |
-} |
+::ppapi::Resource* PluginInstance::GetSingletonResource( |
+ PP_Instance instance, |
+ ::ppapi::SingletonResourceID id) { |
+ // Flash APIs aren't implemented in-process. |
+ switch (id) { |
+ case ::ppapi::FLASH_SINGLETON_ID: |
+ NOTIMPLEMENTED(); |
+ return NULL; |
+ case ::ppapi::FLASH_CLIPBOARD_SINGLETON_ID: |
+ NOTIMPLEMENTED(); |
+ return NULL; |
+ case ::ppapi::GAMEPAD_SINGLETON_ID: |
+ return &gamepad_impl_; |
+ } |
-::ppapi::thunk::PPB_Flash_Functions_API* |
-PluginInstance::GetFlashFunctionsAPI(PP_Instance /*instance*/) { |
- NOTIMPLEMENTED(); |
+ NOTREACHED(); |
return NULL; |
} |
-::ppapi::thunk::PPB_Gamepad_API* PluginInstance::GetGamepadAPI( |
- PP_Instance /* instance */) { |
- return &gamepad_impl_; |
-} |
- |
int32_t PluginInstance::RequestInputEvents(PP_Instance instance, |
uint32_t event_classes) { |
input_event_mask_ |= event_classes; |