зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #11301 - Move pipeline into the constellation crate (from servo:pipeline); r=nox
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy --faster` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). Either: - [ ] There are tests for these changes OR - [x] These changes do not require tests because _____ Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. Source-Repo: https://github.com/servo/servo Source-Revision: 27c457d7c5facfc60d8dc098c986733cc7dcb324 --HG-- rename : servo/components/compositing/pipeline.rs => servo/components/constellation/pipeline.rs
This commit is contained in:
Родитель
934afa2733
Коммит
2678783a29
|
@ -18,7 +18,6 @@ msg = {path = "../msg"}
|
||||||
profile_traits = {path = "../profile_traits"}
|
profile_traits = {path = "../profile_traits"}
|
||||||
net_traits = {path = "../net_traits"}
|
net_traits = {path = "../net_traits"}
|
||||||
util = {path = "../util"}
|
util = {path = "../util"}
|
||||||
devtools_traits = {path = "../devtools_traits"}
|
|
||||||
plugins = {path = "../plugins"}
|
plugins = {path = "../plugins"}
|
||||||
azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]}
|
azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]}
|
||||||
layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]}
|
layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use AnimationTickType;
|
use AnimationTickType;
|
||||||
|
use CompositionPipeline;
|
||||||
use CompositorMsg as ConstellationMsg;
|
use CompositorMsg as ConstellationMsg;
|
||||||
use SendableFrameTree;
|
use SendableFrameTree;
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
|
@ -33,7 +34,6 @@ use msg::constellation_msg::{Image, PixelFormat};
|
||||||
use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData};
|
use msg::constellation_msg::{Key, KeyModifiers, KeyState, LoadData};
|
||||||
use msg::constellation_msg::{NavigationDirection, PipelineId, PipelineIndex, PipelineNamespaceId};
|
use msg::constellation_msg::{NavigationDirection, PipelineId, PipelineIndex, PipelineNamespaceId};
|
||||||
use msg::constellation_msg::{WindowSizeData, WindowSizeType};
|
use msg::constellation_msg::{WindowSizeData, WindowSizeType};
|
||||||
use pipeline::CompositionPipeline;
|
|
||||||
use profile_traits::mem::{self, ReportKind, Reporter, ReporterRequest};
|
use profile_traits::mem::{self, ReportKind, Reporter, ReporterRequest};
|
||||||
use profile_traits::time::{self, ProfilerCategory, profile};
|
use profile_traits::time::{self, ProfilerCategory, profile};
|
||||||
use script_traits::CompositorEvent::{MouseMoveEvent, MouseButtonEvent, TouchEvent};
|
use script_traits::CompositorEvent::{MouseMoveEvent, MouseButtonEvent, TouchEvent};
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
extern crate app_units;
|
extern crate app_units;
|
||||||
|
|
||||||
extern crate azure;
|
extern crate azure;
|
||||||
extern crate devtools_traits;
|
|
||||||
extern crate euclid;
|
extern crate euclid;
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
extern crate gaol;
|
extern crate gaol;
|
||||||
|
@ -43,13 +42,16 @@ extern crate webrender_traits;
|
||||||
|
|
||||||
pub use compositor_thread::{CompositorEventListener, CompositorProxy, CompositorThread};
|
pub use compositor_thread::{CompositorEventListener, CompositorProxy, CompositorThread};
|
||||||
use euclid::size::{Size2D, TypedSize2D};
|
use euclid::size::{Size2D, TypedSize2D};
|
||||||
|
use gfx::paint_thread::ChromeToPaintMsg;
|
||||||
use gfx_traits::Epoch;
|
use gfx_traits::Epoch;
|
||||||
use ipc_channel::ipc::{IpcSender};
|
use ipc_channel::ipc::{IpcSender};
|
||||||
|
use layout_traits::LayoutControlChan;
|
||||||
use msg::constellation_msg::{FrameId, Key, KeyState, KeyModifiers, LoadData};
|
use msg::constellation_msg::{FrameId, Key, KeyState, KeyModifiers, LoadData};
|
||||||
use msg::constellation_msg::{NavigationDirection, PipelineId, SubpageId};
|
use msg::constellation_msg::{NavigationDirection, PipelineId, SubpageId};
|
||||||
use msg::constellation_msg::{WebDriverCommandMsg, WindowSizeData, WindowSizeType};
|
use msg::constellation_msg::{WebDriverCommandMsg, WindowSizeData, WindowSizeType};
|
||||||
use pipeline::CompositionPipeline;
|
use script_traits::ConstellationControlMsg;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
use std::sync::mpsc::Sender;
|
||||||
use url::Url;
|
use url::Url;
|
||||||
use util::geometry::PagePx;
|
use util::geometry::PagePx;
|
||||||
|
|
||||||
|
@ -57,7 +59,6 @@ mod compositor;
|
||||||
mod compositor_layer;
|
mod compositor_layer;
|
||||||
pub mod compositor_thread;
|
pub mod compositor_thread;
|
||||||
mod delayed_composition;
|
mod delayed_composition;
|
||||||
pub mod pipeline;
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
pub mod sandboxing;
|
pub mod sandboxing;
|
||||||
mod surface_map;
|
mod surface_map;
|
||||||
|
@ -104,3 +105,12 @@ pub struct SendableFrameTree {
|
||||||
pub size: Option<TypedSize2D<PagePx, f32>>,
|
pub size: Option<TypedSize2D<PagePx, f32>>,
|
||||||
pub children: Vec<SendableFrameTree>,
|
pub children: Vec<SendableFrameTree>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The subset of the pipeline that is needed for layer composition.
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct CompositionPipeline {
|
||||||
|
pub id: PipelineId,
|
||||||
|
pub script_chan: IpcSender<ConstellationControlMsg>,
|
||||||
|
pub layout_chan: LayoutControlChan,
|
||||||
|
pub chrome_to_paint_chan: Sender<ChromeToPaintMsg>,
|
||||||
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ euclid = {version = "0.6.4", features = ["plugins"]}
|
||||||
gfx = {path = "../gfx"}
|
gfx = {path = "../gfx"}
|
||||||
gfx_traits = {path = "../gfx_traits"}
|
gfx_traits = {path = "../gfx_traits"}
|
||||||
ipc-channel = {git = "https://github.com/servo/ipc-channel"}
|
ipc-channel = {git = "https://github.com/servo/ipc-channel"}
|
||||||
|
layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]}
|
||||||
layout_traits = {path = "../layout_traits"}
|
layout_traits = {path = "../layout_traits"}
|
||||||
log = "0.3.5"
|
log = "0.3.5"
|
||||||
msg = {path = "../msg"}
|
msg = {path = "../msg"}
|
||||||
|
@ -27,6 +28,7 @@ plugins = {path = "../plugins"}
|
||||||
profile_traits = {path = "../profile_traits"}
|
profile_traits = {path = "../profile_traits"}
|
||||||
rand = "0.3"
|
rand = "0.3"
|
||||||
script_traits = {path = "../script_traits"}
|
script_traits = {path = "../script_traits"}
|
||||||
|
serde = "0.7"
|
||||||
serde_macros = "0.7"
|
serde_macros = "0.7"
|
||||||
style_traits = {path = "../style_traits"}
|
style_traits = {path = "../style_traits"}
|
||||||
url = {version = "1.0.0", features = ["heap_size"]}
|
url = {version = "1.0.0", features = ["heap_size"]}
|
||||||
|
|
|
@ -16,7 +16,6 @@ use clipboard::ClipboardContext;
|
||||||
use compositing::CompositorMsg as FromCompositorMsg;
|
use compositing::CompositorMsg as FromCompositorMsg;
|
||||||
use compositing::compositor_thread::CompositorProxy;
|
use compositing::compositor_thread::CompositorProxy;
|
||||||
use compositing::compositor_thread::Msg as ToCompositorMsg;
|
use compositing::compositor_thread::Msg as ToCompositorMsg;
|
||||||
use compositing::pipeline::{InitialPipelineState, Pipeline, UnprivilegedPipelineContent};
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
use compositing::sandboxing;
|
use compositing::sandboxing;
|
||||||
use compositing::{AnimationTickType, SendableFrameTree};
|
use compositing::{AnimationTickType, SendableFrameTree};
|
||||||
|
@ -46,6 +45,7 @@ use net_traits::image_cache_thread::ImageCacheThread;
|
||||||
use net_traits::storage_thread::StorageThreadMsg;
|
use net_traits::storage_thread::StorageThreadMsg;
|
||||||
use net_traits::{self, ResourceThreads, IpcSend};
|
use net_traits::{self, ResourceThreads, IpcSend};
|
||||||
use offscreen_gl_context::{GLContextAttributes, GLLimits};
|
use offscreen_gl_context::{GLContextAttributes, GLLimits};
|
||||||
|
use pipeline::{InitialPipelineState, Pipeline, UnprivilegedPipelineContent};
|
||||||
use profile_traits::mem;
|
use profile_traits::mem;
|
||||||
use profile_traits::time;
|
use profile_traits::time;
|
||||||
use rand::{random, Rng, SeedableRng, StdRng};
|
use rand::{random, Rng, SeedableRng, StdRng};
|
||||||
|
|
|
@ -23,6 +23,7 @@ extern crate gaol;
|
||||||
extern crate gfx;
|
extern crate gfx;
|
||||||
extern crate gfx_traits;
|
extern crate gfx_traits;
|
||||||
extern crate ipc_channel;
|
extern crate ipc_channel;
|
||||||
|
extern crate layers;
|
||||||
extern crate layout_traits;
|
extern crate layout_traits;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
|
@ -33,6 +34,7 @@ extern crate offscreen_gl_context;
|
||||||
extern crate profile_traits;
|
extern crate profile_traits;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate script_traits;
|
extern crate script_traits;
|
||||||
|
extern crate serde;
|
||||||
extern crate style_traits;
|
extern crate style_traits;
|
||||||
extern crate url;
|
extern crate url;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
@ -40,6 +42,8 @@ extern crate util;
|
||||||
extern crate webrender_traits;
|
extern crate webrender_traits;
|
||||||
|
|
||||||
mod constellation;
|
mod constellation;
|
||||||
|
mod pipeline;
|
||||||
mod timer_scheduler;
|
mod timer_scheduler;
|
||||||
|
|
||||||
pub use constellation::{Constellation, InitialConstellationState};
|
pub use constellation::{Constellation, InitialConstellationState};
|
||||||
|
pub use pipeline::UnprivilegedPipelineContent;
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use CompositorProxy;
|
use compositing::CompositionPipeline;
|
||||||
use compositor_thread;
|
use compositing::CompositorProxy;
|
||||||
use compositor_thread::Msg as CompositorMsg;
|
use compositing::compositor_thread;
|
||||||
|
use compositing::compositor_thread::Msg as CompositorMsg;
|
||||||
use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg};
|
use devtools_traits::{DevtoolsControlMsg, ScriptToDevtoolsControlMsg};
|
||||||
use euclid::scale_factor::ScaleFactor;
|
use euclid::scale_factor::ScaleFactor;
|
||||||
use euclid::size::TypedSize2D;
|
use euclid::size::TypedSize2D;
|
||||||
|
@ -60,15 +61,6 @@ pub struct Pipeline {
|
||||||
pub is_private: bool,
|
pub is_private: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The subset of the pipeline that is needed for layer composition.
|
|
||||||
#[derive(Clone)]
|
|
||||||
pub struct CompositionPipeline {
|
|
||||||
pub id: PipelineId,
|
|
||||||
pub script_chan: IpcSender<ConstellationControlMsg>,
|
|
||||||
pub layout_chan: LayoutControlChan,
|
|
||||||
pub chrome_to_paint_chan: Sender<ChromeToPaintMsg>,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Initial setup data needed to construct a pipeline.
|
/// Initial setup data needed to construct a pipeline.
|
||||||
///
|
///
|
||||||
/// *DO NOT* add any Senders to this unless you absolutely know what you're doing, or pcwalton will
|
/// *DO NOT* add any Senders to this unless you absolutely know what you're doing, or pcwalton will
|
|
@ -308,7 +308,6 @@ version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"azure 0.4.5 (git+https://github.com/servo/rust-azure)",
|
"azure 0.4.5 (git+https://github.com/servo/rust-azure)",
|
||||||
"devtools_traits 0.0.1",
|
|
||||||
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
|
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
|
||||||
"gfx 0.0.1",
|
"gfx 0.0.1",
|
||||||
|
@ -348,6 +347,7 @@ dependencies = [
|
||||||
"gfx 0.0.1",
|
"gfx 0.0.1",
|
||||||
"gfx_traits 0.0.1",
|
"gfx_traits 0.0.1",
|
||||||
"ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)",
|
"ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)",
|
||||||
|
"layers 0.2.5 (git+https://github.com/servo/rust-layers)",
|
||||||
"layout_traits 0.0.1",
|
"layout_traits 0.0.1",
|
||||||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
|
@ -357,6 +357,7 @@ dependencies = [
|
||||||
"profile_traits 0.0.1",
|
"profile_traits 0.0.1",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
|
"serde 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_macros 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_macros 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"style_traits 0.0.1",
|
"style_traits 0.0.1",
|
||||||
"url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|
|
@ -60,13 +60,12 @@ fn webdriver(_port: u16, _constellation: Sender<ConstellationMsg>) { }
|
||||||
use compositing::CompositorEventListener;
|
use compositing::CompositorEventListener;
|
||||||
use compositing::CompositorMsg as ConstellationMsg;
|
use compositing::CompositorMsg as ConstellationMsg;
|
||||||
use compositing::compositor_thread::InitialCompositorState;
|
use compositing::compositor_thread::InitialCompositorState;
|
||||||
use compositing::pipeline::UnprivilegedPipelineContent;
|
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
use compositing::sandboxing;
|
use compositing::sandboxing;
|
||||||
use compositing::windowing::WindowEvent;
|
use compositing::windowing::WindowEvent;
|
||||||
use compositing::windowing::WindowMethods;
|
use compositing::windowing::WindowMethods;
|
||||||
use compositing::{CompositorProxy, CompositorThread};
|
use compositing::{CompositorProxy, CompositorThread};
|
||||||
use constellation::{Constellation, InitialConstellationState};
|
use constellation::{Constellation, InitialConstellationState, UnprivilegedPipelineContent};
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
use gaol::sandbox::{ChildSandbox, ChildSandboxMethods};
|
use gaol::sandbox::{ChildSandbox, ChildSandboxMethods};
|
||||||
use gfx::font_cache_thread::FontCacheThread;
|
use gfx::font_cache_thread::FontCacheThread;
|
||||||
|
|
|
@ -10,8 +10,8 @@ cd "$(git rev-parse --show-toplevel)" # cd into repo root so make sure paths wor
|
||||||
|
|
||||||
# files that should not contain "unwrap"
|
# files that should not contain "unwrap"
|
||||||
FILES=("components/compositing/compositor.rs"
|
FILES=("components/compositing/compositor.rs"
|
||||||
"components/compositing/pipeline.rs"
|
|
||||||
"components/constellation/constellation.rs"
|
"components/constellation/constellation.rs"
|
||||||
|
"components/constellation/pipeline.rs"
|
||||||
"ports/glutin/lib.rs"
|
"ports/glutin/lib.rs"
|
||||||
"ports/glutin/window.rs")
|
"ports/glutin/window.rs")
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,6 @@ version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"azure 0.4.5 (git+https://github.com/servo/rust-azure)",
|
"azure 0.4.5 (git+https://github.com/servo/rust-azure)",
|
||||||
"devtools_traits 0.0.1",
|
|
||||||
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
|
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
|
||||||
"gfx 0.0.1",
|
"gfx 0.0.1",
|
||||||
|
@ -310,6 +309,7 @@ dependencies = [
|
||||||
"gfx 0.0.1",
|
"gfx 0.0.1",
|
||||||
"gfx_traits 0.0.1",
|
"gfx_traits 0.0.1",
|
||||||
"ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)",
|
"ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)",
|
||||||
|
"layers 0.2.5 (git+https://github.com/servo/rust-layers)",
|
||||||
"layout_traits 0.0.1",
|
"layout_traits 0.0.1",
|
||||||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
|
@ -319,6 +319,7 @@ dependencies = [
|
||||||
"profile_traits 0.0.1",
|
"profile_traits 0.0.1",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
|
"serde 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_macros 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_macros 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"style_traits 0.0.1",
|
"style_traits 0.0.1",
|
||||||
"url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|
|
@ -272,7 +272,6 @@ version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"app_units 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"azure 0.4.5 (git+https://github.com/servo/rust-azure)",
|
"azure 0.4.5 (git+https://github.com/servo/rust-azure)",
|
||||||
"devtools_traits 0.0.1",
|
|
||||||
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
|
"gaol 0.0.1 (git+https://github.com/servo/gaol)",
|
||||||
"gfx 0.0.1",
|
"gfx 0.0.1",
|
||||||
|
@ -312,6 +311,7 @@ dependencies = [
|
||||||
"gfx 0.0.1",
|
"gfx 0.0.1",
|
||||||
"gfx_traits 0.0.1",
|
"gfx_traits 0.0.1",
|
||||||
"ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)",
|
"ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)",
|
||||||
|
"layers 0.2.5 (git+https://github.com/servo/rust-layers)",
|
||||||
"layout_traits 0.0.1",
|
"layout_traits 0.0.1",
|
||||||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"msg 0.0.1",
|
"msg 0.0.1",
|
||||||
|
@ -321,6 +321,7 @@ dependencies = [
|
||||||
"profile_traits 0.0.1",
|
"profile_traits 0.0.1",
|
||||||
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"script_traits 0.0.1",
|
"script_traits 0.0.1",
|
||||||
|
"serde 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_macros 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_macros 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"style_traits 0.0.1",
|
"style_traits 0.0.1",
|
||||||
"url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче