| Index: webkit/plugins/ppapi/host_globals.cc
|
| diff --git a/webkit/plugins/ppapi/host_globals.cc b/webkit/plugins/ppapi/host_globals.cc
|
| index 5620b847c476065cad25f9d2a88602fc551dadb2..610ff15320e41c5f502adad3c7a11d450e03e0e1 100644
|
| --- a/webkit/plugins/ppapi/host_globals.cc
|
| +++ b/webkit/plugins/ppapi/host_globals.cc
|
| @@ -11,7 +11,6 @@
|
| #include "base/rand_util.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "ppapi/shared_impl/api_id.h"
|
| -#include "ppapi/shared_impl/function_group_base.h"
|
| #include "ppapi/shared_impl/id_assignment.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebConsoleMessage.h"
|
| @@ -22,7 +21,6 @@
|
| #include "webkit/plugins/plugin_switches.h"
|
| #include "webkit/plugins/ppapi/plugin_module.h"
|
| #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
|
| -#include "webkit/plugins/ppapi/resource_creation_impl.h"
|
|
|
| using ppapi::CheckIdType;
|
| using ppapi::MakeTypedId;
|
| @@ -74,18 +72,6 @@ WebConsoleMessage MakeLogMessage(PP_LogLevel_Dev level,
|
|
|
| } // namespace
|
|
|
| -struct HostGlobals::InstanceData {
|
| - InstanceData() : instance(0) {}
|
| -
|
| - // Non-owning pointer to the instance object. When a PluginInstance is
|
| - // destroyed, it will notify us and we'll delete all associated data.
|
| - PluginInstance* instance;
|
| -
|
| - // Lazily allocated function proxies for the different interfaces.
|
| - scoped_ptr< ::ppapi::FunctionGroupBase >
|
| - function_proxies[::ppapi::API_ID_COUNT];
|
| -};
|
| -
|
| HostGlobals* HostGlobals::host_globals_ = NULL;
|
|
|
| HostGlobals::HostGlobals() : ::ppapi::PpapiGlobals() {
|
| @@ -113,41 +99,24 @@ HostGlobals::~HostGlobals() {
|
|
|
| ::ppapi::CallbackTracker* HostGlobals::GetCallbackTrackerForInstance(
|
| PP_Instance instance) {
|
| - std::map<PP_Instance, linked_ptr<InstanceData> >::iterator found =
|
| - instance_map_.find(instance);
|
| + InstanceMap::iterator found = instance_map_.find(instance);
|
| if (found == instance_map_.end())
|
| return NULL;
|
| + return found->second->module()->GetCallbackTracker();
|
| +}
|
|
|
| - return found->second->instance->module()->GetCallbackTracker();
|
| +::ppapi::thunk::PPB_Instance_API* HostGlobals::GetInstanceAPI(
|
| + PP_Instance instance) {
|
| + // The InstanceAPI is just implemented by the PluginInstance object.
|
| + return GetInstance(instance);
|
| }
|
|
|
| -::ppapi::FunctionGroupBase* HostGlobals::GetFunctionAPI(PP_Instance pp_instance,
|
| - ::ppapi::ApiID id) {
|
| - // Get the instance object. This also ensures that the instance data is in
|
| - // the map, since we need it below.
|
| +::ppapi::thunk::ResourceCreationAPI* HostGlobals::GetResourceCreationAPI(
|
| + PP_Instance pp_instance) {
|
| PluginInstance* instance = GetInstance(pp_instance);
|
| if (!instance)
|
| return NULL;
|
| -
|
| - // The instance one is special, since it's just implemented by the instance
|
| - // object.
|
| - if (id == ::ppapi::API_ID_PPB_INSTANCE)
|
| - return instance;
|
| -
|
| - scoped_ptr< ::ppapi::FunctionGroupBase >& proxy =
|
| - instance_map_[pp_instance]->function_proxies[id];
|
| - if (proxy.get())
|
| - return proxy.get();
|
| -
|
| - switch (id) {
|
| - case ::ppapi::API_ID_RESOURCE_CREATION:
|
| - proxy.reset(new ResourceCreationImpl(instance));
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - }
|
| -
|
| - return proxy.get();
|
| + return &instance->resource_creation();
|
| }
|
|
|
| PP_Module HostGlobals::GetModuleForInstance(PP_Instance instance) {
|
| @@ -263,8 +232,7 @@ PP_Instance HostGlobals::AddInstance(PluginInstance* instance) {
|
| instance_map_.find(new_instance) != instance_map_.end() ||
|
| !instance->module()->ReserveInstanceID(new_instance));
|
|
|
| - instance_map_[new_instance] = linked_ptr<InstanceData>(new InstanceData);
|
| - instance_map_[new_instance]->instance = instance;
|
| + instance_map_[new_instance] = instance;
|
|
|
| resource_tracker_.DidCreateInstance(new_instance);
|
| return new_instance;
|
| @@ -287,7 +255,7 @@ PluginInstance* HostGlobals::GetInstance(PP_Instance instance) {
|
| InstanceMap::iterator found = instance_map_.find(instance);
|
| if (found == instance_map_.end())
|
| return NULL;
|
| - return found->second->instance;
|
| + return found->second;
|
| }
|
|
|
| bool HostGlobals::IsHostGlobals() const {
|
|
|