| 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/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_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/mac/bundle_locations.h" | 10 #include "base/mac/bundle_locations.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 | 64 |
| 65 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 65 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 66 | 66 |
| 67 const FilePath::CharType kO3DPluginFileName[] = | 67 const FilePath::CharType kO3DPluginFileName[] = |
| 68 FILE_PATH_LITERAL("pepper/libppo3dautoplugin.so"); | 68 FILE_PATH_LITERAL("pepper/libppo3dautoplugin.so"); |
| 69 | 69 |
| 70 const FilePath::CharType kGTalkPluginFileName[] = | 70 const FilePath::CharType kGTalkPluginFileName[] = |
| 71 FILE_PATH_LITERAL("pepper/libppgoogletalk.so"); | 71 FILE_PATH_LITERAL("pepper/libppgoogletalk.so"); |
| 72 | 72 |
| 73 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) | 73 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) |
| 74 |
| 75 #if defined(OS_LINUX) |
| 76 // The search path that contains information about per-extension |
| 77 // definition files. |
| 78 // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ |
| 79 const char kFilepathSinglePrefExtensions[] = |
| 80 #if defined(GOOGLE_CHROME_BUILD) |
| 81 FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); |
| 82 #else |
| 83 FILE_PATH_LITERAL("/usr/share/chromium/extensions"); |
| 84 #endif |
| 85 #endif // defined(OS_LINUX) |
| 86 |
| 74 } // namespace | 87 } // namespace |
| 75 | 88 |
| 76 namespace chrome { | 89 namespace chrome { |
| 77 | 90 |
| 78 // Gets the path for internal plugins. | 91 // Gets the path for internal plugins. |
| 79 bool GetInternalPluginsDirectory(FilePath* result) { | 92 bool GetInternalPluginsDirectory(FilePath* result) { |
| 80 #if defined(OS_MACOSX) | 93 #if defined(OS_MACOSX) |
| 81 // If called from Chrome, get internal plugins from a subdirectory of the | 94 // If called from Chrome, get internal plugins from a subdirectory of the |
| 82 // framework. | 95 // framework. |
| 83 if (base::mac::AmIBundled()) { | 96 if (base::mac::AmIBundled()) { |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 } | 370 } |
| 358 #endif | 371 #endif |
| 359 #if defined(OS_CHROMEOS) || defined(OS_MACOSX) | 372 #if defined(OS_CHROMEOS) || defined(OS_MACOSX) |
| 360 case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { | 373 case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { |
| 361 if (!PathService::Get(chrome::DIR_USER_DATA, &cur)) | 374 if (!PathService::Get(chrome::DIR_USER_DATA, &cur)) |
| 362 return false; | 375 return false; |
| 363 cur = cur.Append(FILE_PATH_LITERAL("External Extensions")); | 376 cur = cur.Append(FILE_PATH_LITERAL("External Extensions")); |
| 364 break; | 377 break; |
| 365 } | 378 } |
| 366 #endif | 379 #endif |
| 380 #if defined(OS_LINUX) |
| 381 case chrome::DIR_SINGLE_EXTERNAL_EXTENSIONS: { |
| 382 cur = FilePath(FILE_PATH_LITERAL(kFilepathSinglePrefExtensions)); |
| 383 break; |
| 384 } |
| 385 #endif |
| 367 case chrome::DIR_EXTERNAL_EXTENSIONS: | 386 case chrome::DIR_EXTERNAL_EXTENSIONS: |
| 368 #if defined(OS_MACOSX) | 387 #if defined(OS_MACOSX) |
| 369 if (!chrome::GetGlobalApplicationSupportDirectory(&cur)) | 388 if (!chrome::GetGlobalApplicationSupportDirectory(&cur)) |
| 370 return false; | 389 return false; |
| 371 | 390 |
| 372 cur = cur.Append(FILE_PATH_LITERAL("Google")) | 391 cur = cur.Append(FILE_PATH_LITERAL("Google")) |
| 373 .Append(FILE_PATH_LITERAL("Chrome")) | 392 .Append(FILE_PATH_LITERAL("Chrome")) |
| 374 .Append(FILE_PATH_LITERAL("External Extensions")); | 393 .Append(FILE_PATH_LITERAL("External Extensions")); |
| 375 create_dir = false; | 394 create_dir = false; |
| 376 #else | 395 #else |
| (...skipping 28 matching lines...) Expand all Loading... |
| 405 return true; | 424 return true; |
| 406 } | 425 } |
| 407 | 426 |
| 408 // This cannot be done as a static initializer sadly since Visual Studio will | 427 // This cannot be done as a static initializer sadly since Visual Studio will |
| 409 // eliminate this object file if there is no direct entry point into it. | 428 // eliminate this object file if there is no direct entry point into it. |
| 410 void RegisterPathProvider() { | 429 void RegisterPathProvider() { |
| 411 PathService::RegisterProvider(PathProvider, PATH_START, PATH_END); | 430 PathService::RegisterProvider(PathProvider, PATH_START, PATH_END); |
| 412 } | 431 } |
| 413 | 432 |
| 414 } // namespace chrome | 433 } // namespace chrome |
| OLD | NEW |