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

Side by Side Diff: chrome/common/chrome_paths.cc

Issue 115868: The CPP logic on the log dir seems to have been wrong since last year. Chang... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 11 years, 7 months 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 | « chrome/common/chrome_paths.h ('k') | no next file » | 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/common/chrome_paths.h" 5 #include "chrome/common/chrome_paths.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 19 matching lines...) Expand all
30 return false; 30 return false;
31 #endif 31 #endif
32 } 32 }
33 33
34 bool PathProvider(int key, FilePath* result) { 34 bool PathProvider(int key, FilePath* result) {
35 // Some keys are just aliases... 35 // Some keys are just aliases...
36 switch (key) { 36 switch (key) {
37 case chrome::DIR_APP: 37 case chrome::DIR_APP:
38 return PathService::Get(base::DIR_MODULE, result); 38 return PathService::Get(base::DIR_MODULE, result);
39 case chrome::DIR_LOGS: 39 case chrome::DIR_LOGS:
40 #ifndef NDEBUG 40 #ifdef NDEBUG
41 // Release builds write to the data dir
41 return PathService::Get(chrome::DIR_USER_DATA, result); 42 return PathService::Get(chrome::DIR_USER_DATA, result);
42 #else 43 #else
44 // Debug builds write next to the binary (in the build tree)
43 return PathService::Get(base::DIR_EXE, result); 45 return PathService::Get(base::DIR_EXE, result);
44 #endif 46 #endif
45 case chrome::FILE_RESOURCE_MODULE: 47 case chrome::FILE_RESOURCE_MODULE:
46 return PathService::Get(base::FILE_MODULE, result); 48 return PathService::Get(base::FILE_MODULE, result);
47 } 49 }
48 50
49 // Assume that we will not need to create the directory if it does not exist. 51 // Assume that we will not need to create the directory if it does not exist.
50 // This flag can be set to true for the cases where we want to create it. 52 // This flag can be set to true for the cases where we want to create it.
51 bool create_dir = false; 53 bool create_dir = false;
52 54
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 break; 156 break;
155 case chrome::DIR_TEST_TOOLS: 157 case chrome::DIR_TEST_TOOLS:
156 if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur)) 158 if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur))
157 return false; 159 return false;
158 cur = cur.Append(FILE_PATH_LITERAL("chrome")); 160 cur = cur.Append(FILE_PATH_LITERAL("chrome"));
159 cur = cur.Append(FILE_PATH_LITERAL("tools")); 161 cur = cur.Append(FILE_PATH_LITERAL("tools"));
160 cur = cur.Append(FILE_PATH_LITERAL("test")); 162 cur = cur.Append(FILE_PATH_LITERAL("test"));
161 if (!file_util::PathExists(cur)) // we don't want to create this 163 if (!file_util::PathExists(cur)) // we don't want to create this
162 return false; 164 return false;
163 break; 165 break;
164 case chrome::FILE_PYTHON_RUNTIME:
165 if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur))
166 return false;
167 cur = cur.Append(FILE_PATH_LITERAL("third_party"));
168 cur = cur.Append(FILE_PATH_LITERAL("python_24"));
169 cur = cur.Append(FILE_PATH_LITERAL("python.exe"));
170 if (!file_util::PathExists(cur)) // we don't want to create this
171 return false;
172 break;
173 case chrome::FILE_TEST_SERVER:
174 if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur))
175 return false;
176 cur = cur.Append(FILE_PATH_LITERAL("net"));
177 cur = cur.Append(FILE_PATH_LITERAL("tools"));
178 cur = cur.Append(FILE_PATH_LITERAL("test"));
179 cur = cur.Append(FILE_PATH_LITERAL("testserver"));
180 cur = cur.Append(FILE_PATH_LITERAL("testserver.py"));
181 if (!file_util::PathExists(cur)) // we don't want to create this
182 return false;
183 break;
184 default: 166 default:
185 return false; 167 return false;
186 } 168 }
187 169
188 if (create_dir && !file_util::PathExists(cur) && 170 if (create_dir && !file_util::PathExists(cur) &&
189 !file_util::CreateDirectory(cur)) 171 !file_util::CreateDirectory(cur))
190 return false; 172 return false;
191 173
192 *result = cur; 174 *result = cur;
193 return true; 175 return true;
194 } 176 }
195 177
196 // This cannot be done as a static initializer sadly since Visual Studio will 178 // This cannot be done as a static initializer sadly since Visual Studio will
197 // eliminate this object file if there is no direct entry point into it. 179 // eliminate this object file if there is no direct entry point into it.
198 void RegisterPathProvider() { 180 void RegisterPathProvider() {
199 PathService::RegisterProvider(PathProvider, PATH_START, PATH_END); 181 PathService::RegisterProvider(PathProvider, PATH_START, PATH_END);
200 } 182 }
201 183
202 } // namespace chrome 184 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/common/chrome_paths.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698