mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Support package-prefs.json for libsimpleservo
This commit is contained in:
parent
b17a302356
commit
b8d6b1d52d
6 changed files with 47 additions and 12 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -5408,6 +5408,7 @@ dependencies = [
|
|||
"libloading 0.5.2",
|
||||
"libservo",
|
||||
"log",
|
||||
"serde_json",
|
||||
"servo-media",
|
||||
"surfman",
|
||||
"webxr",
|
||||
|
|
|
@ -30,6 +30,7 @@ libloading = "0.5"
|
|||
|
||||
[build-dependencies]
|
||||
gl_generator = "0.14"
|
||||
serde_json = "1.0"
|
||||
|
||||
[features]
|
||||
debugmozjs = ["libservo/debugmozjs"]
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use gl_generator::{Api, Fallbacks, Profile, Registry};
|
||||
use serde_json::{self, Value};
|
||||
use std::env;
|
||||
use std::fs::File;
|
||||
use std::path::PathBuf;
|
||||
|
@ -40,4 +41,30 @@ fn main() {
|
|||
.write_bindings(gl_generator::StructGenerator, &mut file)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
// Merge prefs.json and package-prefs.json
|
||||
let mut default_prefs = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
|
||||
default_prefs.push("../../../resources/prefs.json");
|
||||
let mut prefs: Value = serde_json::from_reader(File::open(&default_prefs).unwrap()).unwrap();
|
||||
let mut pkg_prefs = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
|
||||
pkg_prefs.push("../../../resources/package-prefs.json");
|
||||
let pkg_prefs: Value = serde_json::from_reader(File::open(&pkg_prefs).unwrap()).unwrap();
|
||||
if target.contains("uwp") {
|
||||
// Assuming Hololens build
|
||||
let to_merge = pkg_prefs
|
||||
.as_object()
|
||||
.unwrap()
|
||||
.get("hololens")
|
||||
.unwrap()
|
||||
.as_object()
|
||||
.unwrap();
|
||||
for (key, value) in to_merge.iter() {
|
||||
prefs
|
||||
.as_object_mut()
|
||||
.unwrap()
|
||||
.insert(key.clone(), value.clone());
|
||||
}
|
||||
}
|
||||
let file = File::create(&dest.join("prefs.json")).unwrap();
|
||||
serde_json::to_writer(file, &prefs).unwrap();
|
||||
}
|
||||
|
|
|
@ -227,22 +227,20 @@ pub fn init(
|
|||
) -> Result<(), &'static str> {
|
||||
resources::set(Box::new(ResourceReaderInstance::new()));
|
||||
|
||||
let mut args = mem::replace(&mut init_opts.args, vec![]);
|
||||
if !args.is_empty() {
|
||||
// opts::from_cmdline_args expects the first argument to be the binary name.
|
||||
args.insert(0, "servo".to_string());
|
||||
|
||||
set_pref!(
|
||||
gfx.subpixel_text_antialiasing.enabled,
|
||||
init_opts.enable_subpixel_text_antialiasing
|
||||
);
|
||||
opts::from_cmdline_args(Options::new(), &args);
|
||||
}
|
||||
|
||||
if let Some(prefs) = init_opts.prefs {
|
||||
add_user_prefs(prefs);
|
||||
}
|
||||
|
||||
let mut args = mem::replace(&mut init_opts.args, vec![]);
|
||||
// opts::from_cmdline_args expects the first argument to be the binary name.
|
||||
args.insert(0, "servo".to_string());
|
||||
opts::from_cmdline_args(Options::new(), &args);
|
||||
|
||||
let pref_url = ServoUrl::parse(&pref!(shell.homepage)).ok();
|
||||
let blank_url = ServoUrl::parse("about:blank").ok();
|
||||
|
||||
|
@ -943,7 +941,7 @@ impl ResourceReaderInstance {
|
|||
impl ResourceReaderMethods for ResourceReaderInstance {
|
||||
fn read(&self, res: Resource) -> Vec<u8> {
|
||||
Vec::from(match res {
|
||||
Resource::Preferences => &include_bytes!("../../../../resources/prefs.json")[..],
|
||||
Resource::Preferences => &include_bytes!(concat!(env!("OUT_DIR"), "/prefs.json"))[..],
|
||||
Resource::HstsPreloadList => {
|
||||
&include_bytes!("../../../../resources/hsts_preload.json")[..]
|
||||
},
|
||||
|
|
|
@ -5,6 +5,12 @@
|
|||
"linux": {},
|
||||
"android": {},
|
||||
"windows": {},
|
||||
"hololens": {
|
||||
"_comment": "settings specific to Hololens/UWP builds",
|
||||
"devtools.server.enabled": true,
|
||||
"dom.webxr.enabled": true,
|
||||
"shell.homepage": "https://servo.org/hl-home/"
|
||||
},
|
||||
"vr": {
|
||||
"_comment": "settings specific to VR builds",
|
||||
"dom.webvr.enabled": true,
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
{
|
||||
"devtools.server.enabled": false,
|
||||
"devtools.server.port": 0,
|
||||
"dom.bluetooth.enabled": false,
|
||||
"dom.bluetooth.testing.enabled": false,
|
||||
"dom.canvas_capture.enabled": false,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue