mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19.
This commit is contained in:
parent
cf616b90a2
commit
16c7060bc8
153 changed files with 2095 additions and 1298 deletions
7
ports/cef/.cargo/config
Normal file
7
ports/cef/.cargo/config
Normal file
|
@ -0,0 +1,7 @@
|
|||
# FIXME: Remove this next rustup. This is a temporary
|
||||
# hack to allow android cross compilation to work. When
|
||||
# this is removed, the support/time submodule can also
|
||||
# be removed!
|
||||
paths = [
|
||||
"../../support/time"
|
||||
]
|
225
ports/cef/Cargo.lock
generated
225
ports/cef/Cargo.lock
generated
|
@ -27,7 +27,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "azure"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-azure#fe95551ca22f2a75b0dd690a72841df39b33885d"
|
||||
source = "git+https://github.com/servo/rust-azure#6884d442052becfcafccc82b17ab316c7831d8d2"
|
||||
dependencies = [
|
||||
"core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)",
|
||||
"core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)",
|
||||
|
@ -81,24 +81,24 @@ dependencies = [
|
|||
"png 0.1.0 (git+https://github.com/servo/rust-png)",
|
||||
"script_traits 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cookie"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/cookie-rs#f82090b19c2738b90528167ef873d8eac0353294"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/alexcrichton/cookie-rs#8d1b4bb8d5ed06e58c162eb235a4ccd210b68108"
|
||||
dependencies = [
|
||||
"openssl 0.0.2 (git+https://github.com/servo/rust-openssl)",
|
||||
"openssl 0.2.4 (git+https://github.com/sfackler/rust-openssl)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core_foundation"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-core-foundation#d2dbe4fb6f6892521a37735cd7a97098d1b64808"
|
||||
source = "git+https://github.com/servo/rust-core-foundation#81db9ab15f67e16d7a3e9705a06cad65192014fd"
|
||||
|
||||
[[package]]
|
||||
name = "core_graphics"
|
||||
|
@ -111,7 +111,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "core_text"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-core-text#85784007b6fa1b8f9614059edcd0429b2bd69a11"
|
||||
source = "git+https://github.com/servo/rust-core-text#cb369a26a0eb4e83c2128ceb3c685a191113417a"
|
||||
dependencies = [
|
||||
"core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)",
|
||||
"core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)",
|
||||
|
@ -119,11 +119,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cssparser"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-cssparser#a2b0b6b00ad84dc3a4b4faf77ddd63611c8ce58a"
|
||||
version = "0.1.1"
|
||||
source = "git+https://github.com/servo/rust-cssparser#110bf3052d016bf6eda0689fb21cf971e2c23dc8"
|
||||
dependencies = [
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"text_writer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"text_writer 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -149,60 +149,60 @@ source = "git+https://github.com/servo/rust-egl#88f2a13812ddbce2bf2317221663a61c
|
|||
|
||||
[[package]]
|
||||
name = "encoding"
|
||||
version = "0.2.3"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding-index-japanese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-korean 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-simpchinese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-singlebyte 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-tradchinese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-japanese 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-korean 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-simpchinese 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-singlebyte 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-tradchinese 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-japanese"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-korean"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-simpchinese"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-singlebyte"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-tradchinese"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding_index_tests"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "expat-sys"
|
||||
|
@ -241,10 +241,15 @@ name = "gcc"
|
|||
version = "0.0.2"
|
||||
source = "git+https://github.com/alexcrichton/gcc-rs#903e8f8a2e3766ad3d514404d452dbaa1d3b2d79"
|
||||
|
||||
[[package]]
|
||||
name = "gcc"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "geom"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-geom#0f77c6ad116748b7e6bedbf2414d4ceea17debc2"
|
||||
source = "git+https://github.com/servo/rust-geom#05f2d5494355adc78ad7d17286912f0d128f503b"
|
||||
|
||||
[[package]]
|
||||
name = "gfx"
|
||||
|
@ -267,23 +272,23 @@ dependencies = [
|
|||
"stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)",
|
||||
"style 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gl_common"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#c76c23fc9a0dae824b45550d4b823cdb726f242d"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#b5e3f4f76c31bc1b459d5e4c10d879ffa4f67c6e"
|
||||
|
||||
[[package]]
|
||||
name = "gl_generator"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#c76c23fc9a0dae824b45550d4b823cdb726f242d"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#b5e3f4f76c31bc1b459d5e4c10d879ffa4f67c6e"
|
||||
dependencies = [
|
||||
"gl_common 0.0.1 (git+https://github.com/bjz/gl-rs.git)",
|
||||
"khronos_api 0.0.2 (git+https://github.com/bjz/gl-rs.git)",
|
||||
"rust-xml 0.1.2-pre (git+https://github.com/netvl/rust-xml)",
|
||||
"xml-rs 0.1.3 (git+https://github.com/netvl/xml-rs)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -297,10 +302,10 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "glfw"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/glfw-rs?ref=servo#1b05fdc7eab45e1d462758ab991065ee78593b7f"
|
||||
source = "git+https://github.com/servo/glfw-rs?ref=servo#b186cb444e349a36b992445dc5cb2c99d38f2a42"
|
||||
dependencies = [
|
||||
"glfw-sys 3.0.4 (git+https://github.com/servo/glfw?ref=cargo-3.0.4)",
|
||||
"semver 0.1.3 (git+https://github.com/rust-lang/semver)",
|
||||
"semver 0.1.4 (git+https://github.com/rust-lang/semver)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -339,11 +344,11 @@ source = "git+https://github.com/servo/rust-harfbuzz#8aab215463214647b7a81f66011
|
|||
[[package]]
|
||||
name = "html5ever"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/html5ever#e6f8d83de9fffe63a825d95d957ba6bcbc3e1632"
|
||||
source = "git+https://github.com/servo/html5ever#0abe5e30cc03f9e73bfd4fdc018192d149c21fb3"
|
||||
dependencies = [
|
||||
"html5ever_macros 0.0.0 (git+https://github.com/servo/html5ever)",
|
||||
"phf 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
|
@ -352,19 +357,20 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "html5ever_macros"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/html5ever#e6f8d83de9fffe63a825d95d957ba6bcbc3e1632"
|
||||
source = "git+https://github.com/servo/html5ever#0abe5e30cc03f9e73bfd4fdc018192d149c21fb3"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/hyper?ref=servo#4a2c82c75013f8ee55d2017876319b48d656dcb3"
|
||||
source = "git+https://github.com/servo/hyper?ref=servo#43becc919c24939b8b84fe541b0e0898a4827836"
|
||||
dependencies = [
|
||||
"cookie 0.0.1 (git+https://github.com/servo/cookie-rs)",
|
||||
"cookie 0.1.0 (git+https://github.com/alexcrichton/cookie-rs)",
|
||||
"mime 0.0.1 (git+https://github.com/hyperium/mime.rs)",
|
||||
"openssl 0.0.2 (git+https://github.com/servo/rust-openssl)",
|
||||
"mucell 0.1.2 (git+https://github.com/chris-morgan/mucell)",
|
||||
"openssl 0.2.4 (git+https://github.com/sfackler/rust-openssl)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"unsafe-any 0.1.0 (git+https://github.com/reem/rust-unsafe-any)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"unsafe-any 0.1.1 (git+https://github.com/reem/rust-unsafe-any)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -381,7 +387,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "js"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-mozjs#2d86d6fb7ece49ff2f469c391e15e13f2b02af42"
|
||||
source = "git+https://github.com/servo/rust-mozjs#e01a846241bd98ac424878e3f8d3e9b989c79242"
|
||||
dependencies = [
|
||||
"mozjs-sys 0.0.0 (git+https://github.com/servo/mozjs)",
|
||||
]
|
||||
|
@ -389,12 +395,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "khronos_api"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#c76c23fc9a0dae824b45550d4b823cdb726f242d"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#b5e3f4f76c31bc1b459d5e4c10d879ffa4f67c6e"
|
||||
|
||||
[[package]]
|
||||
name = "layers"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-layers#21798aac4de6bfd800836f419dd5b6a308edcaa4"
|
||||
source = "git+https://github.com/servo/rust-layers#574df7e1c1dd464af930d1cc735ca8d6af46bb90"
|
||||
dependencies = [
|
||||
"cgl 0.0.1 (git+https://github.com/servo/rust-cgl)",
|
||||
"core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)",
|
||||
|
@ -410,8 +416,8 @@ dependencies = [
|
|||
name = "layout"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"gfx 0.0.1",
|
||||
"layout_traits 0.0.1",
|
||||
|
@ -422,7 +428,7 @@ dependencies = [
|
|||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"style 0.0.1",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -440,7 +446,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/Kimundi/lazy-static.rs#62976cb611c5396e11315ae64c9c389576240eb7"
|
||||
source = "git+https://github.com/Kimundi/lazy-static.rs#76f06e4fa7bc8c92f11d1def19bd4ddfd8017cd8"
|
||||
|
||||
[[package]]
|
||||
name = "libressl-pnacl-sys"
|
||||
|
@ -471,10 +477,15 @@ dependencies = [
|
|||
"io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)",
|
||||
"layers 0.1.0 (git+https://github.com/servo/rust-layers)",
|
||||
"style 0.0.1",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mucell"
|
||||
version = "0.1.2"
|
||||
source = "git+https://github.com/chris-morgan/mucell#d198c6605b3e688719db168db0939051c803b1ea"
|
||||
|
||||
[[package]]
|
||||
name = "net"
|
||||
version = "0.0.1"
|
||||
|
@ -484,42 +495,42 @@ dependencies = [
|
|||
"png 0.1.0 (git+https://github.com/servo/rust-png)",
|
||||
"stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/servo/rust-openssl#aed5df1036d6f4b5f7b8be6457d10f8a0379b39f"
|
||||
version = "0.2.4"
|
||||
source = "git+https://github.com/sfackler/rust-openssl#f299e336d06a85438c3ee90aa06235510f3f5dbe"
|
||||
dependencies = [
|
||||
"libressl-pnacl-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"openssl-sys 0.0.2 (git+https://github.com/servo/rust-openssl)",
|
||||
"openssl-sys 0.2.4 (git+https://github.com/sfackler/rust-openssl)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/servo/rust-openssl#aed5df1036d6f4b5f7b8be6457d10f8a0379b39f"
|
||||
version = "0.2.4"
|
||||
source = "git+https://github.com/sfackler/rust-openssl#f299e336d06a85438c3ee90aa06235510f3f5dbe"
|
||||
dependencies = [
|
||||
"libressl-pnacl-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"pkg-config 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "phf"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/sfackler/rust-phf#aa3e2d0aedea4d55c2e4cea1bdf6e89418dc1206"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/sfackler/rust-phf#6a7cc6eb9ec08b103b6b62fa39bdb3229f3cdbe4"
|
||||
dependencies = [
|
||||
"xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)",
|
||||
"xxhash 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "phf_mac"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/sfackler/rust-phf#aa3e2d0aedea4d55c2e4cea1bdf6e89418dc1206"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/sfackler/rust-phf#6a7cc6eb9ec08b103b6b62fa39bdb3229f3cdbe4"
|
||||
dependencies = [
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)",
|
||||
"time 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"xxhash 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -549,19 +560,14 @@ name = "png-sys"
|
|||
version = "1.6.3"
|
||||
source = "git+https://github.com/servo/libpng?ref=servo#d01f32b4eb86904695efe7fc02b574f902e21a98"
|
||||
|
||||
[[package]]
|
||||
name = "rust-xml"
|
||||
version = "0.1.2-pre"
|
||||
source = "git+https://github.com/netvl/rust-xml#2d9df3267aeaa4d442e1e19a4dfed733cb1397ed"
|
||||
|
||||
[[package]]
|
||||
name = "script"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"canvas 0.0.1",
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"devtools_traits 0.0.1",
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"gfx 0.0.1",
|
||||
"html5ever 0.0.0 (git+https://github.com/servo/html5ever)",
|
||||
|
@ -575,9 +581,9 @@ dependencies = [
|
|||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"style 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
"uuid 0.0.2 (git+https://github.com/rust-lang/uuid)",
|
||||
"uuid 0.1.1 (git+https://github.com/rust-lang/uuid)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -588,14 +594,14 @@ dependencies = [
|
|||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"msg 0.0.1",
|
||||
"net 0.0.1",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "0.1.3"
|
||||
source = "git+https://github.com/rust-lang/semver#29212953f839337c672d185dde74e14b5dfb1f46"
|
||||
version = "0.1.4"
|
||||
source = "git+https://github.com/rust-lang/semver#58dc6b1999d345ca925a2f12a6a84676e823e179"
|
||||
|
||||
[[package]]
|
||||
name = "servo"
|
||||
|
@ -609,7 +615,7 @@ dependencies = [
|
|||
"net 0.0.1",
|
||||
"script 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -630,19 +636,19 @@ source = "git+https://github.com/servo/rust-stb-image#97d7e440e80e41a304647363c3
|
|||
[[package]]
|
||||
name = "string_cache"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/string-cache#a18a432fd274e816fc41876536f70e5380abb677"
|
||||
source = "git+https://github.com/servo/string-cache#661c537b85f19ac81dfcd84e28557d480b6b7a9f"
|
||||
dependencies = [
|
||||
"lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)",
|
||||
"phf 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)",
|
||||
"xxhash 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "string_cache_macros"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/string-cache#a18a432fd274e816fc41876536f70e5380abb677"
|
||||
source = "git+https://github.com/servo/string-cache#661c537b85f19ac81dfcd84e28557d480b6b7a9f"
|
||||
dependencies = [
|
||||
"lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)",
|
||||
]
|
||||
|
@ -651,15 +657,15 @@ dependencies = [
|
|||
name = "style"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)",
|
||||
"plugins 0.0.1",
|
||||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"text_writer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"text_writer 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -669,7 +675,7 @@ version = "0.0.1"
|
|||
|
||||
[[package]]
|
||||
name = "text_writer"
|
||||
version = "0.1.2"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
|
@ -680,36 +686,44 @@ dependencies = [
|
|||
"gcc 0.0.2 (git+https://github.com/alexcrichton/gcc-rs)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"gcc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unsafe-any"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/reem/rust-unsafe-any#2863af363bbd83079b6773920bba5b736408db33"
|
||||
version = "0.1.1"
|
||||
source = "git+https://github.com/reem/rust-unsafe-any#eb3fe87bea85f375b8fcefa0cdecfd131fae9624"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-url#46458f80e48c542b2f175e36e5b7d30782ca7dc5"
|
||||
version = "0.2.4"
|
||||
source = "git+https://github.com/servo/rust-url#79f8034a8e1815ffa1f49204572ddbf6eb747c75"
|
||||
|
||||
[[package]]
|
||||
name = "util"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"layers 0.1.0 (git+https://github.com/servo/rust-layers)",
|
||||
"plugins 0.0.1",
|
||||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"task_info 0.0.1",
|
||||
"text_writer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"text_writer 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/rust-lang/uuid#f5d94d0043a615756edefaf9c6041f11e52b8370"
|
||||
version = "0.1.1"
|
||||
source = "git+https://github.com/rust-lang/uuid#fc793c974a25c126c5cf5daa3b18973512a7a6a0"
|
||||
|
||||
[[package]]
|
||||
name = "xlib"
|
||||
|
@ -717,7 +731,12 @@ version = "0.1.0"
|
|||
source = "git+https://github.com/servo/rust-xlib#58ec3847b592aeabdcfeb6a2d02033d3a2c7f427"
|
||||
|
||||
[[package]]
|
||||
name = "xxhash"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/Jurily/rust-xxhash#64f8d02314735f511cb4272563d0f703d575c159"
|
||||
name = "xml-rs"
|
||||
version = "0.1.3"
|
||||
source = "git+https://github.com/netvl/xml-rs#1a812d3ba720afd768bd75d29a5b5f10ddcdfbeb"
|
||||
|
||||
[[package]]
|
||||
name = "xxhash"
|
||||
version = "0.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ use servo::Browser;
|
|||
use types::{cef_browser_settings_t, cef_string_t, cef_window_info_t};
|
||||
use window;
|
||||
|
||||
use compositing::windowing::{Back, Forward, WindowEvent};
|
||||
use compositing::windowing::{WindowNavigateMsg, WindowEvent};
|
||||
use glfw_app;
|
||||
use libc::c_int;
|
||||
use servo_util::opts;
|
||||
|
@ -26,11 +26,11 @@ cef_class_impl! {
|
|||
}
|
||||
|
||||
fn go_back(&_this) -> () {
|
||||
core::send_window_event(WindowEvent::Navigation(Back));
|
||||
core::send_window_event(WindowEvent::Navigation(WindowNavigateMsg::Back));
|
||||
}
|
||||
|
||||
fn go_forward(&_this) -> () {
|
||||
core::send_window_event(WindowEvent::Navigation(Forward));
|
||||
core::send_window_event(WindowEvent::Navigation(WindowNavigateMsg::Forward));
|
||||
}
|
||||
|
||||
// Returns the main (top-level) frame for the browser window.
|
||||
|
@ -56,9 +56,12 @@ impl ServoCefBrowser {
|
|||
let frame = ServoCefFrame::new().as_cef_interface();
|
||||
let host = ServoCefBrowserHost::new(client.clone()).as_cef_interface();
|
||||
if window_info.windowless_rendering_enabled == 0 {
|
||||
let glfw_window = glfw_app::create_window();
|
||||
globals.replace(Some(ServoCefGlobals::OnScreenGlobals(RefCell::new(glfw_window.clone()),
|
||||
RefCell::new(Browser::new(Some(glfw_window))))));
|
||||
globals.with(|ref r| {
|
||||
let glfw_window = glfw_app::create_window();
|
||||
*r.borrow_mut() = Some(ServoCefGlobals::OnScreenGlobals(
|
||||
RefCell::new(glfw_window.clone()),
|
||||
RefCell::new(Browser::new(Some(glfw_window)))));
|
||||
});
|
||||
}
|
||||
|
||||
ServoCefBrowser {
|
||||
|
@ -77,18 +80,22 @@ trait ServoCefBrowserExtensions {
|
|||
impl ServoCefBrowserExtensions for CefBrowser {
|
||||
fn init(&self, window_info: &cef_window_info_t) {
|
||||
if window_info.windowless_rendering_enabled != 0 {
|
||||
let window = window::Window::new();
|
||||
let servo_browser = Browser::new(Some(window.clone()));
|
||||
window.set_browser(self.clone());
|
||||
globals.replace(Some(ServoCefGlobals::OffScreenGlobals(RefCell::new(window),
|
||||
RefCell::new(servo_browser))));
|
||||
globals.with(|ref r| {
|
||||
let window = window::Window::new();
|
||||
let servo_browser = Browser::new(Some(window.clone()));
|
||||
window.set_browser(self.clone());
|
||||
|
||||
*r.borrow_mut() = Some(ServoCefGlobals::OffScreenGlobals(
|
||||
RefCell::new(window),
|
||||
RefCell::new(servo_browser)));
|
||||
});
|
||||
}
|
||||
|
||||
self.downcast().host.set_browser((*self).clone());
|
||||
}
|
||||
}
|
||||
|
||||
local_data_key!(pub GLOBAL_BROWSERS: RefCell<Vec<CefBrowser>>)
|
||||
thread_local!(pub static GLOBAL_BROWSERS: RefCell<Vec<CefBrowser>> = RefCell::new(vec!()))
|
||||
|
||||
pub fn browser_callback_after_created(browser: CefBrowser) {
|
||||
if browser.downcast().client.is_null_cef_object() {
|
||||
|
@ -115,16 +122,7 @@ fn browser_host_create(window_info: &cef_window_info_t,
|
|||
if callback_executed {
|
||||
browser_callback_after_created(browser.clone());
|
||||
}
|
||||
match GLOBAL_BROWSERS.replace(None) {
|
||||
Some(brs) => {
|
||||
brs.borrow_mut().push(browser.clone());
|
||||
GLOBAL_BROWSERS.replace(Some(brs));
|
||||
},
|
||||
None => {
|
||||
let brs = RefCell::new(vec!(browser.clone()));
|
||||
GLOBAL_BROWSERS.replace(Some(brs));
|
||||
}
|
||||
}
|
||||
GLOBAL_BROWSERS.with(|ref r| r.borrow_mut().push(browser.clone()));
|
||||
browser
|
||||
}
|
||||
|
||||
|
|
|
@ -8,11 +8,11 @@ use interfaces::{CefBrowser, CefBrowserHost, CefClient, cef_browser_host_t, cef_
|
|||
use types::{cef_mouse_button_type_t, cef_mouse_event, cef_rect_t, cef_key_event};
|
||||
use types::cef_key_event_type_t::{KEYEVENT_CHAR, KEYEVENT_KEYDOWN, KEYEVENT_KEYUP, KEYEVENT_RAWKEYDOWN};
|
||||
|
||||
use compositing::windowing::{WindowEvent, KeyEvent, MouseWindowEvent};
|
||||
use compositing::windowing::{WindowEvent, MouseWindowEvent};
|
||||
use geom::point::TypedPoint2D;
|
||||
use geom::size::TypedSize2D;
|
||||
use libc::{c_double, c_int};
|
||||
use servo_msg::constellation_msg::{mod, KeyModifiers, Pressed, Released, Repeated};
|
||||
use servo_msg::constellation_msg::{mod, KeyModifiers, KeyState};
|
||||
use std::cell::RefCell;
|
||||
|
||||
pub struct ServoCefBrowserHost {
|
||||
|
@ -83,12 +83,12 @@ cef_class_impl! {
|
|||
_ => constellation_msg::Key::Space,
|
||||
};
|
||||
let key_state = match (*event).t {
|
||||
KEYEVENT_RAWKEYDOWN => Pressed,
|
||||
KEYEVENT_KEYDOWN | KEYEVENT_CHAR => Repeated,
|
||||
KEYEVENT_KEYUP => Released,
|
||||
KEYEVENT_RAWKEYDOWN => KeyState::Pressed,
|
||||
KEYEVENT_KEYDOWN | KEYEVENT_CHAR => KeyState::Repeated,
|
||||
KEYEVENT_KEYUP => KeyState::Released,
|
||||
};
|
||||
let key_modifiers = KeyModifiers::empty(); // TODO(pcwalton)
|
||||
core::send_window_event(KeyEvent(key, key_state, key_modifiers))
|
||||
core::send_window_event(WindowEvent::KeyEvent(key, key_state, key_modifiers))
|
||||
}
|
||||
|
||||
fn send_mouse_click_event(&_this,
|
||||
|
|
|
@ -11,11 +11,9 @@ use compositing::windowing::WindowEvent;
|
|||
use geom::size::TypedSize2D;
|
||||
use glfw_app;
|
||||
use libc::{c_char, c_int, c_void};
|
||||
use native;
|
||||
use rustrt::local::Local;
|
||||
use servo::Browser;
|
||||
use servo_util::opts;
|
||||
use servo_util::opts::OpenGL;
|
||||
use servo_util::opts::RenderApi;
|
||||
use std::c_str::CString;
|
||||
use std::cell::RefCell;
|
||||
use std::rc::Rc;
|
||||
|
@ -33,12 +31,9 @@ pub enum ServoCefGlobals {
|
|||
OffScreenGlobals(RefCell<Rc<window::Window>>, RefCell<Browser<window::Window>>),
|
||||
}
|
||||
|
||||
local_data_key!(pub globals: ServoCefGlobals)
|
||||
thread_local!(pub static globals: Rc<RefCell<Option<ServoCefGlobals>>> = Rc::new(RefCell::new(None)))
|
||||
|
||||
local_data_key!(pub message_queue: RefCell<Vec<WindowEvent>>)
|
||||
|
||||
// Copied from `libnative/lib.rs`.
|
||||
static OS_DEFAULT_STACK_ESTIMATE: uint = 2 * (1 << 20);
|
||||
thread_local!(pub static message_queue: Rc<RefCell<Vec<WindowEvent>>> = Rc::new(RefCell::new(vec!())))
|
||||
|
||||
static CEF_API_HASH_UNIVERSAL: &'static [u8] = b"8efd129f4afc344bd04b2feb7f73a149b6c4e27f\0";
|
||||
#[cfg(target_os="windows")]
|
||||
|
@ -72,10 +67,6 @@ pub extern "C" fn cef_initialize(args: *const cef_main_args_t,
|
|||
}
|
||||
}
|
||||
|
||||
create_rust_task();
|
||||
|
||||
message_queue.replace(Some(RefCell::new(Vec::new())));
|
||||
|
||||
let urls = vec![HOME_URL.into_string()];
|
||||
opts::set_opts(opts::Opts {
|
||||
urls: urls,
|
||||
|
@ -110,44 +101,29 @@ pub extern "C" fn cef_initialize(args: *const cef_main_args_t,
|
|||
user_agent: None,
|
||||
dump_flow_tree: false,
|
||||
validate_display_list_geometry: false,
|
||||
render_api: OpenGL,
|
||||
render_api: RenderApi::OpenGL,
|
||||
});
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
// Copied from `libnative/lib.rs`.
|
||||
fn create_rust_task() {
|
||||
let something_around_the_top_of_the_stack = 1;
|
||||
let addr = &something_around_the_top_of_the_stack as *const int;
|
||||
let my_stack_top = addr as uint;
|
||||
|
||||
// FIXME #11359 we just assume that this thread has a stack of a
|
||||
// certain size, and estimate that there's at most 20KB of stack
|
||||
// frames above our current position.
|
||||
|
||||
let my_stack_bottom = my_stack_top + 20000 - OS_DEFAULT_STACK_ESTIMATE;
|
||||
|
||||
let task = native::task::new((my_stack_bottom, my_stack_top), rt::thread::main_guard_page());
|
||||
Local::put(task);
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn cef_shutdown() {
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn cef_run_message_loop() {
|
||||
let mut the_globals = globals.get();
|
||||
let the_globals = the_globals.as_mut().unwrap();
|
||||
match **the_globals {
|
||||
ServoCefGlobals::OnScreenGlobals(ref window, ref browser) => {
|
||||
while browser.borrow_mut().handle_event(window.borrow_mut().wait_events()) {}
|
||||
globals.with(|ref r| {
|
||||
let mut the_globals = r.borrow_mut();
|
||||
match *the_globals.as_mut().unwrap() {
|
||||
ServoCefGlobals::OnScreenGlobals(ref window, ref browser) => {
|
||||
while browser.borrow_mut().handle_event(window.borrow_mut().wait_events()) {}
|
||||
}
|
||||
ServoCefGlobals::OffScreenGlobals(ref window, ref browser) => {
|
||||
while browser.borrow_mut().handle_event(window.borrow_mut().wait_events()) {}
|
||||
}
|
||||
}
|
||||
ServoCefGlobals::OffScreenGlobals(ref window, ref browser) => {
|
||||
while browser.borrow_mut().handle_event(window.borrow_mut().wait_events()) {}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
|
@ -168,74 +144,67 @@ pub extern "C" fn cef_execute_process(_args: *const cef_main_args_t,
|
|||
}
|
||||
|
||||
pub fn send_window_event(event: WindowEvent) {
|
||||
message_queue.get().as_mut().unwrap().borrow_mut().push(event);
|
||||
message_queue.with(|ref r| r.borrow_mut().push(event.clone()));
|
||||
|
||||
let mut the_globals = globals.get();
|
||||
let the_globals = match the_globals.as_mut() {
|
||||
None => return,
|
||||
Some(the_globals) => the_globals,
|
||||
};
|
||||
loop {
|
||||
match **the_globals {
|
||||
ServoCefGlobals::OnScreenGlobals(_, ref browser) => {
|
||||
match browser.try_borrow_mut() {
|
||||
None => {
|
||||
// We're trying to send an event while processing another one. This will
|
||||
// cause general badness, so queue up that event instead of immediately
|
||||
// processing it.
|
||||
break
|
||||
globals.with(|ref r| {
|
||||
let mut the_globals = r.borrow_mut();
|
||||
match &mut *the_globals {
|
||||
&None => return,
|
||||
&Some(ref mut the_globals) => loop {
|
||||
match *the_globals {
|
||||
ServoCefGlobals::OnScreenGlobals(_, ref browser) => {
|
||||
match browser.try_borrow_mut() {
|
||||
None => {
|
||||
// We're trying to send an event while processing another one. This will
|
||||
// cause general badness, so queue up that event instead of immediately
|
||||
// processing it.
|
||||
break
|
||||
}
|
||||
Some(ref mut browser) => {
|
||||
let event = match message_queue.with(|ref r| r.borrow_mut().pop()) {
|
||||
None => return,
|
||||
Some(event) => event,
|
||||
};
|
||||
browser.handle_event(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
Some(ref mut browser) => {
|
||||
let event = match message_queue.get()
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.borrow_mut()
|
||||
.pop() {
|
||||
None => return,
|
||||
Some(event) => event,
|
||||
};
|
||||
browser.handle_event(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
ServoCefGlobals::OffScreenGlobals(_, ref browser) => {
|
||||
match browser.try_borrow_mut() {
|
||||
None => {
|
||||
// We're trying to send an event while processing another one. This will
|
||||
// cause general badness, so queue up that event instead of immediately
|
||||
// processing it.
|
||||
break
|
||||
}
|
||||
Some(ref mut browser) => {
|
||||
let event = match message_queue.get()
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.borrow_mut()
|
||||
.pop() {
|
||||
None => return,
|
||||
Some(event) => event,
|
||||
};
|
||||
browser.handle_event(event);
|
||||
ServoCefGlobals::OffScreenGlobals(_, ref browser) => {
|
||||
match browser.try_borrow_mut() {
|
||||
None => {
|
||||
// We're trying to send an event while processing another one. This will
|
||||
// cause general badness, so queue up that event instead of immediately
|
||||
// processing it.
|
||||
break
|
||||
}
|
||||
Some(ref mut browser) => {
|
||||
let event = match message_queue.with(|ref r| r.borrow_mut().pop()) {
|
||||
None => return,
|
||||
Some(event) => event,
|
||||
};
|
||||
browser.handle_event(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
macro_rules! browser_method_delegate(
|
||||
( $( fn $method:ident ( ) -> $return_type:ty ; )* ) => (
|
||||
$(
|
||||
pub fn $method() -> $return_type {
|
||||
let mut the_globals = globals.get();
|
||||
let the_globals = match the_globals.as_mut() {
|
||||
None => panic!("{}: no globals created", stringify!($method)),
|
||||
Some(the_globals) => the_globals,
|
||||
};
|
||||
match **the_globals {
|
||||
ServoCefGlobals::OnScreenGlobals(_, ref browser) => browser.borrow_mut().$method(),
|
||||
ServoCefGlobals::OffScreenGlobals(_, ref browser) => browser.borrow_mut().$method(),
|
||||
}
|
||||
globals.with(|ref r| {
|
||||
match r.borrow_mut().as_mut() {
|
||||
None => panic!("{}: no globals created", stringify!($method)),
|
||||
Some(&ServoCefGlobals::OnScreenGlobals(_, ref browser)) =>
|
||||
browser.borrow_mut().$method(),
|
||||
Some(&ServoCefGlobals::OffScreenGlobals(_, ref browser)) =>
|
||||
browser.borrow_mut().$method(),
|
||||
}
|
||||
})
|
||||
}
|
||||
)*
|
||||
)
|
||||
|
|
|
@ -33,7 +33,6 @@ extern crate "util" as servo_util;
|
|||
extern crate style;
|
||||
extern crate stb_image;
|
||||
|
||||
extern crate native;
|
||||
extern crate rustrt;
|
||||
extern crate libc;
|
||||
extern crate "url" as std_url;
|
||||
|
|
|
@ -276,7 +276,7 @@ pub extern "C" fn cef_string_wide_to_utf8(src: *const wchar_t, src_len: size_t,
|
|||
}
|
||||
unsafe {
|
||||
slice::raw::buf_as_slice(src, src_len as uint, |ustr| {
|
||||
let conv = ustr.iter().map(|&c| char::from_u32(c as u32).unwrap_or('\uFFFD')).collect::<String>();
|
||||
let conv = ustr.iter().map(|&c| char::from_u32(c as u32).unwrap_or('\u{FFFD}')).collect::<String>();
|
||||
cef_string_utf8_set(conv.as_bytes().as_ptr(), conv.len() as size_t, output, 1)
|
||||
})
|
||||
}
|
||||
|
|
|
@ -22,25 +22,13 @@ use layers::geometry::DevicePixel;
|
|||
use layers::platform::surface::NativeGraphicsMetadata;
|
||||
use libc::{c_char, c_void};
|
||||
use servo_msg::constellation_msg::{Key, KeyModifiers};
|
||||
use servo_msg::compositor_msg::{Blank, FinishedLoading, Loading, PerformingLayout, PaintState};
|
||||
use servo_msg::compositor_msg::{ReadyState};
|
||||
use servo_msg::compositor_msg::{ReadyState, PaintState};
|
||||
use servo_msg::constellation_msg::LoadData;
|
||||
use servo_util::cursor::Cursor;
|
||||
use servo_util::geometry::ScreenPx;
|
||||
use std::cell::RefCell;
|
||||
use std::rc::Rc;
|
||||
|
||||
#[cfg(target_os="macos")]
|
||||
use servo_util::cursor::{AliasCursor, AllScrollCursor, ColResizeCursor, ContextMenuCursor};
|
||||
#[cfg(target_os="macos")]
|
||||
use servo_util::cursor::{CopyCursor, CrosshairCursor, EResizeCursor, EwResizeCursor};
|
||||
#[cfg(target_os="macos")]
|
||||
use servo_util::cursor::{GrabCursor, GrabbingCursor, NResizeCursor, NoCursor, NoDropCursor};
|
||||
#[cfg(target_os="macos")]
|
||||
use servo_util::cursor::{NsResizeCursor, NotAllowedCursor, PointerCursor, RowResizeCursor};
|
||||
#[cfg(target_os="macos")]
|
||||
use servo_util::cursor::{SResizeCursor, TextCursor, VerticalTextCursor, WResizeCursor};
|
||||
|
||||
#[cfg(target_os="macos")]
|
||||
use std::ptr;
|
||||
|
||||
|
@ -107,23 +95,23 @@ impl Window {
|
|||
use cocoa::base::{class, msg_send, selector};
|
||||
|
||||
let cocoa_name = match cursor {
|
||||
NoCursor => return 0 as cef_cursor_handle_t,
|
||||
ContextMenuCursor => "contextualMenuCursor",
|
||||
GrabbingCursor => "closedHandCursor",
|
||||
CrosshairCursor => "crosshairCursor",
|
||||
CopyCursor => "dragCopyCursor",
|
||||
AliasCursor => "dragLinkCursor",
|
||||
TextCursor => "IBeamCursor",
|
||||
GrabCursor | AllScrollCursor => "openHandCursor",
|
||||
NoDropCursor | NotAllowedCursor => "operationNotAllowedCursor",
|
||||
PointerCursor => "pointingHandCursor",
|
||||
SResizeCursor => "resizeDownCursor",
|
||||
WResizeCursor => "resizeLeftCursor",
|
||||
EwResizeCursor | ColResizeCursor => "resizeLeftRightCursor",
|
||||
EResizeCursor => "resizeRightCursor",
|
||||
NResizeCursor => "resizeUpCursor",
|
||||
NsResizeCursor | RowResizeCursor => "resizeUpDownCursor",
|
||||
VerticalTextCursor => "IBeamCursorForVerticalLayout",
|
||||
Cursor::NoCursor => return 0 as cef_cursor_handle_t,
|
||||
Cursor::ContextMenuCursor => "contextualMenuCursor",
|
||||
Cursor::GrabbingCursor => "closedHandCursor",
|
||||
Cursor::CrosshairCursor => "crosshairCursor",
|
||||
Cursor::CopyCursor => "dragCopyCursor",
|
||||
Cursor::AliasCursor => "dragLinkCursor",
|
||||
Cursor::TextCursor => "IBeamCursor",
|
||||
Cursor::GrabCursor | Cursor::AllScrollCursor => "openHandCursor",
|
||||
Cursor::NoDropCursor | Cursor::NotAllowedCursor => "operationNotAllowedCursor",
|
||||
Cursor::PointerCursor => "pointingHandCursor",
|
||||
Cursor::SResizeCursor => "resizeDownCursor",
|
||||
Cursor::WResizeCursor => "resizeLeftCursor",
|
||||
Cursor::EwResizeCursor | Cursor::ColResizeCursor => "resizeLeftRightCursor",
|
||||
Cursor::EResizeCursor => "resizeRightCursor",
|
||||
Cursor::NResizeCursor => "resizeUpCursor",
|
||||
Cursor::NsResizeCursor | Cursor::RowResizeCursor => "resizeUpDownCursor",
|
||||
Cursor::VerticalTextCursor => "IBeamCursorForVerticalLayout",
|
||||
_ => "arrowCursor",
|
||||
};
|
||||
unsafe {
|
||||
|
@ -185,8 +173,8 @@ impl WindowMethods for Window {
|
|||
Some(ref browser) => browser,
|
||||
};
|
||||
let is_loading = match ready_state {
|
||||
Blank | FinishedLoading => 0,
|
||||
Loading | PerformingLayout => 1,
|
||||
ReadyState::Blank | ReadyState::FinishedLoading => 0,
|
||||
ReadyState::Loading | ReadyState::PerformingLayout => 1,
|
||||
};
|
||||
browser.get_host()
|
||||
.get_client()
|
||||
|
|
|
@ -7,14 +7,8 @@
|
|||
use NestedEventLoopListener;
|
||||
|
||||
use compositing::compositor_task::{mod, CompositorProxy, CompositorReceiver};
|
||||
use compositing::windowing::{Forward, Back};
|
||||
use compositing::windowing::{Idle, Resize};
|
||||
use compositing::windowing::{KeyEvent, MouseWindowEvent};
|
||||
use compositing::windowing::{MouseWindowEventClass, MouseWindowMoveEventClass};
|
||||
use compositing::windowing::Refresh;
|
||||
use compositing::windowing::{Navigation, Scroll, Zoom};
|
||||
use compositing::windowing::{PinchZoom, Quit};
|
||||
use compositing::windowing::{WindowEvent, WindowMethods};
|
||||
use compositing::windowing::WindowNavigateMsg;
|
||||
use compositing::windowing::{MouseWindowEvent, WindowEvent, WindowMethods};
|
||||
use geom::point::{Point2D, TypedPoint2D};
|
||||
use geom::scale_factor::ScaleFactor;
|
||||
use geom::size::TypedSize2D;
|
||||
|
@ -23,10 +17,10 @@ use gleam::gl;
|
|||
use layers::geometry::DevicePixel;
|
||||
use layers::platform::surface::NativeGraphicsMetadata;
|
||||
use libc::c_int;
|
||||
use msg::compositor_msg::{Blank, FinishedLoading, Loading, PaintState};
|
||||
use msg::compositor_msg::{PerformingLayout, ReadyState};
|
||||
use msg::constellation_msg::{mod, LoadData};
|
||||
use msg::constellation_msg::{Key, KeyModifiers, CONTROL, SHIFT};
|
||||
use msg::compositor_msg::{PaintState, ReadyState};
|
||||
use msg::constellation_msg::{KeyState, LoadData};
|
||||
use msg::constellation_msg::{Key, KeyModifiers};
|
||||
use msg::constellation_msg::{SHIFT, ALT, CONTROL, SUPER};
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::comm::Receiver;
|
||||
use std::num::Float;
|
||||
|
@ -59,10 +53,11 @@ impl Window {
|
|||
-> Rc<Window> {
|
||||
// Create the GLFW window.
|
||||
let window_size = size.to_untyped();
|
||||
glfw.window_hint(glfw::Visible(is_foreground));
|
||||
glfw.window_hint(glfw::WindowHint::Visible(is_foreground));
|
||||
let (glfw_window, events) = glfw.create_window(window_size.width as u32,
|
||||
window_size.height as u32,
|
||||
"Servo", glfw::Windowed)
|
||||
"Servo",
|
||||
glfw::WindowMode::Windowed)
|
||||
.expect("Failed to create GLFW window");
|
||||
glfw_window.make_current();
|
||||
|
||||
|
@ -80,7 +75,7 @@ impl Window {
|
|||
mouse_down_button: Cell::new(None),
|
||||
mouse_down_point: Cell::new(Point2D(0 as c_int, 0)),
|
||||
|
||||
ready_state: Cell::new(Blank),
|
||||
ready_state: Cell::new(ReadyState::Blank),
|
||||
paint_state: Cell::new(PaintState::Idle),
|
||||
|
||||
last_title_set_time: Cell::new(Timespec::new(0, 0)),
|
||||
|
@ -94,7 +89,7 @@ impl Window {
|
|||
window.glfw_window.set_cursor_pos_polling(true);
|
||||
window.glfw_window.set_scroll_polling(true);
|
||||
|
||||
glfw.set_swap_interval(1);
|
||||
window.glfw.set_swap_interval(1);
|
||||
|
||||
Rc::new(window)
|
||||
}
|
||||
|
@ -122,15 +117,15 @@ impl Window {
|
|||
}
|
||||
|
||||
if self.glfw_window.should_close() {
|
||||
Quit
|
||||
WindowEvent::Quit
|
||||
} else {
|
||||
self.event_queue.borrow_mut().remove(0).unwrap_or(Idle)
|
||||
self.event_queue.borrow_mut().remove(0).unwrap_or(WindowEvent::Idle)
|
||||
}
|
||||
}
|
||||
|
||||
pub unsafe fn set_nested_event_loop_listener(
|
||||
&self,
|
||||
listener: *mut NestedEventLoopListener + 'static) {
|
||||
listener: *mut (NestedEventLoopListener + 'static)) {
|
||||
self.glfw_window.set_refresh_polling(false);
|
||||
glfw::ffi::glfwSetWindowRefreshCallback(self.glfw_window.ptr, Some(on_refresh));
|
||||
glfw::ffi::glfwSetFramebufferSizeCallback(self.glfw_window.ptr, Some(on_framebuffer_size));
|
||||
|
@ -145,7 +140,7 @@ impl Window {
|
|||
}
|
||||
}
|
||||
|
||||
static mut g_nested_event_loop_listener: Option<*mut NestedEventLoopListener + 'static> = None;
|
||||
static mut g_nested_event_loop_listener: Option<*mut (NestedEventLoopListener + 'static)> = None;
|
||||
|
||||
impl WindowMethods for Window {
|
||||
/// Returns the size of the window in hardware pixels.
|
||||
|
@ -215,16 +210,16 @@ impl WindowMethods for Window {
|
|||
match key {
|
||||
Key::Escape => self.glfw_window.set_should_close(true),
|
||||
Key::Equal if mods.contains(CONTROL) => { // Ctrl-+
|
||||
self.event_queue.borrow_mut().push(Zoom(1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Zoom(1.1));
|
||||
}
|
||||
Key::Minus if mods.contains(CONTROL) => { // Ctrl--
|
||||
self.event_queue.borrow_mut().push(Zoom(1.0/1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Zoom(1.0/1.1));
|
||||
}
|
||||
Key::Backspace if mods.contains(SHIFT) => { // Shift-Backspace
|
||||
self.event_queue.borrow_mut().push(Navigation(Forward));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Navigation(WindowNavigateMsg::Forward));
|
||||
}
|
||||
Key::Backspace => { // Backspace
|
||||
self.event_queue.borrow_mut().push(Navigation(Back));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Navigation(WindowNavigateMsg::Back));
|
||||
}
|
||||
Key::PageDown => {
|
||||
let (_, height) = self.glfw_window.get_size();
|
||||
|
@ -258,31 +253,31 @@ impl WindowMethods for Window {
|
|||
impl Window {
|
||||
fn handle_window_event(&self, window: &glfw::Window, event: glfw::WindowEvent) {
|
||||
match event {
|
||||
glfw::KeyEvent(key, _, action, mods) => {
|
||||
glfw::WindowEvent::Key(key, _, action, mods) => {
|
||||
let key = glfw_key_to_script_key(key);
|
||||
let state = match action {
|
||||
glfw::Press => constellation_msg::Pressed,
|
||||
glfw::Release => constellation_msg::Released,
|
||||
glfw::Repeat => constellation_msg::Repeated,
|
||||
glfw::Action::Press => KeyState::Pressed,
|
||||
glfw::Action::Release => KeyState::Released,
|
||||
glfw::Action::Repeat => KeyState::Repeated,
|
||||
};
|
||||
let modifiers = glfw_mods_to_script_mods(mods);
|
||||
self.event_queue.borrow_mut().push(KeyEvent(key, state, modifiers));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::KeyEvent(key, state, modifiers));
|
||||
},
|
||||
glfw::FramebufferSizeEvent(width, height) => {
|
||||
glfw::WindowEvent::FramebufferSize(width, height) => {
|
||||
self.event_queue.borrow_mut().push(
|
||||
Resize(TypedSize2D(width as uint, height as uint)));
|
||||
WindowEvent::Resize(TypedSize2D(width as uint, height as uint)));
|
||||
},
|
||||
glfw::RefreshEvent => {
|
||||
self.event_queue.borrow_mut().push(Refresh);
|
||||
glfw::WindowEvent::Refresh => {
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Refresh);
|
||||
},
|
||||
glfw::MouseButtonEvent(button, action, _mods) => {
|
||||
glfw::WindowEvent::MouseButton(button, action, _mods) => {
|
||||
let cursor_position = self.cursor_position();
|
||||
match button {
|
||||
glfw::MouseButton::Button5 => { // Back button (might be different per platform)
|
||||
self.event_queue.borrow_mut().push(Navigation(Back));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Navigation(WindowNavigateMsg::Back));
|
||||
},
|
||||
glfw::MouseButton::Button6 => { // Forward
|
||||
self.event_queue.borrow_mut().push(Navigation(Forward));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Navigation(WindowNavigateMsg::Forward));
|
||||
},
|
||||
glfw::MouseButtonLeft | glfw::MouseButtonRight => {
|
||||
self.handle_mouse(button,
|
||||
|
@ -293,20 +288,20 @@ impl Window {
|
|||
_ => {}
|
||||
}
|
||||
},
|
||||
glfw::CursorPosEvent(..) => {
|
||||
glfw::WindowEvent::CursorPos(..) => {
|
||||
self.event_queue
|
||||
.borrow_mut()
|
||||
.push(MouseWindowMoveEventClass(self.cursor_position()));
|
||||
.push(WindowEvent::MouseWindowMoveEventClass(self.cursor_position()));
|
||||
},
|
||||
glfw::ScrollEvent(xpos, ypos) => {
|
||||
glfw::WindowEvent::Scroll(xpos, ypos) => {
|
||||
match (window.get_key(glfw::Key::LeftControl),
|
||||
window.get_key(glfw::Key::RightControl)) {
|
||||
(glfw::Press, _) | (_, glfw::Press) => {
|
||||
(glfw::Action::Press, _) | (_, glfw::Action::Press) => {
|
||||
// Ctrl-Scrollwheel simulates a "pinch zoom" gesture.
|
||||
if ypos < 0.0 {
|
||||
self.event_queue.borrow_mut().push(PinchZoom(1.0/1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::PinchZoom(1.0/1.1));
|
||||
} else if ypos > 0.0 {
|
||||
self.event_queue.borrow_mut().push(PinchZoom(1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::PinchZoom(1.1));
|
||||
}
|
||||
},
|
||||
_ => {
|
||||
|
@ -323,7 +318,7 @@ impl Window {
|
|||
/// Helper function to send a scroll event.
|
||||
fn scroll_window(&self, dx: f32, dy: f32) {
|
||||
let cursor_pos = self.cursor_position().cast().unwrap();
|
||||
self.event_queue.borrow_mut().push(Scroll(TypedPoint2D(dx, dy), cursor_pos));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Scroll(TypedPoint2D(dx, dy), cursor_pos));
|
||||
}
|
||||
|
||||
/// Helper function to set the window title in accordance with the ready state.
|
||||
|
@ -335,16 +330,16 @@ impl Window {
|
|||
self.last_title_set_time.set(now);
|
||||
|
||||
match self.ready_state.get() {
|
||||
Blank => {
|
||||
ReadyState::Blank => {
|
||||
self.glfw_window.set_title("blank — Servo [GLFW]")
|
||||
}
|
||||
Loading => {
|
||||
ReadyState::Loading => {
|
||||
self.glfw_window.set_title("Loading — Servo [GLFW]")
|
||||
}
|
||||
PerformingLayout => {
|
||||
ReadyState::PerformingLayout => {
|
||||
self.glfw_window.set_title("Performing Layout — Servo [GLFW]")
|
||||
}
|
||||
FinishedLoading => {
|
||||
ReadyState::FinishedLoading => {
|
||||
match self.paint_state.get() {
|
||||
PaintState::Painting => {
|
||||
self.glfw_window.set_title("Rendering — Servo [GLFW]")
|
||||
|
@ -362,12 +357,12 @@ impl Window {
|
|||
// FIXME(tkuehn): max pixel dist should be based on pixel density
|
||||
let max_pixel_dist = 10f64;
|
||||
let event = match action {
|
||||
glfw::Press => {
|
||||
glfw::Action::Press => {
|
||||
self.mouse_down_point.set(Point2D(x, y));
|
||||
self.mouse_down_button.set(Some(button));
|
||||
MouseWindowEvent::MouseDown(button as uint, TypedPoint2D(x as f32, y as f32))
|
||||
}
|
||||
glfw::Release => {
|
||||
glfw::Action::Release => {
|
||||
match self.mouse_down_button.get() {
|
||||
None => (),
|
||||
Some(but) if button == but => {
|
||||
|
@ -377,7 +372,7 @@ impl Window {
|
|||
if pixel_dist < max_pixel_dist {
|
||||
let click_event = MouseWindowEvent::Click(
|
||||
button as uint, TypedPoint2D(x as f32, y as f32));
|
||||
self.event_queue.borrow_mut().push(MouseWindowEventClass(click_event));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::MouseWindowEventClass(click_event));
|
||||
}
|
||||
}
|
||||
Some(_) => (),
|
||||
|
@ -386,7 +381,7 @@ impl Window {
|
|||
}
|
||||
_ => panic!("I cannot recognize the type of mouse action that occured. :-(")
|
||||
};
|
||||
self.event_queue.borrow_mut().push(MouseWindowEventClass(event));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::MouseWindowEventClass(event));
|
||||
}
|
||||
|
||||
/// Returns the cursor position, properly accounting for HiDPI.
|
||||
|
@ -420,7 +415,7 @@ extern "C" fn on_refresh(_glfw_window: *mut glfw::ffi::GLFWwindow) {
|
|||
match g_nested_event_loop_listener {
|
||||
None => {}
|
||||
Some(listener) => {
|
||||
(*listener).handle_event_from_nested_event_loop(Refresh);
|
||||
(*listener).handle_event_from_nested_event_loop(WindowEvent::Refresh);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -434,25 +429,25 @@ extern "C" fn on_framebuffer_size(_glfw_window: *mut glfw::ffi::GLFWwindow,
|
|||
None => {}
|
||||
Some(listener) => {
|
||||
let size = TypedSize2D(width as uint, height as uint);
|
||||
(*listener).handle_event_from_nested_event_loop(Resize(size));
|
||||
(*listener).handle_event_from_nested_event_loop(WindowEvent::Resize(size));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn glfw_mods_to_script_mods(mods: glfw::Modifiers) -> constellation_msg::KeyModifiers {
|
||||
let mut result = constellation_msg::KeyModifiers::from_bits(0).unwrap();
|
||||
fn glfw_mods_to_script_mods(mods: glfw::Modifiers) -> KeyModifiers {
|
||||
let mut result = KeyModifiers::from_bits(0).unwrap();
|
||||
if mods.contains(glfw::Shift) {
|
||||
result.insert(constellation_msg::SHIFT);
|
||||
result.insert(SHIFT);
|
||||
}
|
||||
if mods.contains(glfw::Alt) {
|
||||
result.insert(constellation_msg::ALT);
|
||||
result.insert(ALT);
|
||||
}
|
||||
if mods.contains(glfw::Control) {
|
||||
result.insert(constellation_msg::CONTROL);
|
||||
result.insert(CONTROL);
|
||||
}
|
||||
if mods.contains(glfw::Super) {
|
||||
result.insert(constellation_msg::SUPER);
|
||||
result.insert(SUPER);
|
||||
}
|
||||
result
|
||||
}
|
||||
|
@ -460,12 +455,12 @@ fn glfw_mods_to_script_mods(mods: glfw::Modifiers) -> constellation_msg::KeyModi
|
|||
macro_rules! glfw_keys_to_script_keys(
|
||||
($key:expr, $($name:ident),+) => (
|
||||
match $key {
|
||||
$(glfw::Key::$name => constellation_msg::Key::$name,)+
|
||||
$(glfw::Key::$name => Key::$name,)+
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
fn glfw_key_to_script_key(key: glfw::Key) -> constellation_msg::Key {
|
||||
fn glfw_key_to_script_key(key: glfw::Key) -> Key {
|
||||
glfw_keys_to_script_keys!(key,
|
||||
Space,
|
||||
Apostrophe,
|
||||
|
|
|
@ -5,21 +5,16 @@
|
|||
//! A windowing implementation using glutin.
|
||||
|
||||
use compositing::compositor_task::{mod, CompositorProxy, CompositorReceiver};
|
||||
use compositing::windowing::{WindowEvent, WindowMethods, KeyEvent};
|
||||
use compositing::windowing::{Idle, Resize};
|
||||
use compositing::windowing::{MouseWindowEventClass, MouseWindowMoveEventClass, Scroll};
|
||||
use compositing::windowing::{Zoom, PinchZoom, Navigation};
|
||||
use compositing::windowing::{Quit, MouseWindowEvent};
|
||||
use compositing::windowing::{Forward, Back};
|
||||
use compositing::windowing::WindowNavigateMsg;
|
||||
use compositing::windowing::{MouseWindowEvent, WindowEvent, WindowMethods};
|
||||
use geom::point::{Point2D, TypedPoint2D};
|
||||
use geom::scale_factor::ScaleFactor;
|
||||
use geom::size::TypedSize2D;
|
||||
use layers::geometry::DevicePixel;
|
||||
use layers::platform::surface::NativeGraphicsMetadata;
|
||||
use msg::constellation_msg;
|
||||
use msg::constellation_msg::{Key, CONTROL, SHIFT, ALT};
|
||||
use msg::compositor_msg::{PaintState, FinishedLoading, Blank, Loading};
|
||||
use msg::compositor_msg::{PerformingLayout, ReadyState};
|
||||
use msg::constellation_msg::{Key, KeyState, CONTROL, SHIFT, ALT};
|
||||
use msg::compositor_msg::{PaintState, ReadyState};
|
||||
use msg::constellation_msg::LoadData;
|
||||
use std::cell::{Cell, RefCell};
|
||||
use std::num::Float;
|
||||
|
@ -27,7 +22,7 @@ use std::rc::Rc;
|
|||
use time::{mod, Timespec};
|
||||
use util::geometry::ScreenPx;
|
||||
use util::opts;
|
||||
use util::opts::{RenderApi, Mesa, OpenGL};
|
||||
use util::opts::RenderApi;
|
||||
use gleam::gl;
|
||||
use glutin;
|
||||
use glutin::{ElementState, Event, MouseButton, VirtualKeyCode};
|
||||
|
@ -47,21 +42,21 @@ enum WindowHandle {
|
|||
Headless(HeadlessContext),
|
||||
}
|
||||
|
||||
static mut g_nested_event_loop_listener: Option<*mut NestedEventLoopListener + 'static> = None;
|
||||
static mut g_nested_event_loop_listener: Option<*mut (NestedEventLoopListener + 'static)> = None;
|
||||
|
||||
fn nested_window_resize(width: uint, height: uint) {
|
||||
unsafe {
|
||||
match g_nested_event_loop_listener {
|
||||
None => {}
|
||||
Some(listener) => {
|
||||
(*listener).handle_event_from_nested_event_loop(Resize(TypedSize2D(width, height)));
|
||||
(*listener).handle_event_from_nested_event_loop(WindowEvent::Resize(TypedSize2D(width, height)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bitflags!(
|
||||
#[deriving(Show)]
|
||||
#[deriving(Show, Copy)]
|
||||
flags KeyModifiers: u8 {
|
||||
const LEFT_CONTROL = 1,
|
||||
const RIGHT_CONTROL = 2,
|
||||
|
@ -119,7 +114,7 @@ impl Window {
|
|||
let window_size = size.to_untyped();
|
||||
|
||||
let glutin = match render_api {
|
||||
OpenGL => {
|
||||
RenderApi::OpenGL => {
|
||||
let mut glutin_window = glutin::WindowBuilder::new()
|
||||
.with_title("Servo [glutin]".to_string())
|
||||
.with_dimensions(window_size.width, window_size.height)
|
||||
|
@ -132,7 +127,7 @@ impl Window {
|
|||
glutin_window.set_window_resize_callback(Some(nested_window_resize));
|
||||
WindowHandle::Windowed(glutin_window)
|
||||
}
|
||||
Mesa => {
|
||||
RenderApi::Mesa => {
|
||||
let headless_builder = glutin::HeadlessRendererBuilder::new(window_size.width,
|
||||
window_size.height);
|
||||
let headless_context = headless_builder.build().unwrap();
|
||||
|
@ -154,7 +149,7 @@ impl Window {
|
|||
mouse_down_point: Cell::new(Point2D(0, 0)),
|
||||
|
||||
mouse_pos: Cell::new(Point2D(0, 0)),
|
||||
ready_state: Cell::new(Blank),
|
||||
ready_state: Cell::new(ReadyState::Blank),
|
||||
paint_state: Cell::new(PaintState::Idle),
|
||||
key_modifiers: Cell::new(KeyModifiers::empty()),
|
||||
|
||||
|
@ -298,16 +293,16 @@ impl WindowMethods for Window {
|
|||
fn handle_key(&self, key: Key, mods: constellation_msg::KeyModifiers) {
|
||||
match key {
|
||||
Key::Equal if mods.contains(CONTROL) => { // Ctrl-+
|
||||
self.event_queue.borrow_mut().push(Zoom(1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Zoom(1.1));
|
||||
}
|
||||
Key::Minus if mods.contains(CONTROL) => { // Ctrl--
|
||||
self.event_queue.borrow_mut().push(Zoom(1.0/1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Zoom(1.0/1.1));
|
||||
}
|
||||
Key::Backspace if mods.contains(SHIFT) => { // Shift-Backspace
|
||||
self.event_queue.borrow_mut().push(Navigation(Forward));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Navigation(WindowNavigateMsg::Forward));
|
||||
}
|
||||
Key::Backspace => { // Backspace
|
||||
self.event_queue.borrow_mut().push(Navigation(Back));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Navigation(WindowNavigateMsg::Back));
|
||||
}
|
||||
Key::PageDown => {
|
||||
self.scroll_window(0.0, -self.framebuffer_size().as_f32().to_untyped().height);
|
||||
|
@ -332,16 +327,16 @@ impl Window {
|
|||
self.last_title_set_time.set(now);
|
||||
|
||||
match self.ready_state.get() {
|
||||
Blank => {
|
||||
ReadyState::Blank => {
|
||||
window.set_title("blank - Servo [glutin]")
|
||||
}
|
||||
Loading => {
|
||||
ReadyState::Loading => {
|
||||
window.set_title("Loading - Servo [glutin]")
|
||||
}
|
||||
PerformingLayout => {
|
||||
ReadyState::PerformingLayout => {
|
||||
window.set_title("Performing Layout - Servo [glutin]")
|
||||
}
|
||||
FinishedLoading => {
|
||||
ReadyState::FinishedLoading => {
|
||||
match self.paint_state.get() {
|
||||
PaintState::Painting => {
|
||||
window.set_title("Rendering - Servo [glutin]")
|
||||
|
@ -403,9 +398,9 @@ impl Window {
|
|||
(ElementState::Pressed, key_code) => {
|
||||
match glutin_key_to_script_key(key_code) {
|
||||
Ok(key) => {
|
||||
let state = constellation_msg::Pressed;
|
||||
let state = KeyState::Pressed;
|
||||
let modifiers = glutin_mods_to_script_mods(self.key_modifiers.get());
|
||||
self.event_queue.borrow_mut().push(KeyEvent(key, state, modifiers));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::KeyEvent(key, state, modifiers));
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
@ -415,7 +410,7 @@ impl Window {
|
|||
}
|
||||
}
|
||||
Event::Resized(width, height) => {
|
||||
self.event_queue.borrow_mut().push(Resize(TypedSize2D(width, height)));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::Resize(TypedSize2D(width, height)));
|
||||
}
|
||||
Event::MouseInput(element_state, mouse_button) => {
|
||||
if mouse_button == MouseButton::LeftMouseButton ||
|
||||
|
@ -427,15 +422,15 @@ impl Window {
|
|||
Event::MouseMoved((x, y)) => {
|
||||
self.mouse_pos.set(Point2D(x, y));
|
||||
self.event_queue.borrow_mut().push(
|
||||
MouseWindowMoveEventClass(TypedPoint2D(x as f32, y as f32)));
|
||||
WindowEvent::MouseWindowMoveEventClass(TypedPoint2D(x as f32, y as f32)));
|
||||
}
|
||||
Event::MouseWheel(delta) => {
|
||||
if self.ctrl_pressed() {
|
||||
// Ctrl-Scrollwheel simulates a "pinch zoom" gesture.
|
||||
if delta < 0 {
|
||||
self.event_queue.borrow_mut().push(PinchZoom(1.0/1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::PinchZoom(1.0/1.1));
|
||||
} else if delta > 0 {
|
||||
self.event_queue.borrow_mut().push(PinchZoom(1.1));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::PinchZoom(1.1));
|
||||
}
|
||||
} else {
|
||||
let dx = 0.0;
|
||||
|
@ -463,8 +458,8 @@ impl Window {
|
|||
/// Helper function to send a scroll event.
|
||||
fn scroll_window(&self, dx: f32, dy: f32) {
|
||||
let mouse_pos = self.mouse_pos.get();
|
||||
let event = Scroll(TypedPoint2D(dx as f32, dy as f32),
|
||||
TypedPoint2D(mouse_pos.x as i32, mouse_pos.y as i32));
|
||||
let event = WindowEvent::Scroll(TypedPoint2D(dx as f32, dy as f32),
|
||||
TypedPoint2D(mouse_pos.x as i32, mouse_pos.y as i32));
|
||||
self.event_queue.borrow_mut().push(event);
|
||||
}
|
||||
|
||||
|
@ -488,7 +483,7 @@ impl Window {
|
|||
if pixel_dist < max_pixel_dist {
|
||||
let click_event = MouseWindowEvent::Click(
|
||||
0, TypedPoint2D(x as f32, y as f32));
|
||||
self.event_queue.borrow_mut().push(MouseWindowEventClass(click_event));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::MouseWindowEventClass(click_event));
|
||||
}
|
||||
}
|
||||
Some(_) => (),
|
||||
|
@ -496,12 +491,12 @@ impl Window {
|
|||
MouseWindowEvent::MouseUp(0, TypedPoint2D(x as f32, y as f32))
|
||||
}
|
||||
};
|
||||
self.event_queue.borrow_mut().push(MouseWindowEventClass(event));
|
||||
self.event_queue.borrow_mut().push(WindowEvent::MouseWindowEventClass(event));
|
||||
}
|
||||
|
||||
pub unsafe fn set_nested_event_loop_listener(
|
||||
&self,
|
||||
listener: *mut NestedEventLoopListener + 'static) {
|
||||
listener: *mut (NestedEventLoopListener + 'static)) {
|
||||
g_nested_event_loop_listener = Some(listener)
|
||||
}
|
||||
|
||||
|
@ -541,13 +536,13 @@ impl Window {
|
|||
}
|
||||
|
||||
if close_event || window.is_closed() {
|
||||
Quit
|
||||
WindowEvent::Quit
|
||||
} else {
|
||||
self.event_queue.borrow_mut().remove(0).unwrap_or(Idle)
|
||||
self.event_queue.borrow_mut().remove(0).unwrap_or(WindowEvent::Idle)
|
||||
}
|
||||
}
|
||||
WindowHandle::Headless(_) => {
|
||||
self.event_queue.borrow_mut().remove(0).unwrap_or(Idle)
|
||||
self.event_queue.borrow_mut().remove(0).unwrap_or(WindowEvent::Idle)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
218
ports/gonk/Cargo.lock
generated
218
ports/gonk/Cargo.lock
generated
|
@ -15,7 +15,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "azure"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-azure#fe95551ca22f2a75b0dd690a72841df39b33885d"
|
||||
source = "git+https://github.com/servo/rust-azure#6884d442052becfcafccc82b17ab316c7831d8d2"
|
||||
dependencies = [
|
||||
"core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)",
|
||||
"core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)",
|
||||
|
@ -64,24 +64,24 @@ dependencies = [
|
|||
"png 0.1.0 (git+https://github.com/servo/rust-png)",
|
||||
"script_traits 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cookie"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/cookie-rs#f82090b19c2738b90528167ef873d8eac0353294"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/alexcrichton/cookie-rs#8d1b4bb8d5ed06e58c162eb235a4ccd210b68108"
|
||||
dependencies = [
|
||||
"openssl 0.0.2 (git+https://github.com/servo/rust-openssl)",
|
||||
"openssl 0.2.4 (git+https://github.com/sfackler/rust-openssl)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core_foundation"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-core-foundation#d2dbe4fb6f6892521a37735cd7a97098d1b64808"
|
||||
source = "git+https://github.com/servo/rust-core-foundation#81db9ab15f67e16d7a3e9705a06cad65192014fd"
|
||||
|
||||
[[package]]
|
||||
name = "core_graphics"
|
||||
|
@ -94,7 +94,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "core_text"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-core-text#85784007b6fa1b8f9614059edcd0429b2bd69a11"
|
||||
source = "git+https://github.com/servo/rust-core-text#cb369a26a0eb4e83c2128ceb3c685a191113417a"
|
||||
dependencies = [
|
||||
"core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)",
|
||||
"core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)",
|
||||
|
@ -102,11 +102,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cssparser"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-cssparser#a2b0b6b00ad84dc3a4b4faf77ddd63611c8ce58a"
|
||||
version = "0.1.1"
|
||||
source = "git+https://github.com/servo/rust-cssparser#110bf3052d016bf6eda0689fb21cf971e2c23dc8"
|
||||
dependencies = [
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"text_writer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"text_writer 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -132,60 +132,60 @@ source = "git+https://github.com/servo/rust-egl#88f2a13812ddbce2bf2317221663a61c
|
|||
|
||||
[[package]]
|
||||
name = "encoding"
|
||||
version = "0.2.3"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding-index-japanese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-korean 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-simpchinese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-singlebyte 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-tradchinese 1.0.20140915 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding-index-japanese 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-korean 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-simpchinese 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-singlebyte 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"encoding-index-tradchinese 1.0.20140915 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-japanese"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-korean"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-simpchinese"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-singlebyte"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding-index-tradchinese"
|
||||
version = "1.0.20140915"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"encoding_index_tests 0.1.0 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding_index_tests 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encoding_index_tests"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/lifthrasiir/rust-encoding#15ac0ded3ca592c31ded5b9ff6f9fe2fa4b73fc4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "expat-sys"
|
||||
|
@ -224,10 +224,15 @@ name = "gcc"
|
|||
version = "0.0.2"
|
||||
source = "git+https://github.com/alexcrichton/gcc-rs#903e8f8a2e3766ad3d514404d452dbaa1d3b2d79"
|
||||
|
||||
[[package]]
|
||||
name = "gcc"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "geom"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-geom#0f77c6ad116748b7e6bedbf2414d4ceea17debc2"
|
||||
source = "git+https://github.com/servo/rust-geom#05f2d5494355adc78ad7d17286912f0d128f503b"
|
||||
|
||||
[[package]]
|
||||
name = "gfx"
|
||||
|
@ -250,23 +255,23 @@ dependencies = [
|
|||
"stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)",
|
||||
"style 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gl_common"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#c76c23fc9a0dae824b45550d4b823cdb726f242d"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#b5e3f4f76c31bc1b459d5e4c10d879ffa4f67c6e"
|
||||
|
||||
[[package]]
|
||||
name = "gl_generator"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#c76c23fc9a0dae824b45550d4b823cdb726f242d"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#b5e3f4f76c31bc1b459d5e4c10d879ffa4f67c6e"
|
||||
dependencies = [
|
||||
"gl_common 0.0.1 (git+https://github.com/bjz/gl-rs.git)",
|
||||
"khronos_api 0.0.2 (git+https://github.com/bjz/gl-rs.git)",
|
||||
"rust-xml 0.1.2-pre (git+https://github.com/netvl/rust-xml)",
|
||||
"xml-rs 0.1.3 (git+https://github.com/netvl/xml-rs)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -293,11 +298,11 @@ source = "git+https://github.com/servo/rust-harfbuzz#8aab215463214647b7a81f66011
|
|||
[[package]]
|
||||
name = "html5ever"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/html5ever#e6f8d83de9fffe63a825d95d957ba6bcbc3e1632"
|
||||
source = "git+https://github.com/servo/html5ever#0abe5e30cc03f9e73bfd4fdc018192d149c21fb3"
|
||||
dependencies = [
|
||||
"html5ever_macros 0.0.0 (git+https://github.com/servo/html5ever)",
|
||||
"phf 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
|
@ -306,19 +311,20 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "html5ever_macros"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/html5ever#e6f8d83de9fffe63a825d95d957ba6bcbc3e1632"
|
||||
source = "git+https://github.com/servo/html5ever#0abe5e30cc03f9e73bfd4fdc018192d149c21fb3"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/hyper?ref=servo#4a2c82c75013f8ee55d2017876319b48d656dcb3"
|
||||
source = "git+https://github.com/servo/hyper?ref=servo#43becc919c24939b8b84fe541b0e0898a4827836"
|
||||
dependencies = [
|
||||
"cookie 0.0.1 (git+https://github.com/servo/cookie-rs)",
|
||||
"cookie 0.1.0 (git+https://github.com/alexcrichton/cookie-rs)",
|
||||
"mime 0.0.1 (git+https://github.com/hyperium/mime.rs)",
|
||||
"openssl 0.0.2 (git+https://github.com/servo/rust-openssl)",
|
||||
"mucell 0.1.2 (git+https://github.com/chris-morgan/mucell)",
|
||||
"openssl 0.2.4 (git+https://github.com/sfackler/rust-openssl)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"unsafe-any 0.1.0 (git+https://github.com/reem/rust-unsafe-any)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"unsafe-any 0.1.1 (git+https://github.com/reem/rust-unsafe-any)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -335,7 +341,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "js"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-mozjs#2d86d6fb7ece49ff2f469c391e15e13f2b02af42"
|
||||
source = "git+https://github.com/servo/rust-mozjs#e01a846241bd98ac424878e3f8d3e9b989c79242"
|
||||
dependencies = [
|
||||
"mozjs-sys 0.0.0 (git+https://github.com/servo/mozjs)",
|
||||
]
|
||||
|
@ -343,12 +349,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "khronos_api"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#c76c23fc9a0dae824b45550d4b823cdb726f242d"
|
||||
source = "git+https://github.com/bjz/gl-rs.git#b5e3f4f76c31bc1b459d5e4c10d879ffa4f67c6e"
|
||||
|
||||
[[package]]
|
||||
name = "layers"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-layers#21798aac4de6bfd800836f419dd5b6a308edcaa4"
|
||||
source = "git+https://github.com/servo/rust-layers#574df7e1c1dd464af930d1cc735ca8d6af46bb90"
|
||||
dependencies = [
|
||||
"cgl 0.0.1 (git+https://github.com/servo/rust-cgl)",
|
||||
"core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)",
|
||||
|
@ -364,8 +370,8 @@ dependencies = [
|
|||
name = "layout"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"gfx 0.0.1",
|
||||
"layout_traits 0.0.1",
|
||||
|
@ -376,7 +382,7 @@ dependencies = [
|
|||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"style 0.0.1",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -394,7 +400,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/Kimundi/lazy-static.rs#62976cb611c5396e11315ae64c9c389576240eb7"
|
||||
source = "git+https://github.com/Kimundi/lazy-static.rs#76f06e4fa7bc8c92f11d1def19bd4ddfd8017cd8"
|
||||
|
||||
[[package]]
|
||||
name = "libressl-pnacl-sys"
|
||||
|
@ -425,10 +431,15 @@ dependencies = [
|
|||
"io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)",
|
||||
"layers 0.1.0 (git+https://github.com/servo/rust-layers)",
|
||||
"style 0.0.1",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mucell"
|
||||
version = "0.1.2"
|
||||
source = "git+https://github.com/chris-morgan/mucell#d198c6605b3e688719db168db0939051c803b1ea"
|
||||
|
||||
[[package]]
|
||||
name = "net"
|
||||
version = "0.0.1"
|
||||
|
@ -438,42 +449,42 @@ dependencies = [
|
|||
"png 0.1.0 (git+https://github.com/servo/rust-png)",
|
||||
"stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/servo/rust-openssl#aed5df1036d6f4b5f7b8be6457d10f8a0379b39f"
|
||||
version = "0.2.4"
|
||||
source = "git+https://github.com/sfackler/rust-openssl#f299e336d06a85438c3ee90aa06235510f3f5dbe"
|
||||
dependencies = [
|
||||
"libressl-pnacl-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"openssl-sys 0.0.2 (git+https://github.com/servo/rust-openssl)",
|
||||
"openssl-sys 0.2.4 (git+https://github.com/sfackler/rust-openssl)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/servo/rust-openssl#aed5df1036d6f4b5f7b8be6457d10f8a0379b39f"
|
||||
version = "0.2.4"
|
||||
source = "git+https://github.com/sfackler/rust-openssl#f299e336d06a85438c3ee90aa06235510f3f5dbe"
|
||||
dependencies = [
|
||||
"libressl-pnacl-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"pkg-config 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "phf"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/sfackler/rust-phf#aa3e2d0aedea4d55c2e4cea1bdf6e89418dc1206"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/sfackler/rust-phf#6a7cc6eb9ec08b103b6b62fa39bdb3229f3cdbe4"
|
||||
dependencies = [
|
||||
"xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)",
|
||||
"xxhash 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "phf_mac"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/sfackler/rust-phf#aa3e2d0aedea4d55c2e4cea1bdf6e89418dc1206"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/sfackler/rust-phf#6a7cc6eb9ec08b103b6b62fa39bdb3229f3cdbe4"
|
||||
dependencies = [
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)",
|
||||
"time 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"xxhash 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -503,19 +514,14 @@ name = "png-sys"
|
|||
version = "1.6.3"
|
||||
source = "git+https://github.com/servo/libpng?ref=servo#d01f32b4eb86904695efe7fc02b574f902e21a98"
|
||||
|
||||
[[package]]
|
||||
name = "rust-xml"
|
||||
version = "0.1.2-pre"
|
||||
source = "git+https://github.com/netvl/rust-xml#2d9df3267aeaa4d442e1e19a4dfed733cb1397ed"
|
||||
|
||||
[[package]]
|
||||
name = "script"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"canvas 0.0.1",
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"devtools_traits 0.0.1",
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"gfx 0.0.1",
|
||||
"html5ever 0.0.0 (git+https://github.com/servo/html5ever)",
|
||||
|
@ -529,9 +535,9 @@ dependencies = [
|
|||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"style 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
"uuid 0.0.2 (git+https://github.com/rust-lang/uuid)",
|
||||
"uuid 0.1.1 (git+https://github.com/rust-lang/uuid)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -542,7 +548,7 @@ dependencies = [
|
|||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"msg 0.0.1",
|
||||
"net 0.0.1",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -557,7 +563,7 @@ dependencies = [
|
|||
"net 0.0.1",
|
||||
"script 0.0.1",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -578,19 +584,19 @@ source = "git+https://github.com/servo/rust-stb-image#97d7e440e80e41a304647363c3
|
|||
[[package]]
|
||||
name = "string_cache"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/string-cache#a18a432fd274e816fc41876536f70e5380abb677"
|
||||
source = "git+https://github.com/servo/string-cache#661c537b85f19ac81dfcd84e28557d480b6b7a9f"
|
||||
dependencies = [
|
||||
"lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)",
|
||||
"phf 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.0 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"phf_mac 0.0.1 (git+https://github.com/sfackler/rust-phf)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"xxhash 0.0.1 (git+https://github.com/Jurily/rust-xxhash)",
|
||||
"xxhash 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "string_cache_macros"
|
||||
version = "0.0.0"
|
||||
source = "git+https://github.com/servo/string-cache#a18a432fd274e816fc41876536f70e5380abb677"
|
||||
source = "git+https://github.com/servo/string-cache#661c537b85f19ac81dfcd84e28557d480b6b7a9f"
|
||||
dependencies = [
|
||||
"lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)",
|
||||
]
|
||||
|
@ -599,15 +605,15 @@ dependencies = [
|
|||
name = "style"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.3 (git+https://github.com/lifthrasiir/rust-encoding)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"encoding 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"lazy_static 0.1.0 (git+https://github.com/Kimundi/lazy-static.rs)",
|
||||
"plugins 0.0.1",
|
||||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"text_writer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"text_writer 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
"util 0.0.1",
|
||||
]
|
||||
|
||||
|
@ -617,7 +623,7 @@ version = "0.0.1"
|
|||
|
||||
[[package]]
|
||||
name = "text_writer"
|
||||
version = "0.1.2"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
|
@ -628,35 +634,44 @@ dependencies = [
|
|||
"gcc 0.0.2 (git+https://github.com/alexcrichton/gcc-rs)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"gcc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unsafe-any"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/reem/rust-unsafe-any#2863af363bbd83079b6773920bba5b736408db33"
|
||||
version = "0.1.1"
|
||||
source = "git+https://github.com/reem/rust-unsafe-any#eb3fe87bea85f375b8fcefa0cdecfd131fae9624"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/rust-url#46458f80e48c542b2f175e36e5b7d30782ca7dc5"
|
||||
version = "0.2.4"
|
||||
source = "git+https://github.com/servo/rust-url#79f8034a8e1815ffa1f49204572ddbf6eb747c75"
|
||||
|
||||
[[package]]
|
||||
name = "util"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"cssparser 0.1.0 (git+https://github.com/servo/rust-cssparser)",
|
||||
"cssparser 0.1.1 (git+https://github.com/servo/rust-cssparser)",
|
||||
"geom 0.1.0 (git+https://github.com/servo/rust-geom)",
|
||||
"layers 0.1.0 (git+https://github.com/servo/rust-layers)",
|
||||
"plugins 0.0.1",
|
||||
"string_cache 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)",
|
||||
"task_info 0.0.1",
|
||||
"text_writer 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"text_writer 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"time 0.1.0 (git+https://github.com/rust-lang/time)",
|
||||
"url 0.1.0 (git+https://github.com/servo/rust-url)",
|
||||
"url 0.2.4 (git+https://github.com/servo/rust-url)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "0.0.2"
|
||||
source = "git+https://github.com/rust-lang/uuid#f5d94d0043a615756edefaf9c6041f11e52b8370"
|
||||
version = "0.1.1"
|
||||
source = "git+https://github.com/rust-lang/uuid#fc793c974a25c126c5cf5daa3b18973512a7a6a0"
|
||||
|
||||
[[package]]
|
||||
name = "xlib"
|
||||
|
@ -664,7 +679,12 @@ version = "0.1.0"
|
|||
source = "git+https://github.com/servo/rust-xlib#58ec3847b592aeabdcfeb6a2d02033d3a2c7f427"
|
||||
|
||||
[[package]]
|
||||
name = "xxhash"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/Jurily/rust-xxhash#64f8d02314735f511cb4272563d0f703d575c159"
|
||||
name = "xml-rs"
|
||||
version = "0.1.3"
|
||||
source = "git+https://github.com/netvl/xml-rs#1a812d3ba720afd768bd75d29a5b5f10ddcdfbeb"
|
||||
|
||||
[[package]]
|
||||
name = "xxhash"
|
||||
version = "0.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue