Index: extensions/renderer/safe_builtins.cc |
diff --git a/extensions/renderer/safe_builtins.cc b/extensions/renderer/safe_builtins.cc |
index 1f32aafcc68d4a87c6ed48cd1f4ae23f27a6ffe3..44a7d7f69d0090aaed61f8e92e00386b4faa853c 100644 |
--- a/extensions/renderer/safe_builtins.cc |
+++ b/extensions/renderer/safe_builtins.cc |
@@ -41,7 +41,7 @@ const char kScript[] = |
" var firstArgIndex = 0;\n" |
" if (!isStatic) {\n" |
" if (arguments.length == 0)\n" |
- " throw 'There must be at least one argument, the recevier';\n" |
+ " throw 'There must be at least one argument, the receiver';\n" |
" recv = arguments[0];\n" |
" firstArgIndex = 1;\n" |
" }\n" |
@@ -63,7 +63,7 @@ const char kScript[] = |
" Save(builtin.name, safe);\n" |
"}\n" |
"\n" |
- "// Save only what is needed to make tests that override builtins pass.\n" |
+ "// Save only what is needed by the extension modules.\n" |
"saveBuiltin(Object,\n" |
" ['hasOwnProperty'],\n" |
" ['create', 'defineProperty', 'getOwnPropertyDescriptor',\n" |
@@ -74,9 +74,12 @@ const char kScript[] = |
" ['concat', 'forEach', 'indexOf', 'join', 'push', 'slice',\n" |
" 'splice', 'map', 'filter']);\n" |
"saveBuiltin(String,\n" |
- " ['slice', 'split']);\n" |
+ " ['indexOf', 'slice', 'split']);\n" |
"saveBuiltin(RegExp,\n" |
" ['test']);\n" |
+ "saveBuiltin(Error,\n" |
+ " [],\n" |
+ " ['captureStackTrace']);\n" |
"\n" |
"// JSON is trickier because extensions can override toJSON in\n" |
"// incompatible ways, and we need to prevent that.\n" |
@@ -230,4 +233,8 @@ v8::Local<v8::Object> SafeBuiltins::GetString() const { |
return Load("String", context_->v8_context()); |
} |
+v8::Local<v8::Object> SafeBuiltins::GetError() const { |
+ return Load("Error", context_->v8_context()); |
+} |
+ |
} // namespace extensions |