Browse Source

优化配置模块初始化方式,修复编译错误

adenlin0812 3 weeks ago
parent
commit
08e08c130f

+ 5 - 0
chrome/app/chrome_main_delegate.cc

@@ -225,6 +225,8 @@
 #include "ui/ozone/public/ozone_platform.h"
 #endif  // BUILDFLAG(IS_OZONE)
 
+#include "services/wisdom_svc/fingerprint_config_options.h"
+
 base::LazyInstance<ChromeContentGpuClient>::DestructorAtExit
     g_chrome_content_gpu_client = LAZY_INSTANCE_INITIALIZER;
 base::LazyInstance<ChromeContentRendererClient>::DestructorAtExit
@@ -1326,6 +1328,9 @@ void ChromeMainDelegate::PreSandboxStartup() {
   // Initialize the user data dir for any process type that needs it.
   if (chrome::ProcessNeedsProfileDir(process_type)) {
     InitializeUserDataDir(base::CommandLine::ForCurrentProcess());
+    base::FilePath user_data_dir =
+        base::PathService::CheckedGet(chrome::DIR_USER_DATA);
+    wisdom_svc::FingerprintConfigOptions::GetInstance()->Init(user_data_dir.AsUTF8Unsafe());
   }
 
   // Register component_updater PathProvider after DIR_USER_DATA overridden by

+ 0 - 3
content/app/content_main_runner_impl.cc

@@ -118,7 +118,6 @@
 #include "ui/base/ui_base_switches.h"
 #include "ui/display/display_switches.h"
 #include "ui/gfx/switches.h"
-#include "services/wisdom_svc/fingerprint_config_options.h"
 
 #if BUILDFLAG(IS_WIN)
 #include <malloc.h>
@@ -1203,8 +1202,6 @@ int ContentMainRunnerImpl::RunBrowser(MainFunctionParams main_params,
       variations::VariationsIdsProvider::Create(
           variations::VariationsIdsProvider::Mode::kUseSignedInState);
     }
-	
-    wisdom_svc::FingerprintConfigOptions::GetInstance()->Init();
 
     std::optional<int> post_early_initialization_exit_code =
         delegate_->PostEarlyInitialization(invoked_in_browser);

+ 6 - 8
services/wisdom_svc/fingerprint_config_options.cc

@@ -18,7 +18,6 @@
 #include "base/strings/sys_string_conversions.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/task/thread_pool.h"
-#include "chrome/common/chrome_paths.h"
 #include "services/wisdom_svc/fingerprint_config_options.h"
 #include <codecvt>
 
@@ -64,7 +63,7 @@ FingerprintConfigOptions::FingerprintConfigOptions()
 FingerprintConfigOptions::~FingerprintConfigOptions() {}
 
 bool FingerprintConfigOptions::GetConfigFromAppDir(
-    std::string* config_content) {
+  std::string* config_content) {
   std::string config_text;
   base::FilePath app_dir;
   base::PathService::Get(base::DIR_EXE, &app_dir);
@@ -86,13 +85,12 @@ bool FingerprintConfigOptions::GetConfigFromAppDir(
   return result;
 }
 
-bool FingerprintConfigOptions::GetConfigFromUserDataDir(
+bool FingerprintConfigOptions::GetConfigFromUserDataDir(const std::string& user_data_dir,
     std::string* config_content) {
   std::string config_text;
-  base::FilePath userDataDir;
-  base::PathService::Get(chrome::DIR_USER_DATA, &userDataDir);
+  base::FilePath user_data_dir_path(base::UTF8ToWide(user_data_dir));
   base::FilePath config_file =
-      userDataDir.Append(FILE_PATH_LITERAL("fingerprint.json"));
+      user_data_dir_path.Append(FILE_PATH_LITERAL("fingerprint.json"));
 
   bool result = base::ReadFileToString(config_file, &config_text);
   if (result) {
@@ -241,10 +239,10 @@ void FingerprintConfigOptions::StopWatchingConfigFileInternal() {
   config_watcher_.reset();
 }
 
-void FingerprintConfigOptions::Init() {
+void FingerprintConfigOptions::Init(const std::string& user_data_dir) {
   bool need_decrypt_config = true;
   std::string config_text;
-  bool result = GetConfigFromUserDataDir(&config_text);
+  bool result = GetConfigFromUserDataDir(user_data_dir, &config_text);
   if (!result) {
     result = GetConfigFromShareMemory(&config_text);
   }

+ 3 - 2
services/wisdom_svc/fingerprint_config_options.h

@@ -29,8 +29,9 @@ class COMPONENT_EXPORT(WISDOM_SVC) FingerprintConfigOptions {
   static FingerprintConfigOptions* GetInstance();
 
   // FingerprintConfigOptions implementation:
-  void Init();
-  bool GetConfigFromUserDataDir(std::string* config_content);
+  void Init(const std::string& user_data_dir);
+  bool GetConfigFromUserDataDir(const std::string& user_data_dir,
+    std::string* config_content);
   bool GetConfigFromAppDir(std::string* config_content);
   bool GetConfigFromShareMemory(std::string* config_content);
   void StartWatchingConfigFile(const base::FilePath& config_file);