mirror of
https://github.com/servo/servo.git
synced 2025-09-11 23:48:21 +01:00
Create config_dir
if none exist for caching (#35761)
* Create config_dir if none exist for caching Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * remove specialized behaviour for ohos; copy prefs.json if necessary Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * downgrade the log to trace verbosity Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * update wpt-test Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
This commit is contained in:
parent
9f93ccd942
commit
86957be5f0
6 changed files with 40 additions and 7 deletions
|
@ -2,6 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
use std::cell::RefCell;
|
||||
use std::fs;
|
||||
use std::os::raw::c_void;
|
||||
use std::path::PathBuf;
|
||||
use std::ptr::NonNull;
|
||||
|
@ -40,6 +41,7 @@ pub fn init(
|
|||
info!("Entered simpleservo init function");
|
||||
crate::init_crypto();
|
||||
let resource_dir = PathBuf::from(&options.resource_dir).join("servo");
|
||||
debug!("Resources are located at: {:?}", resource_dir);
|
||||
resources::set(Box::new(ResourceReaderInstance::new(resource_dir.clone())));
|
||||
|
||||
// It would be nice if `from_cmdline_args()` could accept str slices, to avoid allocations here.
|
||||
|
@ -53,8 +55,10 @@ pub fn init(
|
|||
);
|
||||
debug!("Servo commandline args: {:?}", args);
|
||||
|
||||
let config_dir = PathBuf::from(&options.cache_dir).join("servo");
|
||||
debug!("Configs are located at: {:?}", config_dir);
|
||||
let _ = crate::prefs::DEFAULT_CONFIG_DIR
|
||||
.set(resource_dir)
|
||||
.set(config_dir.clone())
|
||||
.inspect_err(|e| {
|
||||
warn!(
|
||||
"Default Prefs Dir already previously filled. Got error {}",
|
||||
|
@ -62,6 +66,18 @@ pub fn init(
|
|||
);
|
||||
});
|
||||
|
||||
// Try copy `prefs.json` from {this.context.resource_prefsDir}/servo/
|
||||
// to `config_dir` if none exist
|
||||
let source_prefs = resource_dir.join("prefs.json");
|
||||
let target_prefs = config_dir.join("prefs.json");
|
||||
if !target_prefs.exists() && source_prefs.exists() {
|
||||
debug!("Copy {:?} to {:?}", source_prefs, target_prefs);
|
||||
fs::copy(&source_prefs, &target_prefs).unwrap_or_else(|e| {
|
||||
debug!("Copy failed! {:?}", e);
|
||||
0
|
||||
});
|
||||
}
|
||||
|
||||
let (opts, preferences, servoshell_preferences) = match parse_command_line_arguments(args) {
|
||||
ArgumentParsingResult::ContentProcess(..) => {
|
||||
unreachable!("OHOS does not have support for multiprocess yet.")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue