Chromium Code Reviews| Index: chrome/renderer/extensions/native_handler.h |
| diff --git a/chrome/renderer/extensions/native_handler.h b/chrome/renderer/extensions/native_handler.h |
| index f9eb4fe0e40ccfc3bb52812f0db65d7f9726d5e1..8d300bbf874aac02b05c7e784661e564437e730b 100644 |
| --- a/chrome/renderer/extensions/native_handler.h |
| +++ b/chrome/renderer/extensions/native_handler.h |
| @@ -5,54 +5,18 @@ |
| #ifndef CHROME_RENDERER_EXTENSIONS_NATIVE_HANDLER_H_ |
| #define CHROME_RENDERER_EXTENSIONS_NATIVE_HANDLER_H_ |
| -#include "base/bind.h" |
| -#include "base/memory/linked_ptr.h" |
| #include "v8/include/v8.h" |
| -#include <string> |
| -#include <vector> |
| - |
| namespace extensions { |
| -// A NativeHandler is a factory for JS objects with functions on them that map |
| -// to native C++ functions. Subclasses should call RouteFunction() in their |
| -// constructor to define functions on the created JS objects. |
| -// |
| // NativeHandlers are intended to be used with a ModuleSystem. The ModuleSystem |
| // will assume ownership of the NativeHandler, and as a ModuleSystem is tied to |
| // a single v8::Context, this implies that NativeHandlers will also be tied to |
| -// a single v8::context. |
| +// a single v8::Context. |
| // TODO(koz): Rename this to NativeJavaScriptModule. |
| class NativeHandler { |
| public: |
|
not at google - send to devlin
2013/01/25 00:44:31
this needs a virtual destructor.
cduvall
2013/02/12 02:13:47
Done.
|
| - explicit NativeHandler(); |
| - virtual ~NativeHandler(); |
| - |
| - // Create an object with bindings to the native functions defined through |
| - // RouteFunction(). |
| - virtual v8::Handle<v8::Object> NewInstance(); |
| - |
| - protected: |
| - typedef v8::Handle<v8::Value> (*HandlerFunc)(const v8::Arguments&); |
| - typedef base::Callback<v8::Handle<v8::Value>(const v8::Arguments&)> |
| - HandlerFunction; |
| - |
| - // Installs a new 'route' from |name| to |handler_function|. This means that |
| - // NewInstance()s of this NativeHandler will have a property |name| which |
| - // will be handled by |handler_function|. |
| - void RouteFunction(const std::string& name, |
| - const HandlerFunction& handler_function); |
| - |
| - void RouteStaticFunction(const std::string& name, |
| - const HandlerFunc handler_func); |
| - |
| - private: |
| - static v8::Handle<v8::Value> Router(const v8::Arguments& args); |
| - |
| - std::vector<linked_ptr<HandlerFunction> > handler_functions_; |
| - v8::Persistent<v8::ObjectTemplate> object_template_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(NativeHandler); |
| + virtual v8::Handle<v8::Object> NewInstance() = 0; |
| }; |
| } // extensions |