Add ExceptionHandler to ModuleSystem, remove heap allocated v8::TryCatch.


BUG=152389


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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170898 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/test/base/module_system_test.cc b/chrome/test/base/module_system_test.cc
index 1f7b75be..365ea7f 100644
--- a/chrome/test/base/module_system_test.cc
+++ b/chrome/test/base/module_system_test.cc
@@ -75,6 +75,13 @@
   std::map<std::string, std::string> source_map_;
 };
 
+class FailsOnException : public ModuleSystem::ExceptionHandler {
+ public:
+  virtual void HandleUncaughtException() {
+    FAIL();
+  }
+};
+
 ModuleSystemTest::ModuleSystemTest()
     : context_(v8::Context::New()),
       source_map_(new StringSourceMap()),
@@ -84,7 +91,8 @@
   module_system_.reset(new ModuleSystem(context_, source_map_.get()));
   module_system_->RegisterNativeHandler("assert", scoped_ptr<NativeHandler>(
       assert_natives_));
-  try_catch_.SetCaptureMessage(true);
+  module_system_->set_exception_handler(
+      scoped_ptr<ModuleSystem::ExceptionHandler>(new FailsOnException));
 }
 
 ModuleSystemTest::~ModuleSystemTest() {
@@ -112,9 +120,6 @@
 }
 
 void ModuleSystemTest::TearDown() {
-  if (try_catch_.HasCaught())
-    ModuleSystem::DumpException(try_catch_);
-  EXPECT_FALSE(try_catch_.HasCaught());
   // All tests must assert at least once unless otherwise specified.
   EXPECT_EQ(should_assertions_be_made_,
             assert_natives_->assertion_made());