зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #14004 - Various gfx cleanup (from servo:gfx); r=glennw
Source-Repo: https://github.com/servo/servo Source-Revision: 1a213bf22d48fc3cf8882f609e3aa7fe8ba2f60a
This commit is contained in:
Родитель
7c92108c55
Коммит
317147ab53
|
@ -13,7 +13,6 @@ path = "lib.rs"
|
|||
azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]}
|
||||
canvas_traits = {path = "../canvas_traits"}
|
||||
euclid = "0.10.1"
|
||||
gfx_traits = {path = "../gfx_traits"}
|
||||
gleam = "0.2.8"
|
||||
ipc-channel = "0.5"
|
||||
log = "0.3.5"
|
||||
|
|
|
@ -2,16 +2,15 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use azure::azure::{AzColor, AzFloat};
|
||||
use azure::azure::AzFloat;
|
||||
use azure::azure_hl::{AntialiasMode, CapStyle, CompositionOp, JoinStyle};
|
||||
use azure::azure_hl::{BackendType, DrawOptions, DrawTarget, Pattern, StrokeOptions, SurfaceFormat};
|
||||
use azure::azure_hl::{ColorPattern, DrawSurfaceOptions, Filter, PathBuilder};
|
||||
use azure::azure_hl::{Color, ColorPattern, DrawSurfaceOptions, Filter, PathBuilder};
|
||||
use canvas_traits::*;
|
||||
use euclid::matrix2d::Matrix2D;
|
||||
use euclid::point::Point2D;
|
||||
use euclid::rect::Rect;
|
||||
use euclid::size::Size2D;
|
||||
use gfx_traits::color;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::ipc::IpcSharedMemory;
|
||||
use num_traits::ToPrimitive;
|
||||
|
@ -73,7 +72,7 @@ struct CanvasPaintState<'a> {
|
|||
shadow_offset_x: f64,
|
||||
shadow_offset_y: f64,
|
||||
shadow_blur: f64,
|
||||
shadow_color: AzColor,
|
||||
shadow_color: Color,
|
||||
}
|
||||
|
||||
impl<'a> CanvasPaintState<'a> {
|
||||
|
@ -86,14 +85,14 @@ impl<'a> CanvasPaintState<'a> {
|
|||
|
||||
CanvasPaintState {
|
||||
draw_options: DrawOptions::new(1.0, CompositionOp::Over, antialias),
|
||||
fill_style: Pattern::Color(ColorPattern::new(color::black())),
|
||||
stroke_style: Pattern::Color(ColorPattern::new(color::black())),
|
||||
fill_style: Pattern::Color(ColorPattern::new(Color::black())),
|
||||
stroke_style: Pattern::Color(ColorPattern::new(Color::black())),
|
||||
stroke_opts: StrokeOptions::new(1.0, JoinStyle::MiterOrBevel, CapStyle::Butt, 10.0, &[]),
|
||||
transform: Matrix2D::identity(),
|
||||
shadow_offset_x: 0.0,
|
||||
shadow_offset_y: 0.0,
|
||||
shadow_blur: 0.0,
|
||||
shadow_color: color::transparent(),
|
||||
shadow_color: Color::transparent(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -665,7 +664,7 @@ impl<'a> CanvasPaintThread<'a> {
|
|||
self.state.shadow_blur = value;
|
||||
}
|
||||
|
||||
fn set_shadow_color(&mut self, value: AzColor) {
|
||||
fn set_shadow_color(&mut self, value: Color) {
|
||||
self.state.shadow_color = value;
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ extern crate azure;
|
|||
extern crate canvas_traits;
|
||||
extern crate core;
|
||||
extern crate euclid;
|
||||
extern crate gfx_traits;
|
||||
extern crate gleam;
|
||||
extern crate ipc_channel;
|
||||
#[macro_use]
|
||||
|
|
|
@ -13,7 +13,6 @@ path = "lib.rs"
|
|||
azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]}
|
||||
cssparser = {version = "0.7", features = ["heap_size", "serde-serialization"]}
|
||||
euclid = "0.10.1"
|
||||
gfx_traits = {path = "../gfx_traits"}
|
||||
heapsize = "0.3.0"
|
||||
heapsize_plugin = "0.1.2"
|
||||
ipc-channel = "0.5"
|
||||
|
|
|
@ -16,7 +16,6 @@ extern crate azure;
|
|||
extern crate core;
|
||||
extern crate cssparser;
|
||||
extern crate euclid;
|
||||
extern crate gfx_traits;
|
||||
extern crate heapsize;
|
||||
extern crate ipc_channel;
|
||||
extern crate serde;
|
||||
|
@ -24,9 +23,9 @@ extern crate serde;
|
|||
extern crate serde_derive;
|
||||
extern crate webrender_traits;
|
||||
|
||||
use azure::azure::{AzColor, AzFloat};
|
||||
use azure::azure::AzFloat;
|
||||
use azure::azure_hl::{CapStyle, CompositionOp, JoinStyle};
|
||||
use azure::azure_hl::{ColorPattern, DrawTarget, Pattern};
|
||||
use azure::azure_hl::{Color, ColorPattern, DrawTarget, Pattern};
|
||||
use azure::azure_hl::{ExtendMode, GradientStop, LinearGradientPattern, RadialGradientPattern};
|
||||
use azure::azure_hl::{SurfaceFormat, SurfacePattern};
|
||||
use cssparser::RGBA;
|
||||
|
@ -34,7 +33,6 @@ use euclid::matrix2d::Matrix2D;
|
|||
use euclid::point::Point2D;
|
||||
use euclid::rect::Rect;
|
||||
use euclid::size::Size2D;
|
||||
use gfx_traits::color;
|
||||
use ipc_channel::ipc::{IpcSender, IpcSharedMemory};
|
||||
use std::default::Default;
|
||||
use std::str::FromStr;
|
||||
|
@ -205,16 +203,13 @@ impl FillOrStrokeStyle {
|
|||
pub fn to_azure_pattern(&self, drawtarget: &DrawTarget) -> Option<Pattern> {
|
||||
match *self {
|
||||
FillOrStrokeStyle::Color(ref color) => {
|
||||
Some(Pattern::Color(ColorPattern::new(color::new(color.red,
|
||||
color.green,
|
||||
color.blue,
|
||||
color.alpha))))
|
||||
Some(Pattern::Color(ColorPattern::new(color.to_azcolor())))
|
||||
},
|
||||
FillOrStrokeStyle::LinearGradient(ref linear_gradient_style) => {
|
||||
let gradient_stops: Vec<GradientStop> = linear_gradient_style.stops.iter().map(|s| {
|
||||
GradientStop {
|
||||
offset: s.offset as AzFloat,
|
||||
color: color::new(s.color.red, s.color.green, s.color.blue, s.color.alpha)
|
||||
color: s.color.to_azcolor()
|
||||
}
|
||||
}).collect();
|
||||
|
||||
|
@ -228,7 +223,7 @@ impl FillOrStrokeStyle {
|
|||
let gradient_stops: Vec<GradientStop> = radial_gradient_style.stops.iter().map(|s| {
|
||||
GradientStop {
|
||||
offset: s.offset as AzFloat,
|
||||
color: color::new(s.color.red, s.color.green, s.color.blue, s.color.alpha)
|
||||
color: s.color.to_azcolor()
|
||||
}
|
||||
}).collect();
|
||||
|
||||
|
@ -532,12 +527,12 @@ impl CompositionOrBlending {
|
|||
}
|
||||
|
||||
pub trait ToAzColor {
|
||||
fn to_azcolor(&self) -> AzColor;
|
||||
fn to_azcolor(&self) -> Color;
|
||||
}
|
||||
|
||||
impl ToAzColor for RGBA {
|
||||
fn to_azcolor(&self) -> AzColor {
|
||||
color::rgba(self.red as AzFloat,
|
||||
fn to_azcolor(&self) -> Color {
|
||||
Color::rgba(self.red as AzFloat,
|
||||
self.green as AzFloat,
|
||||
self.blue as AzFloat,
|
||||
self.alpha as AzFloat)
|
||||
|
|
|
@ -3,10 +3,6 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use app_units::Au;
|
||||
use azure::azure_hl::BackendType;
|
||||
#[cfg(any(target_os = "linux", target_os = "android", target_os = "windows"))]
|
||||
use azure::scaled_font::FontInfo;
|
||||
use azure::scaled_font::ScaledFont;
|
||||
use fnv::FnvHasher;
|
||||
use font::{Font, FontGroup, FontHandleMethods};
|
||||
use font_cache_thread::FontCacheThread;
|
||||
|
@ -23,23 +19,10 @@ use std::hash::{BuildHasherDefault, Hash, Hasher};
|
|||
use std::rc::Rc;
|
||||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering, ATOMIC_USIZE_INIT};
|
||||
use string_cache::Atom;
|
||||
use style::computed_values::{font_style, font_variant};
|
||||
use style::properties::style_structs;
|
||||
use webrender_traits;
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "android", target_os = "windows"))]
|
||||
fn create_scaled_font(template: &Arc<FontTemplateData>, pt_size: Au) -> ScaledFont {
|
||||
ScaledFont::new(BackendType::Skia, FontInfo::FontData(&template.bytes),
|
||||
pt_size.to_f32_px())
|
||||
}
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
fn create_scaled_font(template: &Arc<FontTemplateData>, pt_size: Au) -> ScaledFont {
|
||||
let cgfont = template.ctfont(pt_size.to_f64_px()).as_ref().unwrap().copy_to_CGFont();
|
||||
ScaledFont::new(BackendType::Skia, &cgfont, pt_size.to_f32_px())
|
||||
}
|
||||
|
||||
static SMALL_CAPS_SCALE_FACTOR: f32 = 0.8; // Matches FireFox (see gfxFont.h)
|
||||
|
||||
#[derive(Debug)]
|
||||
|
@ -53,15 +36,6 @@ struct FallbackFontCacheEntry {
|
|||
font: Rc<RefCell<Font>>,
|
||||
}
|
||||
|
||||
/// A cached azure font (per paint thread) that
|
||||
/// can be shared by multiple text runs.
|
||||
#[derive(Debug)]
|
||||
struct PaintFontCacheEntry {
|
||||
pt_size: Au,
|
||||
identifier: Atom,
|
||||
font: Rc<RefCell<ScaledFont>>,
|
||||
}
|
||||
|
||||
/// An epoch for the font context cache. The cache is flushed if the current epoch does not match
|
||||
/// this one.
|
||||
static FONT_CACHE_EPOCH: AtomicUsize = ATOMIC_USIZE_INIT;
|
||||
|
@ -79,10 +53,6 @@ pub struct FontContext {
|
|||
layout_font_cache: Vec<LayoutFontCacheEntry>,
|
||||
fallback_font_cache: Vec<FallbackFontCacheEntry>,
|
||||
|
||||
/// Strong reference as the paint FontContext is (for now) recycled
|
||||
/// per frame. TODO: Make this weak when incremental redraw is done.
|
||||
paint_font_cache: Vec<PaintFontCacheEntry>,
|
||||
|
||||
layout_font_group_cache:
|
||||
HashMap<LayoutFontGroupCacheKey, Rc<FontGroup>, BuildHasherDefault<FnvHasher>>,
|
||||
|
||||
|
@ -97,7 +67,6 @@ impl FontContext {
|
|||
font_cache_thread: font_cache_thread,
|
||||
layout_font_cache: vec!(),
|
||||
fallback_font_cache: vec!(),
|
||||
paint_font_cache: vec!(),
|
||||
layout_font_group_cache: HashMap::with_hasher(Default::default()),
|
||||
epoch: 0,
|
||||
}
|
||||
|
@ -133,7 +102,6 @@ impl FontContext {
|
|||
|
||||
self.layout_font_cache.clear();
|
||||
self.fallback_font_cache.clear();
|
||||
self.paint_font_cache.clear();
|
||||
self.layout_font_group_cache.clear();
|
||||
self.epoch = current_epoch
|
||||
}
|
||||
|
@ -260,33 +228,6 @@ impl FontContext {
|
|||
self.layout_font_group_cache.insert(layout_font_group_cache_key, font_group.clone());
|
||||
font_group
|
||||
}
|
||||
|
||||
/// Create a paint font for use with azure. May return a cached
|
||||
/// reference if already used by this font context.
|
||||
pub fn paint_font_from_template(&mut self,
|
||||
template: &Arc<FontTemplateData>,
|
||||
pt_size: Au)
|
||||
-> Rc<RefCell<ScaledFont>> {
|
||||
for cached_font in &self.paint_font_cache {
|
||||
if cached_font.pt_size == pt_size &&
|
||||
cached_font.identifier == template.identifier {
|
||||
return cached_font.font.clone();
|
||||
}
|
||||
}
|
||||
|
||||
let paint_font = Rc::new(RefCell::new(create_scaled_font(template, pt_size)));
|
||||
self.paint_font_cache.push(PaintFontCacheEntry {
|
||||
font: paint_font.clone(),
|
||||
pt_size: pt_size,
|
||||
identifier: template.identifier.clone(),
|
||||
});
|
||||
paint_font
|
||||
}
|
||||
|
||||
/// Returns a reference to the font cache thread.
|
||||
pub fn font_cache_thread(&self) -> FontCacheThread {
|
||||
self.font_cache_thread.clone()
|
||||
}
|
||||
}
|
||||
|
||||
impl HeapSizeOf for FontContext {
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use azure::AzFloat;
|
||||
use azure::azure::AzColor;
|
||||
|
||||
#[inline]
|
||||
pub fn new(r: AzFloat, g: AzFloat, b: AzFloat, a: AzFloat) -> AzColor {
|
||||
AzColor { r: r, g: g, b: b, a: a }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn rgb(r: u8, g: u8, b: u8) -> AzColor {
|
||||
AzColor {
|
||||
r: (r as AzFloat) / (255.0 as AzFloat),
|
||||
g: (g as AzFloat) / (255.0 as AzFloat),
|
||||
b: (b as AzFloat) / (255.0 as AzFloat),
|
||||
a: 1.0 as AzFloat
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn rgba(r: AzFloat, g: AzFloat, b: AzFloat, a: AzFloat) -> AzColor {
|
||||
AzColor { r: r, g: g, b: b, a: a }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn black() -> AzColor {
|
||||
AzColor { r: 0.0, g: 0.0, b: 0.0, a: 1.0 }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn transparent() -> AzColor {
|
||||
AzColor { r: 0.0, g: 0.0, b: 0.0, a: 0.0 }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn white() -> AzColor {
|
||||
AzColor { r: 1.0, g: 1.0, b: 1.0, a: 1.0 }
|
||||
}
|
|
@ -19,7 +19,6 @@ extern crate serde;
|
|||
#[macro_use]
|
||||
extern crate serde_derive;
|
||||
|
||||
pub mod color;
|
||||
pub mod print_tree;
|
||||
|
||||
use range::RangeIndex;
|
||||
|
|
|
@ -28,7 +28,7 @@ use gfx::display_list::{GradientStop, IframeDisplayItem, ImageDisplayItem, WebGL
|
|||
use gfx::display_list::{LineDisplayItem, OpaqueNode};
|
||||
use gfx::display_list::{SolidColorDisplayItem, StackingContext, StackingContextType};
|
||||
use gfx::display_list::{TextDisplayItem, TextOrientation, WebRenderImageInfo};
|
||||
use gfx_traits::{ScrollPolicy, ScrollRootId, StackingContextId, color};
|
||||
use gfx_traits::{ScrollPolicy, ScrollRootId, StackingContextId};
|
||||
use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, LAST_FRAGMENT_OF_ELEMENT};
|
||||
use ipc_channel::ipc;
|
||||
use list_item::ListItemFlow;
|
||||
|
@ -963,7 +963,7 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
state.add_display_item(DisplayItem::Border(box BorderDisplayItem {
|
||||
base: base,
|
||||
border_widths: SideOffsets2D::new_all_same(Au::from_px(1)),
|
||||
color: SideOffsets2D::new_all_same(color::rgb(0, 0, 200)),
|
||||
color: SideOffsets2D::new_all_same(Color::rgb(0, 0, 200)),
|
||||
style: SideOffsets2D::new_all_same(border_style::T::solid),
|
||||
radius: Default::default(),
|
||||
}));
|
||||
|
@ -983,7 +983,7 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
DisplayListSection::Content);
|
||||
state.add_display_item(DisplayItem::Line(box LineDisplayItem {
|
||||
base: base,
|
||||
color: color::rgb(0, 200, 0),
|
||||
color: Color::rgb(0, 200, 0),
|
||||
style: border_style::T::dashed,
|
||||
}));
|
||||
}
|
||||
|
@ -1001,7 +1001,7 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
state.add_display_item(DisplayItem::Border(box BorderDisplayItem {
|
||||
base: base,
|
||||
border_widths: SideOffsets2D::new_all_same(Au::from_px(1)),
|
||||
color: SideOffsets2D::new_all_same(color::rgb(0, 0, 200)),
|
||||
color: SideOffsets2D::new_all_same(Color::rgb(0, 0, 200)),
|
||||
style: SideOffsets2D::new_all_same(border_style::T::solid),
|
||||
radius: Default::default(),
|
||||
}));
|
||||
|
@ -2106,7 +2106,7 @@ pub trait ToGfxColor {
|
|||
|
||||
impl ToGfxColor for RGBA {
|
||||
fn to_gfx_color(&self) -> Color {
|
||||
color::rgba(self.red, self.green, self.blue, self.alpha)
|
||||
Color::rgba(self.red, self.green, self.blue, self.alpha)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ extern crate util;
|
|||
extern crate webrender_traits;
|
||||
|
||||
use app_units::Au;
|
||||
use azure::azure::AzColor;
|
||||
use azure::azure_hl::Color;
|
||||
use euclid::Matrix4D;
|
||||
use euclid::point::Point2D;
|
||||
use euclid::rect::Rect;
|
||||
|
@ -57,7 +57,7 @@ use gfx::display_list::{StackingContext, StackingContextType, WebRenderImageInfo
|
|||
use gfx::font;
|
||||
use gfx::font_cache_thread::FontCacheThread;
|
||||
use gfx::font_context;
|
||||
use gfx_traits::{Epoch, FragmentType, ScrollPolicy, ScrollRootId, StackingContextId, color};
|
||||
use gfx_traits::{Epoch, FragmentType, ScrollPolicy, ScrollRootId, StackingContextId};
|
||||
use heapsize::HeapSizeOf;
|
||||
use ipc_channel::ipc::{self, IpcReceiver, IpcSender};
|
||||
use ipc_channel::router::ROUTER;
|
||||
|
@ -1519,18 +1519,18 @@ impl LayoutThread {
|
|||
// clearing the frame buffer to white. This ensures that setting a background
|
||||
// color on an iframe element, while the iframe content itself has a default
|
||||
// transparent background color is handled correctly.
|
||||
fn get_root_flow_background_color(flow: &mut Flow) -> AzColor {
|
||||
fn get_root_flow_background_color(flow: &mut Flow) -> Color {
|
||||
if !flow.is_block_like() {
|
||||
return color::transparent()
|
||||
return Color::transparent()
|
||||
}
|
||||
|
||||
let block_flow = flow.as_mut_block();
|
||||
let kid = match block_flow.base.children.iter_mut().next() {
|
||||
None => return color::transparent(),
|
||||
None => return Color::transparent(),
|
||||
Some(kid) => kid,
|
||||
};
|
||||
if !kid.is_block_like() {
|
||||
return color::transparent()
|
||||
return Color::transparent()
|
||||
}
|
||||
|
||||
let kid_block_flow = kid.as_block();
|
||||
|
|
|
@ -110,7 +110,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "azure"
|
||||
version = "0.9.0"
|
||||
source = "git+https://github.com/servo/rust-azure#4a2ca5018c97d356a2d2959a074ca98e1f6adba8"
|
||||
source = "git+https://github.com/servo/rust-azure#4890bf0b438cbeff4cd269441f4db19a413024ca"
|
||||
dependencies = [
|
||||
"cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -225,7 +225,6 @@ dependencies = [
|
|||
"azure 0.9.0 (git+https://github.com/servo/rust-azure)",
|
||||
"canvas_traits 0.0.1",
|
||||
"euclid 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gfx_traits 0.0.1",
|
||||
"gleam 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -243,7 +242,6 @@ dependencies = [
|
|||
"azure 0.9.0 (git+https://github.com/servo/rust-azure)",
|
||||
"cssparser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"euclid 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gfx_traits 0.0.1",
|
||||
"heapsize 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"heapsize_plugin 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
|
|
@ -83,7 +83,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "azure"
|
||||
version = "0.9.0"
|
||||
source = "git+https://github.com/servo/rust-azure#4a2ca5018c97d356a2d2959a074ca98e1f6adba8"
|
||||
source = "git+https://github.com/servo/rust-azure#4890bf0b438cbeff4cd269441f4db19a413024ca"
|
||||
dependencies = [
|
||||
"cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -198,7 +198,6 @@ dependencies = [
|
|||
"azure 0.9.0 (git+https://github.com/servo/rust-azure)",
|
||||
"canvas_traits 0.0.1",
|
||||
"euclid 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gfx_traits 0.0.1",
|
||||
"gleam 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -216,7 +215,6 @@ dependencies = [
|
|||
"azure 0.9.0 (git+https://github.com/servo/rust-azure)",
|
||||
"cssparser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"euclid 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"gfx_traits 0.0.1",
|
||||
"heapsize 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"heapsize_plugin 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
|
Загрузка…
Ссылка в новой задаче