• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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 #ifndef CHROME_TEST_NACL_PNACL_HEADER_TEST_H_
6 #define CHROME_TEST_NACL_PNACL_HEADER_TEST_H_
7 
8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "chrome/test/base/in_process_browser_test.h"
11 
12 namespace base {
13 class FilePath;
14 }
15 
16 namespace net {
17 namespace test_server {
18 struct HttpRequest;
19 class HttpResponse;
20 }
21 }
22 
23 class PnaclHeaderTest : public InProcessBrowserTest {
24  public:
25   PnaclHeaderTest();
26   virtual ~PnaclHeaderTest();
27 
28   // Run a simple test that checks that the NaCl plugin sends the right
29   // headers when doing |expected_noncors| same origin pexe load requests
30   // and |expected_cors| cross origin pexe load requests.
31   void RunLoadTest(const std::string& url,
32                    int expected_noncors,
33                    int expected_cors);
34 
35  private:
36   void StartServer();
37 
38   scoped_ptr<net::test_server::HttpResponse> WatchForPexeFetch(
39       const net::test_server::HttpRequest& request);
40 
41   int noncors_loads_;
42   int cors_loads_;
43   DISALLOW_COPY_AND_ASSIGN(PnaclHeaderTest);
44 };
45 
46 #endif  // CHROME_TEST_NACL_PNACL_HEADER_TEST_H_
47