| Index: chrome/browser/extensions/extension_messages_apitest.cc | 
| diff --git a/chrome/browser/extensions/extension_messages_apitest.cc b/chrome/browser/extensions/extension_messages_apitest.cc | 
| index 54c44fe85c5f782a2709aa75f63a552d291d0982..d91627414d8a34df0f9191c98bbefde4732a9522 100644 | 
| --- a/chrome/browser/extensions/extension_messages_apitest.cc | 
| +++ b/chrome/browser/extensions/extension_messages_apitest.cc | 
| @@ -33,6 +33,8 @@ | 
| #include "extensions/common/api/runtime.h" | 
| #include "extensions/common/extension_builder.h" | 
| #include "extensions/common/value_builder.h" | 
| +#include "extensions/test/extension_test_message_listener.h" | 
| +#include "extensions/test/result_catcher.h" | 
| #include "net/cert/asn1_util.h" | 
| #include "net/cert/jwk_serializer.h" | 
| #include "net/dns/mock_host_resolver.h" | 
| @@ -112,6 +114,22 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Messaging) { | 
| ASSERT_TRUE(RunExtensionTest("messaging/connect")) << message_; | 
| } | 
|  | 
| +IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MessagingCrash) { | 
| +  ASSERT_TRUE(StartEmbeddedTestServer()); | 
| +  ExtensionTestMessageListener ready_to_crash("ready_to_crash", true); | 
| +  ASSERT_TRUE(LoadExtension( | 
| +          test_data_dir_.AppendASCII("messaging/connect_crash"))); | 
| +  ui_test_utils::NavigateToURL( | 
| +      browser(), embedded_test_server()->GetURL("/extensions/test_file.html")); | 
| +  content::WebContents* tab = | 
| +      browser()->tab_strip_model()->GetActiveWebContents(); | 
| +  EXPECT_TRUE(ready_to_crash.WaitUntilSatisfied()); | 
| + | 
| +  ResultCatcher catcher; | 
| +  CrashTab(tab); | 
| +  EXPECT_TRUE(catcher.GetNextResult()); | 
| +} | 
| + | 
| // Tests that message passing from one extension to another works. | 
| IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MessagingExternal) { | 
| ASSERT_TRUE(LoadExtension( | 
|  |