| Index: extensions/renderer/utils_native_handler.cc
 | 
| diff --git a/extensions/renderer/utils_native_handler.cc b/extensions/renderer/utils_native_handler.cc
 | 
| index 1ded40c6ad2b0017c86c761782c33c6b8311d086..741a111b779d405f7986bc408d93a571c7dba01c 100644
 | 
| --- a/extensions/renderer/utils_native_handler.cc
 | 
| +++ b/extensions/renderer/utils_native_handler.cc
 | 
| @@ -5,7 +5,6 @@
 | 
|  #include "extensions/renderer/utils_native_handler.h"
 | 
|  
 | 
|  #include "base/macros.h"
 | 
| -#include "base/strings/stringprintf.h"
 | 
|  #include "extensions/renderer/script_context.h"
 | 
|  #include "third_party/WebKit/public/web/WebSerializedScriptValue.h"
 | 
|  
 | 
| @@ -13,9 +12,6 @@ namespace extensions {
 | 
|  
 | 
|  UtilsNativeHandler::UtilsNativeHandler(ScriptContext* context)
 | 
|      : ObjectBackedNativeHandler(context) {
 | 
| -  RouteFunction("createClassWrapper",
 | 
| -                base::Bind(&UtilsNativeHandler::CreateClassWrapper,
 | 
| -                           base::Unretained(this)));
 | 
|    RouteFunction(
 | 
|        "deepCopy",
 | 
|        base::Bind(&UtilsNativeHandler::DeepCopy, base::Unretained(this)));
 | 
| @@ -23,67 +19,6 @@ UtilsNativeHandler::UtilsNativeHandler(ScriptContext* context)
 | 
|  
 | 
|  UtilsNativeHandler::~UtilsNativeHandler() {}
 | 
|  
 | 
| -void UtilsNativeHandler::CreateClassWrapper(
 | 
| -    const v8::FunctionCallbackInfo<v8::Value>& args) {
 | 
| -  CHECK_EQ(3, args.Length());
 | 
| -  CHECK(args[0]->IsString());
 | 
| -  std::string name = *v8::String::Utf8Value(args[0]);
 | 
| -  CHECK(args[1]->IsObject());
 | 
| -  v8::Local<v8::Object> cls = args[1].As<v8::Object>();
 | 
| -  CHECK(args[2]->IsObject() || args[2]->IsUndefined());
 | 
| -  v8::Local<v8::Value> superclass = args[2];
 | 
| -
 | 
| -  v8::HandleScope handle_scope(GetIsolate());
 | 
| -  // TODO(fsamuel): Consider moving the source wrapping to ModuleSystem.
 | 
| -  v8::Local<v8::String> source = v8::String::NewFromUtf8(
 | 
| -      GetIsolate(),
 | 
| -      base::StringPrintf(
 | 
| -          "(function($Object, $Function, privates, cls, superclass) {"
 | 
| -          "'use strict';\n"
 | 
| -          "  function %s() {\n"
 | 
| -          "    var privateObj = $Object.create(cls.prototype);\n"
 | 
| -          "    $Function.apply(cls, privateObj, arguments);\n"
 | 
| -          "    privateObj.wrapper = this;\n"
 | 
| -          "    privates(this).impl = privateObj;\n"
 | 
| -          "  };\n"
 | 
| -          "  if (superclass) {\n"
 | 
| -          "    %s.prototype = Object.create(superclass.prototype);\n"
 | 
| -          "  }\n"
 | 
| -          "  return %s;\n"
 | 
| -          "})",
 | 
| -          name.c_str(), name.c_str(), name.c_str()).c_str());
 | 
| -  v8::Local<v8::Value> func_as_value = context()->module_system()->RunString(
 | 
| -      source, v8::String::NewFromUtf8(GetIsolate(), name.c_str()));
 | 
| -  if (func_as_value.IsEmpty() || func_as_value->IsUndefined()) {
 | 
| -    args.GetReturnValue().SetUndefined();
 | 
| -    return;
 | 
| -  }
 | 
| -
 | 
| -  // TODO(fsamuel): Move privates from ModuleSystem to a shared location.
 | 
| -  v8::Local<v8::Object> natives(context()->module_system()->NewInstance());
 | 
| -  CHECK(!natives.IsEmpty());  // this can happen if v8 has issues
 | 
| -
 | 
| -  v8::Local<v8::Function> func = func_as_value.As<v8::Function>();
 | 
| -  v8::Local<v8::Value> func_args[] = {
 | 
| -      context()->safe_builtins()->GetObjekt(),
 | 
| -      context()->safe_builtins()->GetFunction(),
 | 
| -      natives->Get(v8::String::NewFromUtf8(GetIsolate(), "privates",
 | 
| -                                           v8::String::kInternalizedString)),
 | 
| -      cls,
 | 
| -      superclass};
 | 
| -  v8::Local<v8::Value> result;
 | 
| -  {
 | 
| -    v8::TryCatch try_catch(GetIsolate());
 | 
| -    try_catch.SetCaptureMessage(true);
 | 
| -    result = context()->CallFunction(func, arraysize(func_args), func_args);
 | 
| -    if (try_catch.HasCaught()) {
 | 
| -      args.GetReturnValue().SetUndefined();
 | 
| -      return;
 | 
| -    }
 | 
| -  }
 | 
| -  args.GetReturnValue().Set(result);
 | 
| -}
 | 
| -
 | 
|  void UtilsNativeHandler::DeepCopy(
 | 
|      const v8::FunctionCallbackInfo<v8::Value>& args) {
 | 
|    CHECK_EQ(1, args.Length());
 | 
| 
 |