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 | 9 |
9 #include "base/base_switches.h" | 10 #include "base/base_switches.h" |
10 #include "base/strings/string_split.h" | 11 #include "base/strings/string_split.h" |
11 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
12 #include "base/strings/stringprintf.h" | 13 #include "base/strings/stringprintf.h" |
13 #include "build/build_config.h" | 14 #include "build/build_config.h" |
14 #include "chrome/browser/extensions/extension_service.h" | 15 #include "chrome/browser/extensions/extension_service.h" |
15 #include "chrome/browser/extensions/unpacked_installer.h" | 16 #include "chrome/browser/extensions/unpacked_installer.h" |
16 #include "chrome/browser/profiles/profile.h" | 17 #include "chrome/browser/profiles/profile.h" |
17 #include "chrome/browser/ui/browser.h" | 18 #include "chrome/browser/ui/browser.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 return nullptr; | 51 return nullptr; |
51 | 52 |
52 size_t query_string_pos = request.relative_url.find('?'); | 53 size_t query_string_pos = request.relative_url.find('?'); |
53 std::string redirect_target = | 54 std::string redirect_target = |
54 request.relative_url.substr(query_string_pos + 1); | 55 request.relative_url.substr(query_string_pos + 1); |
55 | 56 |
56 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 57 scoped_ptr<net::test_server::BasicHttpResponse> http_response( |
57 new net::test_server::BasicHttpResponse); | 58 new net::test_server::BasicHttpResponse); |
58 http_response->set_code(net::HTTP_MOVED_PERMANENTLY); | 59 http_response->set_code(net::HTTP_MOVED_PERMANENTLY); |
59 http_response->AddCustomHeader("Location", redirect_target); | 60 http_response->AddCustomHeader("Location", redirect_target); |
60 return http_response.Pass(); | 61 return std::move(http_response); |
61 } | 62 } |
62 | 63 |
63 scoped_ptr<net::test_server::HttpResponse> HandleEchoHeaderRequest( | 64 scoped_ptr<net::test_server::HttpResponse> HandleEchoHeaderRequest( |
64 const net::test_server::HttpRequest& request) { | 65 const net::test_server::HttpRequest& request) { |
65 if (!base::StartsWith(request.relative_url, "/echoheader?", | 66 if (!base::StartsWith(request.relative_url, "/echoheader?", |
66 base::CompareCase::SENSITIVE)) | 67 base::CompareCase::SENSITIVE)) |
67 return nullptr; | 68 return nullptr; |
68 | 69 |
69 size_t query_string_pos = request.relative_url.find('?'); | 70 size_t query_string_pos = request.relative_url.find('?'); |
70 std::string header_name = | 71 std::string header_name = |
71 request.relative_url.substr(query_string_pos + 1); | 72 request.relative_url.substr(query_string_pos + 1); |
72 | 73 |
73 std::string header_value; | 74 std::string header_value; |
74 auto it = request.headers.find(header_name); | 75 auto it = request.headers.find(header_name); |
75 if (it != request.headers.end()) | 76 if (it != request.headers.end()) |
76 header_value = it->second; | 77 header_value = it->second; |
77 | 78 |
78 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 79 scoped_ptr<net::test_server::BasicHttpResponse> http_response( |
79 new net::test_server::BasicHttpResponse); | 80 new net::test_server::BasicHttpResponse); |
80 http_response->set_code(net::HTTP_OK); | 81 http_response->set_code(net::HTTP_OK); |
81 http_response->set_content(header_value); | 82 http_response->set_content(header_value); |
82 return http_response.Pass(); | 83 return std::move(http_response); |
83 } | 84 } |
84 | 85 |
85 scoped_ptr<net::test_server::HttpResponse> HandleSetCookieRequest( | 86 scoped_ptr<net::test_server::HttpResponse> HandleSetCookieRequest( |
86 const net::test_server::HttpRequest& request) { | 87 const net::test_server::HttpRequest& request) { |
87 if (!base::StartsWith(request.relative_url, "/set-cookie?", | 88 if (!base::StartsWith(request.relative_url, "/set-cookie?", |
88 base::CompareCase::SENSITIVE)) | 89 base::CompareCase::SENSITIVE)) |
89 return nullptr; | 90 return nullptr; |
90 | 91 |
91 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 92 scoped_ptr<net::test_server::BasicHttpResponse> http_response( |
92 new net::test_server::BasicHttpResponse); | 93 new net::test_server::BasicHttpResponse); |
93 http_response->set_code(net::HTTP_OK); | 94 http_response->set_code(net::HTTP_OK); |
94 | 95 |
95 size_t query_string_pos = request.relative_url.find('?'); | 96 size_t query_string_pos = request.relative_url.find('?'); |
96 std::string cookie_value = | 97 std::string cookie_value = |
97 request.relative_url.substr(query_string_pos + 1); | 98 request.relative_url.substr(query_string_pos + 1); |
98 | 99 |
99 for (const std::string& cookie : base::SplitString( | 100 for (const std::string& cookie : base::SplitString( |
100 cookie_value, "&", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) | 101 cookie_value, "&", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) |
101 http_response->AddCustomHeader("Set-Cookie", cookie); | 102 http_response->AddCustomHeader("Set-Cookie", cookie); |
102 | 103 |
103 return http_response.Pass(); | 104 return std::move(http_response); |
104 } | 105 } |
105 | 106 |
106 scoped_ptr<net::test_server::HttpResponse> HandleSetHeaderRequest( | 107 scoped_ptr<net::test_server::HttpResponse> HandleSetHeaderRequest( |
107 const net::test_server::HttpRequest& request) { | 108 const net::test_server::HttpRequest& request) { |
108 if (!base::StartsWith(request.relative_url, "/set-header?", | 109 if (!base::StartsWith(request.relative_url, "/set-header?", |
109 base::CompareCase::SENSITIVE)) | 110 base::CompareCase::SENSITIVE)) |
110 return nullptr; | 111 return nullptr; |
111 | 112 |
112 size_t query_string_pos = request.relative_url.find('?'); | 113 size_t query_string_pos = request.relative_url.find('?'); |
113 std::string escaped_header = | 114 std::string escaped_header = |
(...skipping 10 matching lines...) Expand all Loading... |
124 return scoped_ptr<net::test_server::HttpResponse>(); | 125 return scoped_ptr<net::test_server::HttpResponse>(); |
125 | 126 |
126 std::string header_name = header.substr(0, colon_pos); | 127 std::string header_name = header.substr(0, colon_pos); |
127 // Skip space after colon. | 128 // Skip space after colon. |
128 std::string header_value = header.substr(colon_pos + 2); | 129 std::string header_value = header.substr(colon_pos + 2); |
129 | 130 |
130 scoped_ptr<net::test_server::BasicHttpResponse> http_response( | 131 scoped_ptr<net::test_server::BasicHttpResponse> http_response( |
131 new net::test_server::BasicHttpResponse); | 132 new net::test_server::BasicHttpResponse); |
132 http_response->set_code(net::HTTP_OK); | 133 http_response->set_code(net::HTTP_OK); |
133 http_response->AddCustomHeader(header_name, header_value); | 134 http_response->AddCustomHeader(header_name, header_value); |
134 return http_response.Pass(); | 135 return std::move(http_response); |
135 } | 136 } |
136 | 137 |
137 }; // namespace | 138 }; // namespace |
138 | 139 |
139 ExtensionApiTest::ExtensionApiTest() { | 140 ExtensionApiTest::ExtensionApiTest() { |
140 embedded_test_server()->RegisterRequestHandler( | 141 embedded_test_server()->RegisterRequestHandler( |
141 base::Bind(&HandleServerRedirectRequest)); | 142 base::Bind(&HandleServerRedirectRequest)); |
142 embedded_test_server()->RegisterRequestHandler( | 143 embedded_test_server()->RegisterRequestHandler( |
143 base::Bind(&HandleEchoHeaderRequest)); | 144 base::Bind(&HandleEchoHeaderRequest)); |
144 embedded_test_server()->RegisterRequestHandler( | 145 embedded_test_server()->RegisterRequestHandler( |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 } | 419 } |
419 | 420 |
420 void ExtensionApiTest::SetUpCommandLine(base::CommandLine* command_line) { | 421 void ExtensionApiTest::SetUpCommandLine(base::CommandLine* command_line) { |
421 ExtensionBrowserTest::SetUpCommandLine(command_line); | 422 ExtensionBrowserTest::SetUpCommandLine(command_line); |
422 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); | 423 test_data_dir_ = test_data_dir_.AppendASCII("api_test"); |
423 // Backgrounded renderer processes run at a lower priority, causing the | 424 // Backgrounded renderer processes run at a lower priority, causing the |
424 // tests to take more time to complete. Disable backgrounding so that the | 425 // tests to take more time to complete. Disable backgrounding so that the |
425 // tests don't time out. | 426 // tests don't time out. |
426 command_line->AppendSwitch(switches::kDisableRendererBackgrounding); | 427 command_line->AppendSwitch(switches::kDisableRendererBackgrounding); |
427 } | 428 } |
OLD | NEW |