OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/extension_apitest.h" | 5 #include "chrome/browser/extensions/extension_apitest.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/base_switches.h" | 10 #include "base/base_switches.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 namespace { | 38 namespace { |
39 | 39 |
40 const char kTestCustomArg[] = "customArg"; | 40 const char kTestCustomArg[] = "customArg"; |
41 const char kTestDataDirectory[] = "testDataDirectory"; | 41 const char kTestDataDirectory[] = "testDataDirectory"; |
42 const char kTestWebSocketPort[] = "testWebSocketPort"; | 42 const char kTestWebSocketPort[] = "testWebSocketPort"; |
43 const char kIsolateExtensions[] = "isolateExtensions"; | 43 const char kIsolateExtensions[] = "isolateExtensions"; |
44 const char kFtpServerPort[] = "ftpServer.port"; | 44 const char kFtpServerPort[] = "ftpServer.port"; |
45 const char kEmbeddedTestServerPort[] = "testServer.port"; | 45 const char kEmbeddedTestServerPort[] = "testServer.port"; |
46 | 46 |
47 scoped_ptr<net::test_server::HttpResponse> HandleServerRedirectRequest( | 47 std::unique_ptr<net::test_server::HttpResponse> HandleServerRedirectRequest( |
48 const net::test_server::HttpRequest& request) { | 48 const net::test_server::HttpRequest& request) { |
49 if (!base::StartsWith(request.relative_url, "/server-redirect?", | 49 if (!base::StartsWith(request.relative_url, "/server-redirect?", |
50 base::CompareCase::SENSITIVE)) | 50 base::CompareCase::SENSITIVE)) |
51 return nullptr; | 51 return nullptr; |
52 | 52 |
53 size_t query_string_pos = request.relative_url.find('?'); | 53 size_t query_string_pos = request.relative_url.find('?'); |
54 std::string redirect_target = | 54 std::string redirect_target = |
55 request.relative_url.substr(query_string_pos + 1); | 55 request.relative_url.substr(query_string_pos + 1); |
56 | 56 |
57 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 57 std::unique_ptr<net::test_server::BasicHttpResponse> http_response( |
58 new net::test_server::BasicHttpResponse); | 58 new net::test_server::BasicHttpResponse); |
59 http_response->set_code(net::HTTP_MOVED_PERMANENTLY); | 59 http_response->set_code(net::HTTP_MOVED_PERMANENTLY); |
60 http_response->AddCustomHeader("Location", redirect_target); | 60 http_response->AddCustomHeader("Location", redirect_target); |
61 return std::move(http_response); | 61 return std::move(http_response); |
62 } | 62 } |
63 | 63 |
64 scoped_ptr<net::test_server::HttpResponse> HandleEchoHeaderRequest( | 64 std::unique_ptr<net::test_server::HttpResponse> HandleEchoHeaderRequest( |
65 const net::test_server::HttpRequest& request) { | 65 const net::test_server::HttpRequest& request) { |
66 if (!base::StartsWith(request.relative_url, "/echoheader?", | 66 if (!base::StartsWith(request.relative_url, "/echoheader?", |
67 base::CompareCase::SENSITIVE)) | 67 base::CompareCase::SENSITIVE)) |
68 return nullptr; | 68 return nullptr; |
69 | 69 |
70 size_t query_string_pos = request.relative_url.find('?'); | 70 size_t query_string_pos = request.relative_url.find('?'); |
71 std::string header_name = | 71 std::string header_name = |
72 request.relative_url.substr(query_string_pos + 1); | 72 request.relative_url.substr(query_string_pos + 1); |
73 | 73 |
74 std::string header_value; | 74 std::string header_value; |
75 auto it = request.headers.find(header_name); | 75 auto it = request.headers.find(header_name); |
76 if (it != request.headers.end()) | 76 if (it != request.headers.end()) |
77 header_value = it->second; | 77 header_value = it->second; |
78 | 78 |
79 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 79 std::unique_ptr<net::test_server::BasicHttpResponse> http_response( |
80 new net::test_server::BasicHttpResponse); | 80 new net::test_server::BasicHttpResponse); |
81 http_response->set_code(net::HTTP_OK); | 81 http_response->set_code(net::HTTP_OK); |
82 http_response->set_content(header_value); | 82 http_response->set_content(header_value); |
83 return std::move(http_response); | 83 return std::move(http_response); |
84 } | 84 } |
85 | 85 |
86 scoped_ptr<net::test_server::HttpResponse> HandleSetCookieRequest( | 86 std::unique_ptr<net::test_server::HttpResponse> HandleSetCookieRequest( |
87 const net::test_server::HttpRequest& request) { | 87 const net::test_server::HttpRequest& request) { |
88 if (!base::StartsWith(request.relative_url, "/set-cookie?", | 88 if (!base::StartsWith(request.relative_url, "/set-cookie?", |
89 base::CompareCase::SENSITIVE)) | 89 base::CompareCase::SENSITIVE)) |
90 return nullptr; | 90 return nullptr; |
91 | 91 |
92 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 92 std::unique_ptr<net::test_server::BasicHttpResponse> http_response( |
93 new net::test_server::BasicHttpResponse); | 93 new net::test_server::BasicHttpResponse); |
94 http_response->set_code(net::HTTP_OK); | 94 http_response->set_code(net::HTTP_OK); |
95 | 95 |
96 size_t query_string_pos = request.relative_url.find('?'); | 96 size_t query_string_pos = request.relative_url.find('?'); |
97 std::string cookie_value = | 97 std::string cookie_value = |
98 request.relative_url.substr(query_string_pos + 1); | 98 request.relative_url.substr(query_string_pos + 1); |
99 | 99 |
100 for (const std::string& cookie : base::SplitString( | 100 for (const std::string& cookie : base::SplitString( |
101 cookie_value, "&", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) | 101 cookie_value, "&", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) |
102 http_response->AddCustomHeader("Set-Cookie", cookie); | 102 http_response->AddCustomHeader("Set-Cookie", cookie); |
103 | 103 |
104 return std::move(http_response); | 104 return std::move(http_response); |
105 } | 105 } |
106 | 106 |
107 scoped_ptr<net::test_server::HttpResponse> HandleSetHeaderRequest( | 107 std::unique_ptr<net::test_server::HttpResponse> HandleSetHeaderRequest( |
108 const net::test_server::HttpRequest& request) { | 108 const net::test_server::HttpRequest& request) { |
109 if (!base::StartsWith(request.relative_url, "/set-header?", | 109 if (!base::StartsWith(request.relative_url, "/set-header?", |
110 base::CompareCase::SENSITIVE)) | 110 base::CompareCase::SENSITIVE)) |
111 return nullptr; | 111 return nullptr; |
112 | 112 |
113 size_t query_string_pos = request.relative_url.find('?'); | 113 size_t query_string_pos = request.relative_url.find('?'); |
114 std::string escaped_header = | 114 std::string escaped_header = |
115 request.relative_url.substr(query_string_pos + 1); | 115 request.relative_url.substr(query_string_pos + 1); |
116 | 116 |
117 std::string header = net::UnescapeURLComponent( | 117 std::string header = net::UnescapeURLComponent( |
118 escaped_header, | 118 escaped_header, |
119 net::UnescapeRule::NORMAL | net::UnescapeRule::SPACES | | 119 net::UnescapeRule::NORMAL | net::UnescapeRule::SPACES | |
120 net::UnescapeRule::PATH_SEPARATORS | | 120 net::UnescapeRule::PATH_SEPARATORS | |
121 net::UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS); | 121 net::UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS); |
122 | 122 |
123 size_t colon_pos = header.find(':'); | 123 size_t colon_pos = header.find(':'); |
124 if (colon_pos == std::string::npos) | 124 if (colon_pos == std::string::npos) |
125 return scoped_ptr<net::test_server::HttpResponse>(); | 125 return std::unique_ptr<net::test_server::HttpResponse>(); |
126 | 126 |
127 std::string header_name = header.substr(0, colon_pos); | 127 std::string header_name = header.substr(0, colon_pos); |
128 // Skip space after colon. | 128 // Skip space after colon. |
129 std::string header_value = header.substr(colon_pos + 2); | 129 std::string header_value = header.substr(colon_pos + 2); |
130 | 130 |
131 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 131 std::unique_ptr<net::test_server::BasicHttpResponse> http_response( |
132 new net::test_server::BasicHttpResponse); | 132 new net::test_server::BasicHttpResponse); |
133 http_response->set_code(net::HTTP_OK); | 133 http_response->set_code(net::HTTP_OK); |
134 http_response->AddCustomHeader(header_name, header_value); | 134 http_response->AddCustomHeader(header_name, header_value); |
135 return std::move(http_response); | 135 return std::move(http_response); |
136 } | 136 } |
137 | 137 |
138 }; // namespace | 138 }; // namespace |
139 | 139 |
140 ExtensionApiTest::ExtensionApiTest() { | 140 ExtensionApiTest::ExtensionApiTest() { |
141 embedded_test_server()->RegisterRequestHandler( | 141 embedded_test_server()->RegisterRequestHandler( |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 } | 426 } |
427 | 427 |
428 void ExtensionApiTest::SetUpCommandLine(base::CommandLine* command_line) { | 428 void ExtensionApiTest::SetUpCommandLine(base::CommandLine* command_line) { |
429 ExtensionBrowserTest::SetUpCommandLine(command_line); | 429 ExtensionBrowserTest::SetUpCommandLine(command_line); |
430 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); | 430 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); |
431 // Backgrounded renderer processes run at a lower priority, causing the | 431 // Backgrounded renderer processes run at a lower priority, causing the |
432 // tests to take more time to complete. Disable backgrounding so that the | 432 // tests to take more time to complete. Disable backgrounding so that the |
433 // tests don't time out. | 433 // tests don't time out. |
434 command_line->AppendSwitch(switches::kDisableRendererBackgrounding); | 434 command_line->AppendSwitch(switches::kDisableRendererBackgrounding); |
435 } | 435 } |
OLD | NEW |