浏览代码

xdg patch closer to release

Noah Vogt 3 年之前
父节点
当前提交
8e922ab854
共有 1 个文件被更改,包括 10 次插入27 次删除
  1. 10 27
      xdg-basedir.patch

+ 10 - 27
xdg-basedir.patch

@@ -8,8 +8,8 @@
  const char kXdgConfigHomeEnvVar[] = "XDG_CONFIG_HOME";
  const char kXdgConfigHomeEnvVar[] = "XDG_CONFIG_HOME";
  const char kXdgCurrentDesktopEnvVar[] = "XDG_CURRENT_DESKTOP";
  const char kXdgCurrentDesktopEnvVar[] = "XDG_CURRENT_DESKTOP";
  const char kXdgSessionTypeEnvVar[] = "XDG_SESSION_TYPE";
  const char kXdgSessionTypeEnvVar[] = "XDG_SESSION_TYPE";
-+const char kDotDataDir[] = ".local/share";
 +const char kXdgDataHomeEnvVar[] = "XDG_DATA_HOME";
 +const char kXdgDataHomeEnvVar[] = "XDG_DATA_HOME";
++const char kXdgDataHomeDefaultFallback[] = ".local/share";
  
  
  FilePath GetXDGDirectory(Environment* env, const char* env_name,
  FilePath GetXDGDirectory(Environment* env, const char* env_name,
                           const char* fallback_dir) {
                           const char* fallback_dir) {
@@ -20,11 +20,11 @@
  // The XDG session type environment variable.
  // The XDG session type environment variable.
  BASE_EXPORT extern const char kXdgSessionTypeEnvVar[];
  BASE_EXPORT extern const char kXdgSessionTypeEnvVar[];
  
  
-+// The default XDG data directory name.
-+BASE_EXPORT extern const char kDotDataDir[];
-+ 
 +// The XDG data directory environment variable.
 +// The XDG data directory environment variable.
 +BASE_EXPORT extern const char kXdgDataHomeEnvVar[];
 +BASE_EXPORT extern const char kXdgDataHomeEnvVar[];
++ 
++// The default/fallback XDG data directory.
++BASE_EXPORT extern const char kXdgDataHomeDefaultFallback[];
 +
 +
  // Utility function for getting XDG directories.
  // Utility function for getting XDG directories.
  // |env_name| is the name of an environment variable that we want to use to get
  // |env_name| is the name of an environment variable that we want to use to get
@@ -42,44 +42,27 @@
  
  
  namespace crypto {
  namespace crypto {
  
  
-@@ -45,12 +48,21 @@
+@@ -45,12 +48,23 @@
  
  
  base::FilePath GetDefaultConfigDirectory() {
  base::FilePath GetDefaultConfigDirectory() {
    base::FilePath dir;
    base::FilePath dir;
 +#if defined(OS_LINUX)
 +#if defined(OS_LINUX)
 +  std::unique_ptr<base::Environment> env(base::Environment::Create());
 +  std::unique_ptr<base::Environment> env(base::Environment::Create());
-+  dir = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgDataHomeEnvVar, base::nix::kDotDataDir);
++  dir = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgDataHomeEnvVar,
++    base::nix::kXdgDataHomeDefaultFallback);
 +#else
 +#else
    base::PathService::Get(base::DIR_HOME, &dir);
    base::PathService::Get(base::DIR_HOME, &dir);
 +#endif
 +#endif
    if (dir.empty()) {
    if (dir.empty()) {
--    LOG(ERROR) << "Failed to get home directory.";
-+    LOG(ERROR) << "Failed to get $HOME or $XDG_DATA_HOME directory.";
+     LOG(ERROR) << "Failed to get home directory.";
      return dir;
      return dir;
    }
    }
 +#if defined(OS_LINUX)
 +#if defined(OS_LINUX)
-+  dir = dir.Append(chrome::kBrowserProcessExecutableName).AppendASCII("pki").AppendASCII("nssdb");
++  dir = dir.Append(chrome::kBrowserProcessExecutableName).AppendASCII("pki").
++    ppendASCII("nssdb");
 +#else
 +#else
    dir = dir.AppendASCII(".pki").AppendASCII("nssdb");
    dir = dir.AppendASCII(".pki").AppendASCII("nssdb");
 +#endif
 +#endif
    if (!base::CreateDirectory(dir)) {
    if (!base::CreateDirectory(dir)) {
      LOG(ERROR) << "Failed to create " << dir.value() << " directory.";
      LOG(ERROR) << "Failed to create " << dir.value() << " directory.";
      dir.clear();
      dir.clear();
-@@ -136,7 +148,7 @@
-   NSSInitSingleton() {
-     // Initializing NSS causes us to do blocking IO.
-     // Temporarily allow it until we fix
--    //   http://code.google.com/p/chromium/issues/detail?id=59847
-+    //   http://code.9oo91e.qjz9zk/p/chromium/issues/detail?id=59847
-     base::ThreadRestrictions::ScopedAllowIO allow_io;
- 
-     EnsureNSPRInit();
-@@ -273,7 +285,7 @@
- 
-   // Shouldn't need to const_cast here, but SECMOD doesn't properly declare
-   // input string arguments as const.  Bug
--  // https://bugzilla.mozilla.org/show_bug.cgi?id=642546 was filed on NSS
-+  // https://bugzilla.m0z111a.qjz9zk/show_bug.cgi?id=642546 was filed on NSS
-   // codebase to address this.
-   SECMODModule* module = SECMOD_LoadUserModule(
-       const_cast<char*>(modparams.c_str()), nullptr, PR_FALSE);