Index: chrome/browser/extensions/api/web_request/web_request_apitest.cc |
diff --git a/chrome/browser/extensions/api/web_request/web_request_apitest.cc b/chrome/browser/extensions/api/web_request/web_request_apitest.cc |
index ce562b7c915fae9cb18db0da4a57ac2d1c450de7..410c54ef6f6d32558436fa451a4fb6de83e33f58 100644 |
--- a/chrome/browser/extensions/api/web_request/web_request_apitest.cc |
+++ b/chrome/browser/extensions/api/web_request/web_request_apitest.cc |
@@ -18,6 +18,7 @@ |
#include "content/public/test/browser_test_utils.h" |
#include "extensions/browser/api/web_request/web_request_api.h" |
#include "extensions/browser/extension_system.h" |
+#include "extensions/common/extension_builder.h" |
#include "extensions/common/features/feature.h" |
#include "extensions/test/extension_test_message_listener.h" |
#include "extensions/test/result_catcher.h" |
@@ -387,3 +388,33 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebRequestApiTest, ExtensionRequests) { |
listener_result.message()); |
} |
} |
+ |
+IN_PROC_BROWSER_TEST_F(ExtensionWebRequestApiTest, HostedAppRequest) { |
+ ASSERT_TRUE(StartEmbeddedTestServer()); |
+ GURL hosted_app_url( |
+ embedded_test_server()->GetURL( |
+ "/extensions/api_test/webrequest_hosted_app/index.html")); |
+ scoped_refptr<extensions::Extension> hosted_app = |
+ extensions::ExtensionBuilder() |
+ .SetManifest(extensions::DictionaryBuilder() |
+ .Set("name", "Some hosted app") |
+ .Set("version", "1") |
+ .Set("manifest_version", 2) |
+ .Set("app", extensions::DictionaryBuilder() |
+ .Set("launch", extensions::DictionaryBuilder() |
+ .Set("web_url", hosted_app_url.spec())))) |
+ .Build(); |
+ extensions::ExtensionSystem::Get(browser()->profile())->extension_service() |
+ ->AddExtension(hosted_app.get()); |
+ |
+ ExtensionTestMessageListener listener1("main_frame", false); |
+ ExtensionTestMessageListener listener2("xmlhttprequest", false); |
+ |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("webrequest_hosted_app"))); |
+ |
+ ui_test_utils::NavigateToURL(browser(), hosted_app_url); |
+ |
+ EXPECT_TRUE(listener1.WaitUntilSatisfied()); |
+ EXPECT_TRUE(listener2.WaitUntilSatisfied()); |
+} |