Add unit tests for event.js


BUG=121479
TEST=supplied unit tests


Review URL: https://chromiumcodereview.appspot.com/10383035

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136200 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/module_system.cc b/chrome/renderer/module_system.cc
index 7c246e4..c0c0c8f 100644
--- a/chrome/renderer/module_system.cc
+++ b/chrome/renderer/module_system.cc
@@ -117,6 +117,10 @@
       linked_ptr<NativeHandler>(native_handler.release());
 }
 
+void ModuleSystem::OverrideNativeHandler(const std::string& name) {
+  overridden_native_handlers_.insert(name);
+}
+
 void ModuleSystem::RunString(const std::string& code, const std::string& name) {
   v8::HandleScope handle_scope;
   RunString(v8::String::New(code.c_str()), v8::String::New(name.c_str()));
@@ -205,6 +209,8 @@
   if (natives_enabled_ == 0)
     return ThrowException("Natives disabled");
   std::string native_name = *v8::String::AsciiValue(args[0]->ToString());
+  if (overridden_native_handlers_.count(native_name) > 0u)
+    return RequireForJs(args);
   NativeHandlerMap::iterator i = native_handler_map_.find(native_name);
   if (i == native_handler_map_.end())
     return v8::Undefined();