Index: content/child/npapi/npobject_proxy.h |
diff --git a/content/child/npapi/npobject_proxy.h b/content/child/npapi/npobject_proxy.h |
deleted file mode 100644 |
index 93ceac7b9e92de718a4452646d94e175804d9ee5..0000000000000000000000000000000000000000 |
--- a/content/child/npapi/npobject_proxy.h |
+++ /dev/null |
@@ -1,130 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-// |
-// A proxy for NPObject that sends all calls to the object to an NPObjectStub |
-// running in a different process. |
- |
-#ifndef CONTENT_CHILD_NPAPI_NPOBJECT_PROXY_H_ |
-#define CONTENT_CHILD_NPAPI_NPOBJECT_PROXY_H_ |
- |
-#include <stdint.h> |
- |
-#include "base/memory/ref_counted.h" |
-#include "content/child/npapi/npobject_base.h" |
-#include "ipc/ipc_listener.h" |
-#include "ipc/ipc_sender.h" |
-#include "third_party/npapi/bindings/npruntime.h" |
-#include "ui/gfx/native_widget_types.h" |
-#include "url/gurl.h" |
- |
-struct NPObject; |
- |
-namespace content { |
-class NPChannelBase; |
- |
-// When running a plugin in a different process from the renderer, we need to |
-// proxy calls to NPObjects across process boundaries. This happens both ways, |
-// as a plugin can get an NPObject for the window, and a page can get an |
-// NPObject for the plugin. In the process that interacts with the NPobject we |
-// give it an NPObjectProxy instead. All calls to it are sent across an IPC |
-// channel (specifically, a NPChannelBase). The NPObjectStub on the other |
-// side translates the IPC messages into calls to the actual NPObject, and |
-// returns the marshalled result. |
-class NPObjectProxy : public IPC::Listener, |
- public IPC::Sender, |
- public NPObjectBase { |
- public: |
- ~NPObjectProxy() override; |
- |
- static NPObject* Create(NPChannelBase* channel, |
- int route_id, |
- int render_view_id, |
- const GURL& page_url, |
- NPP owner); |
- |
- // IPC::Sender implementation: |
- bool Send(IPC::Message* msg) override; |
- int route_id() { return route_id_; } |
- NPChannelBase* channel() { return channel_.get(); } |
- |
- // The next 9 functions are called on NPObjects from the plugin and browser. |
- static bool NPHasMethod(NPObject *obj, |
- NPIdentifier name); |
- static bool NPInvoke(NPObject *obj, |
- NPIdentifier name, |
- const NPVariant *args, |
- uint32_t arg_count, |
- NPVariant *result); |
- static bool NPInvokeDefault(NPObject *npobj, |
- const NPVariant *args, |
- uint32_t arg_count, |
- NPVariant *result); |
- static bool NPHasProperty(NPObject *obj, |
- NPIdentifier name); |
- static bool NPGetProperty(NPObject *obj, |
- NPIdentifier name, |
- NPVariant *result); |
- static bool NPSetProperty(NPObject *obj, |
- NPIdentifier name, |
- const NPVariant *value); |
- static bool NPRemoveProperty(NPObject *obj, |
- NPIdentifier name); |
- static bool NPNEnumerate(NPObject *obj, |
- NPIdentifier **value, |
- uint32_t *count); |
- static bool NPNConstruct(NPObject *npobj, |
- const NPVariant *args, |
- uint32_t arg_count, |
- NPVariant *result); |
- |
- // The next two functions are only called on NPObjects from the browser. |
- static bool NPNEvaluate(NPP npp, |
- NPObject *obj, |
- NPString *script, |
- NPVariant *result); |
- |
- static bool NPInvokePrivate(NPP npp, |
- NPObject *obj, |
- bool is_default, |
- NPIdentifier name, |
- const NPVariant *args, |
- uint32_t arg_count, |
- NPVariant *result); |
- |
- static NPObjectProxy* GetProxy(NPObject* object); |
- static const NPClass* npclass() { return &npclass_proxy_; } |
- |
- // NPObjectBase implementation. |
- NPObject* GetUnderlyingNPObject() override; |
- |
- IPC::Listener* GetChannelListener() override; |
- |
- private: |
- NPObjectProxy(NPChannelBase* channel, |
- int route_id, |
- int render_view_id, |
- const GURL& page_url); |
- |
- // IPC::Listener implementation: |
- bool OnMessageReceived(const IPC::Message& msg) override; |
- void OnChannelError() override; |
- |
- static NPObject* NPAllocate(NPP, NPClass*); |
- static void NPDeallocate(NPObject* npObj); |
- |
- // This function is only caled on NPObjects from the plugin. |
- static void NPPInvalidate(NPObject *obj); |
- static NPClass npclass_proxy_; |
- |
- scoped_refptr<NPChannelBase> channel_; |
- int route_id_; |
- int render_view_id_; |
- |
- // The url of the main frame hosting the plugin. |
- GURL page_url_; |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_CHILD_NPAPI_NPOBJECT_PROXY_H_ |