Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: extensions/renderer/module_system.cc

Issue 482603002: Unify logic of stack trace generation for extension errors (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Processed reviewers' comments Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/renderer/module_system.cc
diff --git a/extensions/renderer/module_system.cc b/extensions/renderer/module_system.cc
index 1f337643476d06ad230eab1fb4949e61ec616a8f..f9e8d91df590065a82a31cf5725ab0aa320c1049 100644
--- a/extensions/renderer/module_system.cc
+++ b/extensions/renderer/module_system.cc
@@ -552,7 +552,11 @@ v8::Handle<v8::String> ModuleSystem::WrapSource(v8::Handle<v8::String> source) {
"(function(define, require, requireNative, requireAsync, exports, "
"console, privates,"
"$Array, $Function, $JSON, $Object, $RegExp, $String) {"
- "'use strict';");
+ "'use strict';"
+ // Prevent extensions from overriding the Error constructor.
+ // Use window.Error instead of $Error to make sure that extensions can
+ // still use "instanceof Error" for exception handling.
+ "var Error = window.Error;");
v8::Handle<v8::String> right = v8::String::NewFromUtf8(GetIsolate(), "\n})");
return handle_scope.Escape(v8::Local<v8::String>(
v8::String::Concat(left, v8::String::Concat(source, right))));

Powered by Google App Engine
This is Rietveld 408576698