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

Side by Side Diff: app/app_paths.cc

Issue 155425: Mac-ify the app-based extensions folder name.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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 | « no previous file | 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) 2009 The Chromium Authors. All rights reserved. Use of this 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this
2 // source code is governed by a BSD-style license that can be found in the 2 // source code is governed by a BSD-style license that can be found in the
3 // LICENSE file. 3 // LICENSE file.
4 4
5 #include "app/app_paths.h" 5 #include "app/app_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/path_service.h" 10 #include "base/path_service.h"
11 11
12 namespace app { 12 namespace app {
13 13
14 bool PathProvider(int key, FilePath* result) { 14 bool PathProvider(int key, FilePath* result) {
15 // Assume that we will not need to create the directory if it does not exist. 15 // Assume that we will not need to create the directory if it does not exist.
16 // This flag can be set to true for the cases where we want to create it. 16 // This flag can be set to true for the cases where we want to create it.
17 bool create_dir = false; 17 bool create_dir = false;
18 18
19 FilePath cur; 19 FilePath cur;
20 switch (key) { 20 switch (key) {
21 #if !defined(OS_MACOSX)
Mark Mentovai 2009/07/13 16:15:21 Nobody will ever ask for DIR_THEMES on the Mac?
Avi (use Gerrit) 2009/07/13 16:33:53 They don't now, and if they start to, it'll be pre
22 // These are not "themes" that are user-created, but rather the dlls and
23 // pak files. On the Mac, we keep the pak files in the lproj folders.
21 case app::DIR_THEMES: 24 case app::DIR_THEMES:
22 if (!PathService::Get(base::DIR_MODULE, &cur)) 25 if (!PathService::Get(base::DIR_MODULE, &cur))
23 return false; 26 return false;
24 cur = cur.Append(FILE_PATH_LITERAL("themes")); 27 cur = cur.Append(FILE_PATH_LITERAL("themes"));
25 create_dir = true; 28 create_dir = true;
26 break; 29 break;
30 #endif
27 case app::DIR_LOCALES: 31 case app::DIR_LOCALES:
28 if (!PathService::Get(base::DIR_MODULE, &cur)) 32 if (!PathService::Get(base::DIR_MODULE, &cur))
29 return false; 33 return false;
30 #if defined(OS_MACOSX) 34 #if defined(OS_MACOSX)
31 // On Mac, locale files are in Contents/Resources, a sibling of the 35 // On Mac, locale files are in Contents/Resources, a sibling of the
32 // App dir. 36 // App dir.
33 cur = cur.DirName(); 37 cur = cur.DirName();
34 cur = cur.Append(FILE_PATH_LITERAL("Resources")); 38 cur = cur.Append(FILE_PATH_LITERAL("Resources"));
35 #else 39 #else
36 cur = cur.Append(FILE_PATH_LITERAL("locales")); 40 cur = cur.Append(FILE_PATH_LITERAL("locales"));
37 #endif 41 #endif
38 create_dir = true; 42 create_dir = true;
39 break; 43 break;
40 case app::DIR_EXTERNAL_EXTENSIONS: 44 case app::DIR_EXTERNAL_EXTENSIONS:
41 if (!PathService::Get(base::DIR_MODULE, &cur)) 45 if (!PathService::Get(base::DIR_MODULE, &cur))
42 return false; 46 return false;
47 #if defined(OS_MACOSX)
Mark Mentovai 2009/07/13 16:15:21 Do we support multiple extensions dirs?
Avi (use Gerrit) 2009/07/13 16:33:53 This is for extensions that ship with the app; thi
48 // On Mac, built-in extensions are in Contents/Extensions, a sibling of
49 // the App dir. If there are none, it may not exist.
50 cur = cur.DirName();
51 cur = cur.Append(FILE_PATH_LITERAL("Extensions"));
52 create_dir = false;
53 #else
43 cur = cur.Append(FILE_PATH_LITERAL("extensions")); 54 cur = cur.Append(FILE_PATH_LITERAL("extensions"));
44 create_dir = true; 55 create_dir = true;
56 #endif
45 break; 57 break;
46 // The following are only valid in the development environment, and 58 // The following are only valid in the development environment, and
47 // will fail if executed from an installed executable (because the 59 // will fail if executed from an installed executable (because the
48 // generated path won't exist). 60 // generated path won't exist).
49 case app::DIR_TEST_DATA: 61 case app::DIR_TEST_DATA:
50 if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur)) 62 if (!PathService::Get(base::DIR_SOURCE_ROOT, &cur))
51 return false; 63 return false;
52 cur = cur.Append(FILE_PATH_LITERAL("app")); 64 cur = cur.Append(FILE_PATH_LITERAL("app"));
53 cur = cur.Append(FILE_PATH_LITERAL("test")); 65 cur = cur.Append(FILE_PATH_LITERAL("test"));
54 cur = cur.Append(FILE_PATH_LITERAL("data")); 66 cur = cur.Append(FILE_PATH_LITERAL("data"));
(...skipping 12 matching lines...) Expand all
67 return true; 79 return true;
68 } 80 }
69 81
70 // This cannot be done as a static initializer sadly since Visual Studio will 82 // This cannot be done as a static initializer sadly since Visual Studio will
71 // eliminate this object file if there is no direct entry point into it. 83 // eliminate this object file if there is no direct entry point into it.
72 void RegisterPathProvider() { 84 void RegisterPathProvider() {
73 PathService::RegisterProvider(PathProvider, PATH_START, PATH_END); 85 PathService::RegisterProvider(PathProvider, PATH_START, PATH_END);
74 } 86 }
75 87
76 } // namespace app 88 } // namespace app
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698