aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock14
-rw-r--r--ports/winit/app.rs4
-rw-r--r--ports/winit/browser.rs16
-rw-r--r--ports/winit/crash_handler.rs2
-rw-r--r--ports/winit/events_loop.rs6
-rw-r--r--ports/winit/headed_window.rs31
-rw-r--r--ports/winit/headless_window.rs4
-rw-r--r--ports/winit/prefs.rs14
-rw-r--r--ports/winit/window_trait.rs2
-rw-r--r--python/servo/devenv_commands.py65
-rw-r--r--python/servo/package_commands.py20
11 files changed, 52 insertions, 126 deletions
diff --git a/Cargo.lock b/Cargo.lock
index d96e8c5364f..28491a85a61 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -293,12 +293,6 @@ dependencies = [
[[package]]
name = "base64"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d5ca2cd0adc3f48f9e9ea5a6bbdf9ccc0bfade884847e484d452414c7ccffb3"
-
-[[package]]
-name = "base64"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
@@ -5021,11 +5015,11 @@ dependencies = [
[[package]]
name = "ron"
-version = "0.6.0"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91260f321dbf3b5a16ff91c451dc9eb644ce72775a6812f9c3dfffe63818f8f"
+checksum = "86018df177b1beef6c7c8ef949969c4f7cb9a9344181b92486b23c79995bdaa4"
dependencies = [
- "base64 0.12.0",
+ "base64 0.13.0",
"bitflags",
"serde",
]
@@ -7236,7 +7230,7 @@ dependencies = [
"gfx-memory",
"naga",
"parking_lot 0.11.2",
- "ron 0.6.0",
+ "ron 0.6.6",
"serde",
"smallvec",
"thiserror",
diff --git a/ports/winit/app.rs b/ports/winit/app.rs
index d22edee25aa..1f01d585041 100644
--- a/ports/winit/app.rs
+++ b/ports/winit/app.rs
@@ -19,7 +19,7 @@ use servo::Servo;
use std::cell::{Cell, RefCell};
use std::collections::HashMap;
use std::env;
-use std::mem;
+
use std::rc::Rc;
use webxr::glwindow::GlWindowDiscovery;
@@ -138,7 +138,7 @@ impl App {
}
fn get_events(&self) -> Vec<WindowEvent> {
- mem::replace(&mut *self.event_queue.borrow_mut(), Vec::new())
+ std::mem::take(&mut *self.event_queue.borrow_mut())
}
// This function decides whether the event should be handled during `run_forever`.
diff --git a/ports/winit/browser.rs b/ports/winit/browser.rs
index 4c685fd4b57..22f7d1dd612 100644
--- a/ports/winit/browser.rs
+++ b/ports/winit/browser.rs
@@ -23,7 +23,7 @@ use servo::webrender_api::ScrollLocation;
use std::env;
use std::fs::File;
use std::io::Write;
-use std::mem;
+
use std::rc::Rc;
use std::thread;
use std::time::Duration;
@@ -59,7 +59,7 @@ where
current_url: None,
browser_id: None,
browsers: Vec::new(),
- window: window,
+ window,
clipboard_ctx: match ClipboardContext::new() {
Ok(c) => Some(c),
Err(e) => {
@@ -73,7 +73,7 @@ where
}
pub fn get_events(&mut self) -> Vec<WindowEvent> {
- mem::replace(&mut self.event_queue, Vec::new())
+ std::mem::take(&mut self.event_queue)
}
pub fn handle_window_events(&mut self, events: Vec<WindowEvent>) {
@@ -279,7 +279,7 @@ where
String::from("Untitled")
};
let title = match self.title {
- Some(ref title) if title.len() > 0 => &**title,
+ Some(ref title) if !title.is_empty() => &**title,
_ => &fallback_title,
};
let title = format!("{} - Servo", title);
@@ -563,7 +563,7 @@ fn platform_get_selected_devices(devices: Vec<String>) -> Option<String> {
match tinyfiledialogs::list_dialog("Choose a device", &["Id", "Name"], dialog_rows) {
Some(device) => {
// The device string format will be "Address|Name". We need the first part of it.
- device.split("|").next().map(|s| s.to_string())
+ device.split('|').next().map(|s| s.to_string())
},
None => None,
}
@@ -598,7 +598,7 @@ fn get_selected_files(patterns: Vec<FilterPattern>, multiple_files: bool) -> Opt
filters.push(tiny_dialog_escape(&s))
}
let filter_ref = &(filters.iter().map(|s| s.as_str()).collect::<Vec<&str>>()[..]);
- let filter_opt = if filters.len() > 0 {
+ let filter_opt = if !filters.is_empty() {
Some((filter_ref, ""))
} else {
None
@@ -618,7 +618,7 @@ fn get_selected_files(patterns: Vec<FilterPattern>, multiple_files: bool) -> Opt
fn sanitize_url(request: &str) -> Option<ServoUrl> {
let request = request.trim();
- ServoUrl::parse(&request)
+ ServoUrl::parse(request)
.ok()
.or_else(|| {
if request.contains('/') || is_reg_domain(request) {
@@ -650,7 +650,7 @@ fn tiny_dialog_escape(raw: &str) -> String {
_ => Some(c),
})
.collect();
- return shellwords::escape(&s);
+ shellwords::escape(&s)
}
#[cfg(not(target_os = "linux"))]
diff --git a/ports/winit/crash_handler.rs b/ports/winit/crash_handler.rs
index 77adba159ae..1420c2f173f 100644
--- a/ports/winit/crash_handler.rs
+++ b/ports/winit/crash_handler.rs
@@ -26,7 +26,7 @@ pub fn install() {
if let Some(name) = thread::current().name() {
let _ = write!(&mut stderr, " in thread \"{}\"", name);
}
- let _ = write!(&mut stderr, "\n");
+ let _ = writeln!(&mut stderr);
// This call always allocates, which in practice will segfault if
// we’re handling a non-main-thread (e.g. layout) segfault. Strictly
diff --git a/ports/winit/events_loop.rs b/ports/winit/events_loop.rs
index 6275ffee183..fba97676105 100644
--- a/ports/winit/events_loop.rs
+++ b/ports/winit/events_loop.rs
@@ -7,7 +7,7 @@
use servo::embedder_traits::EventLoopWaker;
use std::sync::{Arc, Condvar, Mutex};
use std::time;
-use winit;
+
#[cfg(target_os = "macos")]
use winit::platform::macos::{ActivationPolicy, EventLoopBuilderExtMacOS};
@@ -66,7 +66,7 @@ impl EventsLoop {
let events_loop = events_loop
.as_ref()
.expect("Can't create waker for unavailable event loop.");
- Box::new(HeadedEventLoopWaker::new(&events_loop))
+ Box::new(HeadedEventLoopWaker::new(events_loop))
},
EventLoop::Headless(ref data) => Box::new(HeadlessEventLoopWaker(data.clone())),
}
@@ -95,7 +95,7 @@ impl EventsLoop {
});
}
EventLoop::Headless(ref data) => {
- let &(ref flag, ref condvar) = &**data;
+ let (flag, condvar) = &**data;
let mut event = winit::event::Event::NewEvents(winit::event::StartCause::Init);
loop {
self.sleep(flag, condvar);
diff --git a/ports/winit/headed_window.rs b/ports/winit/headed_window.rs
index 318f2083828..849d53be90d 100644
--- a/ports/winit/headed_window.rs
+++ b/ports/winit/headed_window.rs
@@ -14,9 +14,8 @@ use euclid::{
#[cfg(any(target_os = "linux", target_os = "windows"))]
use winit::window::Icon;
use winit::event::{ElementState, KeyboardInput, MouseButton, MouseScrollDelta, TouchPhase, VirtualKeyCode};
-#[cfg(any(target_os = "linux", target_os = "windows"))]
-use image;
-use keyboard_types::{Key, KeyState, KeyboardEvent};
+
+use servo::keyboard_types::{Key, KeyState, KeyboardEvent};
use servo::compositing::windowing::{AnimationState, MouseWindowEvent, WindowEvent};
use servo::compositing::windowing::{EmbedderCoordinates, WindowMethods};
use servo::embedder_traits::Cursor;
@@ -31,7 +30,7 @@ use servo::webrender_surfman::WebrenderSurfman;
use servo_media::player::context::{GlApi, GlContext as PlayerGLContext, NativeDisplay};
use std::cell::{Cell, RefCell};
use std::collections::HashMap;
-use std::mem;
+
use std::rc::Rc;
#[cfg(target_os = "linux")]
use surfman::platform::generic::multi::connection::NativeConnection;
@@ -120,10 +119,10 @@ impl Window {
let PhysicalSize {
width: screen_width,
height: screen_height,
- } = primary_monitor.clone().size();
- let screen_size = Size2D::new(screen_width as u32, screen_height as u32);
+ } = primary_monitor.size();
+ let screen_size = Size2D::new(screen_width, screen_height);
let PhysicalSize { width, height } = winit_window.inner_size();
- let inner_size = Size2D::new(width as u32, height as u32);
+ let inner_size = Size2D::new(width, height);
// Initialize surfman
let connection =
@@ -298,7 +297,7 @@ impl Window {
impl WindowPortsMethods for Window {
fn get_events(&self) -> Vec<WindowEvent> {
- mem::replace(&mut *self.event_queue.borrow_mut(), Vec::new())
+ std::mem::take(&mut *self.event_queue.borrow_mut())
}
fn has_events(&self) -> bool {
@@ -319,12 +318,12 @@ impl WindowPortsMethods for Window {
fn set_inner_size(&self, size: DeviceIntSize) {
self.winit_window
- .set_inner_size::<PhysicalSize<i32>>(PhysicalSize::new(size.width.into(), size.height.into()))
+ .set_inner_size::<PhysicalSize<i32>>(PhysicalSize::new(size.width, size.height))
}
fn set_position(&self, point: DeviceIntPoint) {
self.winit_window
- .set_outer_position::<PhysicalPosition<i32>>(PhysicalPosition::new(point.x.into(), point.y.into()))
+ .set_outer_position::<PhysicalPosition<i32>>(PhysicalPosition::new(point.x, point.y))
}
fn set_fullscreen(&self, state: bool) {
@@ -340,7 +339,7 @@ impl WindowPortsMethods for Window {
}
fn get_fullscreen(&self) -> bool {
- return self.fullscreen.get();
+ self.fullscreen.get()
}
fn set_cursor(&self, cursor: Cursor) {
@@ -532,7 +531,7 @@ impl WindowMethods for Window {
viewport,
framebuffer,
window: (win_size, win_origin),
- screen: screen,
+ screen,
// FIXME: Winit doesn't have API for available size. Fallback to screen size
screen_avail: screen,
hidpi_factor: self.servo_hidpi_factor(),
@@ -672,11 +671,11 @@ impl webxr::glwindow::GlWindow for XRWindow {
}
fn get_rotation(&self) -> Rotation3D<f32, UnknownUnit, UnknownUnit> {
- self.pose.xr_rotation.get().clone()
+ self.pose.xr_rotation.get()
}
fn get_translation(&self) -> Vector3D<f32, UnknownUnit> {
- self.pose.xr_translation.get().clone()
+ self.pose.xr_translation.get()
}
fn get_mode(&self) -> webxr::glwindow::GlWindowMode {
@@ -736,8 +735,8 @@ impl XRWindowPose {
_ => return,
};
if modifiers.shift() {
- x = 10.0 * x;
- y = 10.0 * y;
+ x *= 10.0;
+ y *= 10.0;
}
let x: Rotation3D<_, UnknownUnit, UnknownUnit> = Rotation3D::around_x(Angle::degrees(x));
let y: Rotation3D<_, UnknownUnit, UnknownUnit> = Rotation3D::around_y(Angle::degrees(y));
diff --git a/ports/winit/headless_window.rs b/ports/winit/headless_window.rs
index 7402a5c5221..45bba801105 100644
--- a/ports/winit/headless_window.rs
+++ b/ports/winit/headless_window.rs
@@ -20,7 +20,7 @@ use surfman::Connection;
use surfman::Context;
use surfman::Device;
use surfman::SurfaceType;
-use winit;
+
pub struct Window {
webrender_surfman: WebrenderSurfman,
@@ -91,7 +91,7 @@ impl WindowPortsMethods for Window {
}
fn get_fullscreen(&self) -> bool {
- return self.fullscreen.get();
+ self.fullscreen.get()
}
fn is_animating(&self) -> bool {
diff --git a/ports/winit/prefs.rs b/ports/winit/prefs.rs
index 3d95ea2a65b..92c4d0c9c68 100644
--- a/ports/winit/prefs.rs
+++ b/ports/winit/prefs.rs
@@ -17,12 +17,12 @@ pub fn register_user_prefs(opts_matches: &Matches) {
let user_prefs_path = opts::get()
.config_dir
.clone()
- .or_else(|| basedir::default_config_dir())
+ .or_else(basedir::default_config_dir)
.map(|path| path.join("prefs.json"))
.filter(|path| path.exists());
let mut userprefs = if let Some(path) = user_prefs_path {
- let mut file = File::open(&path).expect("Error opening user prefs");
+ let mut file = File::open(path).expect("Error opening user prefs");
let mut txt = String::new();
file.read_to_string(&mut txt)
.expect("Can't read user prefs file");
@@ -41,9 +41,9 @@ pub fn register_user_prefs(opts_matches: &Matches) {
Some("true") | None => PrefValue::Bool(true),
Some("false") => PrefValue::Bool(false),
Some(string) => {
- if let Some(int) = string.parse::<i64>().ok() {
+ if let Ok(int) = string.parse::<i64>() {
PrefValue::Int(int)
- } else if let Some(float) = string.parse::<f64>().ok() {
+ } else if let Ok(float) = string.parse::<f64>() {
PrefValue::Float(float)
} else {
PrefValue::from(string)
@@ -83,14 +83,14 @@ fn test_parse_pref_from_command_line() {
prefs::pref_map().get("dom.bluetooth.enabled"),
PrefValue::Bool(true)
);
- assert_eq!(pref!(dom.bluetooth.enabled), true);
+ assert!(pref!(dom.bluetooth.enabled));
test_parse_pref("dom.bluetooth.enabled=false");
assert_eq!(
prefs::pref_map().get("dom.bluetooth.enabled"),
PrefValue::Bool(false)
);
- assert_eq!(pref!(dom.bluetooth.enabled), false);
+ assert!(pref!(dom.bluetooth.enabled));
// Test with numbers
test_parse_pref("layout.threads=42");
@@ -105,7 +105,7 @@ fn test_parse_pref_from_command_line() {
.set("dom.bluetooth.enabled", false)
.unwrap();
test_parse_pref("dom.bluetooth.enabled");
- assert_eq!(pref!(dom.bluetooth.enabled), true);
+ assert!(pref!(dom.bluetooth.enabled));
}
#[test]
diff --git a/ports/winit/window_trait.rs b/ports/winit/window_trait.rs
index d44c853e0d3..a5b13093ae3 100644
--- a/ports/winit/window_trait.rs
+++ b/ports/winit/window_trait.rs
@@ -9,7 +9,7 @@ use crate::events_loop::ServoEvent;
use servo::compositing::windowing::{WindowEvent, WindowMethods};
use servo::embedder_traits::Cursor;
use servo::webrender_api::units::{DeviceIntPoint, DeviceIntSize};
-use winit;
+
// This should vary by zoom level and maybe actual text size (focused or under cursor)
pub const LINE_HEIGHT: f32 = 38.0;
diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py
index 7d3481d1c19..4385fbb8794 100644
--- a/python/servo/devenv_commands.py
+++ b/python/servo/devenv_commands.py
@@ -10,7 +10,6 @@
from __future__ import print_function, unicode_literals
from os import path, listdir, getcwd
-import json
import signal
import subprocess
import sys
@@ -96,67 +95,19 @@ class MachCommands(CommandBase):
if not params:
params = []
- if dry_run:
- import toml
- import httplib
- import colorama
-
- cargo_file = open(path.join(self.context.topdir, "Cargo.lock"))
- content = toml.load(cargo_file)
-
- packages = {}
- outdated_packages = 0
- conn = httplib.HTTPSConnection("crates.io")
- for package in content.get("package", []):
- if "replace" in package:
- continue
- source = package.get("source", "")
- if source == r"registry+https://github.com/rust-lang/crates.io-index":
- version = package["version"]
- name = package["name"]
- if not packages.get(name, "") or packages[name] > version:
- packages[name] = package["version"]
- conn.request('GET', '/api/v1/crates/{}/versions'.format(package["name"]))
- r = conn.getresponse()
- json_content = json.load(r)
- for v in json_content.get("versions"):
- if not v.get("yanked"):
- max_version = v.get("num")
- break
-
- if version != max_version:
- outdated_packages += 1
- version_major, version_minor = (version.split("."))[:2]
- max_major, max_minor = (max_version.split("."))[:2]
-
- if version_major == max_major and version_minor == max_minor and "alpha" not in version:
- msg = "minor update"
- msg_color = "\033[93m"
- else:
- msg = "update, which may contain breaking changes"
- msg_color = "\033[91m"
-
- colorama.init()
- print("{}Outdated package `{}`, available {}\033[0m".format(msg_color, name, msg),
- "\n\tCurrent version: {}".format(version),
- "\n\t Latest version: {}".format(max_version))
- conn.close()
-
- print("\nFound {} outdated packages from crates.io".format(outdated_packages))
- elif package:
- params += ["-p", package]
- elif all_packages:
- params = []
- else:
+ if not package and not all_packages:
print("Please choose package to update with the --package (-p) ")
print("flag or update all packages with --all-packages (-a) flag")
sys.exit(1)
- if params or all_packages:
- self.ensure_bootstrapped()
+ if package:
+ params += ["-p", package]
+ if dry_run:
+ params.append("--dry-run")
- with cd(self.context.topdir):
- self.call_rustup_run(["cargo", "update"] + params, env=self.build_env())
+ self.ensure_bootstrapped()
+ with cd(self.context.topdir):
+ self.call_rustup_run(["cargo", "update"] + params, env=self.build_env())
@Command('rustc',
description='Run the Rust compiler',
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py
index 1f4e87f9830..1488eadbd3e 100644
--- a/python/servo/package_commands.py
+++ b/python/servo/package_commands.py
@@ -82,24 +82,6 @@ PACKAGES = {
}
-TemporaryDirectory = None
-if sys.version_info >= (3, 2):
- TemporaryDirectory = tempfile.TemporaryDirectory
-else:
- import contextlib
-
- # Not quite as robust as tempfile.TemporaryDirectory,
- # but good enough for most purposes
- @contextlib.contextmanager
- def TemporaryDirectory(**kwargs):
- dir_name = tempfile.mkdtemp(**kwargs)
- try:
- yield dir_name
- except Exception as e:
- shutil.rmtree(dir_name)
- raise e
-
-
def listfiles(directory):
return [f for f in os.listdir(directory)
if path.isfile(path.join(directory, f))]
@@ -683,7 +665,7 @@ class PackageCommands(CommandBase):
brew_version = timestamp.strftime('%Y.%m.%d')
- with TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
+ with tempfile.TemporaryDirectory(prefix='homebrew-servo') as tmp_dir:
def call_git(cmd, **kwargs):
subprocess.check_call(
['git', '-C', tmp_dir] + cmd,