mirror of
https://github.com/servo/servo.git
synced 2025-08-17 11:25:35 +01:00
#8539 Config preferences backend restructure
This commit is contained in:
parent
34fda66dfa
commit
8bfd4dc1e2
53 changed files with 1748 additions and 680 deletions
|
@ -19,7 +19,7 @@ use servo::keyboard_types::{Key, KeyState, KeyboardEvent};
|
|||
use servo::msg::constellation_msg::TraversalDirection;
|
||||
use servo::script_traits::{TouchEventType, TouchId};
|
||||
use servo::servo_config::opts;
|
||||
use servo::servo_config::prefs::{PrefValue, PREFS};
|
||||
use servo::servo_config::{pref, set_pref};
|
||||
use servo::servo_url::ServoUrl;
|
||||
use servo::webvr::{VRExternalShmemPtr, VRMainThreadHeartbeat, VRServiceManager};
|
||||
use servo::{self, gl, webrender_api, BrowserId, Servo};
|
||||
|
@ -125,17 +125,16 @@ pub fn init(
|
|||
// opts::from_cmdline_args expects the first argument to be the binary name.
|
||||
args.insert(0, "servo".to_string());
|
||||
|
||||
let pref = PrefValue::Boolean(init_opts.enable_subpixel_text_antialiasing);
|
||||
PREFS.set("gfx.subpixel-text-antialiasing.enabled", pref);
|
||||
set_pref!(
|
||||
gfx.subpixel_text_antialiasing.enabled,
|
||||
init_opts.enable_subpixel_text_antialiasing
|
||||
);
|
||||
opts::from_cmdline_args(&args);
|
||||
}
|
||||
|
||||
let embedder_url = init_opts.url.as_ref().and_then(|s| ServoUrl::parse(s).ok());
|
||||
let cmdline_url = opts::get().url.clone();
|
||||
let pref_url = PREFS
|
||||
.get("shell.homepage")
|
||||
.as_string()
|
||||
.and_then(|s| ServoUrl::parse(s).ok());
|
||||
let pref_url = ServoUrl::parse(&pref!(shell.homepage)).ok();
|
||||
let blank_url = ServoUrl::parse("about:blank").ok();
|
||||
|
||||
let url = embedder_url
|
||||
|
|
|
@ -13,7 +13,7 @@ use servo::msg::constellation_msg::TraversalDirection;
|
|||
use servo::net_traits::pub_domains::is_reg_domain;
|
||||
use servo::script_traits::TouchEventType;
|
||||
use servo::servo_config::opts;
|
||||
use servo::servo_config::prefs::PREFS;
|
||||
use servo::servo_config::pref;
|
||||
use servo::servo_url::ServoUrl;
|
||||
use servo::webrender_api::ScrollLocation;
|
||||
use std::mem;
|
||||
|
@ -461,12 +461,7 @@ fn sanitize_url(request: &str) -> Option<ServoUrl> {
|
|||
}
|
||||
})
|
||||
.or_else(|| {
|
||||
PREFS
|
||||
.get("shell.searchpage")
|
||||
.as_string()
|
||||
.and_then(|s: &str| {
|
||||
let url = s.replace("%s", request);
|
||||
ServoUrl::parse(&url).ok()
|
||||
})
|
||||
let url = pref!(shell.searchpage).replace("%s", request);
|
||||
ServoUrl::parse(&url).ok()
|
||||
})
|
||||
}
|
||||
|
|
|
@ -13,8 +13,7 @@ use servo::compositing::windowing::{AnimationState, MouseWindowEvent, WindowEven
|
|||
use servo::compositing::windowing::{EmbedderCoordinates, WindowMethods};
|
||||
use servo::embedder_traits::{Cursor, EventLoopWaker};
|
||||
use servo::script_traits::TouchEventType;
|
||||
use servo::servo_config::opts;
|
||||
use servo::servo_config::prefs::PREFS;
|
||||
use servo::servo_config::{opts, pref};
|
||||
use servo::servo_geometry::DeviceIndependentPixel;
|
||||
use servo::style_traits::DevicePixel;
|
||||
use servo::webrender_api::{DeviceIntPoint, DeviceIntRect, DeviceIntSize, ScrollLocation};
|
||||
|
@ -792,7 +791,7 @@ impl WindowMethods for Window {
|
|||
services: &mut VRServiceManager,
|
||||
heartbeats: &mut Vec<Box<WebVRMainThreadHeartbeat>>
|
||||
) {
|
||||
if PREFS.get("dom.webvr.test").as_boolean().unwrap_or(false) {
|
||||
if pref!(dom.webvr.test) {
|
||||
warn!("Creating test VR display");
|
||||
// TODO: support dom.webvr.test in headless environments
|
||||
if let WindowKind::Window(_, ref events_loop) = self.kind {
|
||||
|
|
|
@ -18,7 +18,7 @@ use servo::{Servo, BrowserId};
|
|||
use servo::compositing::windowing::WindowEvent;
|
||||
use servo::config::opts::{self, ArgumentParsingResult, parse_url_or_filename};
|
||||
use servo::config::servo_version;
|
||||
use servo::servo_config::prefs::PREFS;
|
||||
use servo::servo_config::pref;
|
||||
use servo::servo_url::ServoUrl;
|
||||
use std::env;
|
||||
use std::panic;
|
||||
|
@ -126,14 +126,14 @@ pub fn main() {
|
|||
|
||||
let mut browser = browser::Browser::new(window.clone());
|
||||
|
||||
// If the url is not provided, we fallback to the homepage in PREFS,
|
||||
// If the url is not provided, we fallback to the homepage in prefs,
|
||||
// or a blank page in case the homepage is not set either.
|
||||
let cwd = env::current_dir().unwrap();
|
||||
let cmdline_url = opts::get().url.clone();
|
||||
let pref_url = PREFS
|
||||
.get("shell.homepage")
|
||||
.as_string()
|
||||
.and_then(|str| parse_url_or_filename(&cwd, str).ok());
|
||||
let pref_url = {
|
||||
let homepage_url = pref!(shell.homepage);
|
||||
parse_url_or_filename(&cwd, &homepage_url).ok()
|
||||
};
|
||||
let blank_url = ServoUrl::parse("about:blank").ok();
|
||||
|
||||
let target_url = cmdline_url.or(pref_url).or(blank_url).unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue