Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: sandbox/win/tests/validation_tests/commands.cc

Issue 109843003: Replace wstring with string16 in sandbox (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sandbox/win/tests/validation_tests/commands.h ('k') | sandbox/win/wow_helper/wow_helper.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <windows.h> 5 #include <windows.h>
6 #include <string> 6 #include <string>
7 7
8 #include "sandbox/win/tests/validation_tests/commands.h" 8 #include "sandbox/win/tests/validation_tests/commands.h"
9 9
10 #include "sandbox/win/tests/common/controller.h" 10 #include "sandbox/win/tests/common/controller.h"
11 11
12 namespace { 12 namespace {
13 13
14 // Returns the HKEY corresponding to name. If there is no HKEY corresponding 14 // Returns the HKEY corresponding to name. If there is no HKEY corresponding
15 // to the name it returns NULL. 15 // to the name it returns NULL.
16 HKEY GetHKEYFromString(const std::wstring &name) { 16 HKEY GetHKEYFromString(const base::string16 &name) {
17 if (L"HKLM" == name) 17 if (L"HKLM" == name)
18 return HKEY_LOCAL_MACHINE; 18 return HKEY_LOCAL_MACHINE;
19 else if (L"HKCR" == name) 19 else if (L"HKCR" == name)
20 return HKEY_CLASSES_ROOT; 20 return HKEY_CLASSES_ROOT;
21 else if (L"HKCC" == name) 21 else if (L"HKCC" == name)
22 return HKEY_CURRENT_CONFIG; 22 return HKEY_CURRENT_CONFIG;
23 else if (L"HKCU" == name) 23 else if (L"HKCU" == name)
24 return HKEY_CURRENT_USER; 24 return HKEY_CURRENT_USER;
25 else if (L"HKU" == name) 25 else if (L"HKU" == name)
26 return HKEY_USERS; 26 return HKEY_USERS;
27 27
28 return NULL; 28 return NULL;
29 } 29 }
30 30
31 // Modifies string to remove the leading and trailing quotes. 31 // Modifies string to remove the leading and trailing quotes.
32 void trim_quote(std::wstring* string) { 32 void trim_quote(base::string16* string) {
33 std::wstring::size_type pos1 = string->find_first_not_of(L'"'); 33 base::string16::size_type pos1 = string->find_first_not_of(L'"');
34 std::wstring::size_type pos2 = string->find_last_not_of(L'"'); 34 base::string16::size_type pos2 = string->find_last_not_of(L'"');
35 35
36 if (std::wstring::npos == pos1 || std::wstring::npos == pos2) 36 if (base::string16::npos == pos1 || base::string16::npos == pos2)
37 (*string) = L""; 37 (*string) = L"";
38 else 38 else
39 (*string) = string->substr(pos1, pos2 + 1); 39 (*string) = string->substr(pos1, pos2 + 1);
40 } 40 }
41 41
42 int TestOpenFile(std::wstring path, bool for_write) { 42 int TestOpenFile(base::string16 path, bool for_write) {
43 wchar_t path_expanded[MAX_PATH + 1] = {0}; 43 wchar_t path_expanded[MAX_PATH + 1] = {0};
44 DWORD size = ::ExpandEnvironmentStrings(path.c_str(), path_expanded, 44 DWORD size = ::ExpandEnvironmentStrings(path.c_str(), path_expanded,
45 MAX_PATH); 45 MAX_PATH);
46 if (!size) 46 if (!size)
47 return sandbox::SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; 47 return sandbox::SBOX_TEST_FAILED_TO_EXECUTE_COMMAND;
48 48
49 HANDLE file; 49 HANDLE file;
50 file = ::CreateFile(path_expanded, 50 file = ::CreateFile(path_expanded,
51 for_write ? GENERIC_READ | GENERIC_WRITE : GENERIC_READ, 51 for_write ? GENERIC_READ | GENERIC_WRITE : GENERIC_READ,
52 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 52 FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 } else { 135 } else {
136 ::CloseHandle(thread); 136 ::CloseHandle(thread);
137 return SBOX_TEST_SUCCEEDED; 137 return SBOX_TEST_SUCCEEDED;
138 } 138 }
139 } 139 }
140 140
141 SBOX_TESTS_COMMAND int OpenFile(int argc, wchar_t **argv) { 141 SBOX_TESTS_COMMAND int OpenFile(int argc, wchar_t **argv) {
142 if (1 != argc) 142 if (1 != argc)
143 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; 143 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND;
144 144
145 std::wstring path = argv[0]; 145 base::string16 path = argv[0];
146 trim_quote(&path); 146 trim_quote(&path);
147 147
148 return TestOpenReadFile(path); 148 return TestOpenReadFile(path);
149 } 149 }
150 150
151 int TestOpenReadFile(const std::wstring& path) { 151 int TestOpenReadFile(const base::string16& path) {
152 return TestOpenFile(path, false); 152 return TestOpenFile(path, false);
153 } 153 }
154 154
155 int TestOpenWriteFile(int argc, wchar_t **argv) { 155 int TestOpenWriteFile(int argc, wchar_t **argv) {
156 if (1 != argc) 156 if (1 != argc)
157 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; 157 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND;
158 158
159 std::wstring path = argv[0]; 159 base::string16 path = argv[0];
160 trim_quote(&path); 160 trim_quote(&path);
161 161
162 return TestOpenWriteFile(path); 162 return TestOpenWriteFile(path);
163 } 163 }
164 164
165 int TestOpenWriteFile(const std::wstring& path) { 165 int TestOpenWriteFile(const base::string16& path) {
166 return TestOpenFile(path, true); 166 return TestOpenFile(path, true);
167 } 167 }
168 168
169 SBOX_TESTS_COMMAND int OpenKey(int argc, wchar_t **argv) { 169 SBOX_TESTS_COMMAND int OpenKey(int argc, wchar_t **argv) {
170 if (0 == argc || argc > 2) 170 if (0 == argc || argc > 2)
171 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; 171 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND;
172 172
173 // Get the hive. 173 // Get the hive.
174 HKEY base_key = GetHKEYFromString(argv[0]); 174 HKEY base_key = GetHKEYFromString(argv[0]);
175 175
176 // Get the subkey. 176 // Get the subkey.
177 std::wstring subkey; 177 base::string16 subkey;
178 if (2 == argc) { 178 if (2 == argc) {
179 subkey = argv[1]; 179 subkey = argv[1];
180 trim_quote(&subkey); 180 trim_quote(&subkey);
181 } 181 }
182 182
183 return TestOpenKey(base_key, subkey); 183 return TestOpenKey(base_key, subkey);
184 } 184 }
185 185
186 int TestOpenKey(HKEY base_key, std::wstring subkey) { 186 int TestOpenKey(HKEY base_key, base::string16 subkey) {
187 HKEY key; 187 HKEY key;
188 LONG err_code = ::RegOpenKeyEx(base_key, 188 LONG err_code = ::RegOpenKeyEx(base_key,
189 subkey.c_str(), 189 subkey.c_str(),
190 0, // Reserved, must be 0. 190 0, // Reserved, must be 0.
191 MAXIMUM_ALLOWED, 191 MAXIMUM_ALLOWED,
192 &key); 192 &key);
193 if (ERROR_SUCCESS == err_code) { 193 if (ERROR_SUCCESS == err_code) {
194 ::RegCloseKey(key); 194 ::RegCloseKey(key);
195 return SBOX_TEST_SUCCEEDED; 195 return SBOX_TEST_SUCCEEDED;
196 } else if (ERROR_INVALID_HANDLE == err_code || 196 } else if (ERROR_INVALID_HANDLE == err_code ||
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 SBOX_TESTS_COMMAND int SleepCmd(int argc, wchar_t **argv) { 253 SBOX_TESTS_COMMAND int SleepCmd(int argc, wchar_t **argv) {
254 if (1 != argc) 254 if (1 != argc)
255 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND; 255 return SBOX_TEST_FAILED_TO_EXECUTE_COMMAND;
256 256
257 ::Sleep(_wtoi(argv[0])); 257 ::Sleep(_wtoi(argv[0]));
258 return SBOX_TEST_SUCCEEDED; 258 return SBOX_TEST_SUCCEEDED;
259 } 259 }
260 260
261 261
262 } // namespace sandbox 262 } // namespace sandbox
OLDNEW
« no previous file with comments | « sandbox/win/tests/validation_tests/commands.h ('k') | sandbox/win/wow_helper/wow_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698