| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "extensions/renderer/safe_builtins.h" | 5 #include "extensions/renderer/safe_builtins.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "extensions/renderer/script_context.h" | 10 #include "extensions/renderer/script_context.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 " makeCallable(builtin.prototype, safe, false, protoPropertyNames);\n" | 63 " makeCallable(builtin.prototype, safe, false, protoPropertyNames);\n" |
| 64 " if (staticPropertyNames)\n" | 64 " if (staticPropertyNames)\n" |
| 65 " makeCallable(builtin, safe, true, staticPropertyNames);\n" | 65 " makeCallable(builtin, safe, true, staticPropertyNames);\n" |
| 66 " Save(builtin.name, safe);\n" | 66 " Save(builtin.name, safe);\n" |
| 67 "}\n" | 67 "}\n" |
| 68 "\n" | 68 "\n" |
| 69 "// Save only what is needed by the extension modules.\n" | 69 "// Save only what is needed by the extension modules.\n" |
| 70 "saveBuiltin(Object,\n" | 70 "saveBuiltin(Object,\n" |
| 71 " ['hasOwnProperty'],\n" | 71 " ['hasOwnProperty'],\n" |
| 72 " ['create', 'defineProperty', 'freeze',\n" | 72 " ['create', 'defineProperty', 'freeze',\n" |
| 73 " 'getOwnPropertyDescriptor', 'getPrototypeOf', 'keys',\n" | 73 " 'getOwnPropertyDescriptor', 'getPrototypeOf', 'keys']);\n" |
| 74 " 'assign']);\n" | |
| 75 "saveBuiltin(Function,\n" | 74 "saveBuiltin(Function,\n" |
| 76 " ['apply', 'bind', 'call']);\n" | 75 " ['apply', 'bind', 'call']);\n" |
| 77 "saveBuiltin(Array,\n" | 76 "saveBuiltin(Array,\n" |
| 78 " ['concat', 'forEach', 'indexOf', 'join', 'push', 'slice',\n" | 77 " ['concat', 'forEach', 'indexOf', 'join', 'push', 'slice',\n" |
| 79 " 'splice', 'map', 'filter', 'unshift'],\n" | 78 " 'splice', 'map', 'filter']);\n" |
| 80 " ['isArray']);\n" | |
| 81 "saveBuiltin(String,\n" | 79 "saveBuiltin(String,\n" |
| 82 " ['indexOf', 'slice', 'split', 'substr', 'toUpperCase',\n" | 80 " ['indexOf', 'slice', 'split', 'substr', 'toUpperCase',\n" |
| 83 " 'replace']);\n" | 81 " 'replace']);\n" |
| 84 "// Use exec rather than test to defend against clobbering in the\n" | 82 "// Use exec rather than test to defend against clobbering in the\n" |
| 85 "// presence of ES2015 semantics, which read RegExp.prototype.exec.\n" | 83 "// presence of ES2015 semantics, which read RegExp.prototype.exec.\n" |
| 86 "saveBuiltin(RegExp,\n" | 84 "saveBuiltin(RegExp,\n" |
| 87 " ['exec']);\n" | 85 " ['exec']);\n" |
| 88 "saveBuiltin(Error,\n" | 86 "saveBuiltin(Error,\n" |
| 89 " [],\n" | 87 " [],\n" |
| 90 " ['captureStackTrace']);\n" | 88 " ['captureStackTrace']);\n" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 | 248 |
| 251 v8::Local<v8::Object> SafeBuiltins::GetString() const { | 249 v8::Local<v8::Object> SafeBuiltins::GetString() const { |
| 252 return Load("String", context_->v8_context()); | 250 return Load("String", context_->v8_context()); |
| 253 } | 251 } |
| 254 | 252 |
| 255 v8::Local<v8::Object> SafeBuiltins::GetError() const { | 253 v8::Local<v8::Object> SafeBuiltins::GetError() const { |
| 256 return Load("Error", context_->v8_context()); | 254 return Load("Error", context_->v8_context()); |
| 257 } | 255 } |
| 258 | 256 |
| 259 } // namespace extensions | 257 } // namespace extensions |
| OLD | NEW |