1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/extensions/extension_apitest.h"
6#include "net/dns/mock_host_resolver.h"
7
8const base::FilePath::CharType kFtpDocRoot[] =
9    FILE_PATH_LITERAL("chrome/test/data");
10
11IN_PROC_BROWSER_TEST_F(ExtensionApiTest, CrossOriginXHRBackgroundPage) {
12  host_resolver()->AddRule("*.com", "127.0.0.1");
13  ASSERT_TRUE(StartEmbeddedTestServer());
14  ASSERT_TRUE(StartFTPServer(base::FilePath(kFtpDocRoot)));
15  ASSERT_TRUE(RunExtensionTest("cross_origin_xhr/background_page")) << message_;
16}
17
18IN_PROC_BROWSER_TEST_F(ExtensionApiTest, CrossOriginXHRAllURLs) {
19  host_resolver()->AddRule("*.com", "127.0.0.1");
20  ASSERT_TRUE(StartEmbeddedTestServer());
21  ASSERT_TRUE(RunExtensionTest("cross_origin_xhr/all_urls")) << message_;
22}
23
24IN_PROC_BROWSER_TEST_F(ExtensionApiTest, CrossOriginXHRContentScript) {
25  host_resolver()->AddRule("*.com", "127.0.0.1");
26  ASSERT_TRUE(StartEmbeddedTestServer());
27  ASSERT_TRUE(StartFTPServer(base::FilePath(kFtpDocRoot)));
28  ASSERT_TRUE(RunExtensionTest("cross_origin_xhr/content_script")) << message_;
29}
30
31IN_PROC_BROWSER_TEST_F(ExtensionApiTest, CrossOriginXHRFileAccess) {
32  ASSERT_TRUE(RunExtensionTest("cross_origin_xhr/file_access")) << message_;
33}
34
35IN_PROC_BROWSER_TEST_F(ExtensionApiTest, CrossOriginXHRNoFileAccess) {
36  ASSERT_TRUE(RunExtensionTestNoFileAccess(
37      "cross_origin_xhr/no_file_access")) << message_;
38}
39