diff options
167 files changed, 25694 insertions, 9328 deletions
diff --git a/Cargo.lock b/Cargo.lock index 98e41e8712e..f7b8ccccbcd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,11 +2,11 @@ name = "webvr_traits" version = "0.0.1" dependencies = [ - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", - "rust-webvr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "rust-webvr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -53,13 +53,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "app_units" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -96,23 +96,19 @@ dependencies = [ [[package]] name = "azure" -version = "0.11.0" -source = "git+https://github.com/servo/rust-azure#5cdfed2682af67998ebfa91cbfb6fcfc0778bd82" +version = "0.14.0" +source = "git+https://github.com/servo/rust-azure#07a57c4b32cd111cbc4ee1ff80a98a3f3ec3fbec" dependencies = [ "cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-text 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-text 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-skia 0.30000001.0 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-skia 0.30000003.0 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -121,7 +117,7 @@ name = "backtrace" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -132,7 +128,7 @@ dependencies = [ [[package]] name = "backtrace-sys" -version = "0.1.8" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)", @@ -141,25 +137,24 @@ dependencies = [ [[package]] name = "bincode" -version = "0.6.1" +version = "1.0.0-alpha2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bindgen" -version = "0.21.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aster 0.38.0 (registry+https://github.com/rust-lang/crates.io-index)", "cexpr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "clang-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", - "clap 2.20.3 (registry+https://github.com/rust-lang/crates.io-index)", + "clang-sys 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "clap 2.20.4 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -185,11 +180,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitflags" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitflags" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -205,20 +195,20 @@ dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "bluetooth_traits 0.0.1", "device 0.0.1 (git+https://github.com/servo/devices)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "servo_rand 0.0.1", "tinyfiledialogs 2.5.9 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bluetooth_traits" version = "0.0.1" dependencies = [ - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", ] @@ -283,33 +273,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "canvas" version = "0.0.1" dependencies = [ - "azure 0.11.0 (git+https://github.com/servo/rust-azure)", + "azure 0.14.0 (git+https://github.com/servo/rust-azure)", "canvas_traits 0.0.1", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "servo_config 0.0.1", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] name = "canvas_traits" version = "0.0.1" dependencies = [ - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -345,19 +335,19 @@ dependencies = [ [[package]] name = "clang-sys" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "libloading 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libloading 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "clap" -version = "2.20.3" +version = "2.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -393,12 +383,12 @@ dependencies = [ [[package]] name = "cocoa" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -428,11 +418,11 @@ dependencies = [ name = "compositing" version = "0.0.1" dependencies = [ - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (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", "net_traits 0.0.1", @@ -444,8 +434,8 @@ dependencies = [ "servo_url 0.0.1", "style_traits 0.0.1", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender 0.15.0 (git+https://github.com/servo/webrender)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender 0.17.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -459,37 +449,37 @@ dependencies = [ "compositing 0.0.1", "debugger 0.0.1", "devtools_traits 0.0.1", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gfx_traits 0.0.1", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "layout_traits 0.0.1", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", "script_traits 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "servo_rand 0.0.1", "servo_remutex 0.0.1", "servo_url 0.0.1", "style_traits 0.0.1", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "webvr_traits 0.0.1", ] [[package]] name = "content-blocker" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -523,33 +513,33 @@ dependencies = [ [[package]] name = "core-graphics" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core-text" -version = "3.0.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cssparser" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -584,7 +574,7 @@ name = "debugger" version = "0.0.1" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ws 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "ws 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -628,15 +618,15 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (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", "plugins 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -647,12 +637,12 @@ dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_url 0.0.1", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -667,7 +657,7 @@ dependencies = [ [[package]] name = "dtoa" -version = "0.2.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -680,27 +670,13 @@ dependencies = [ ] [[package]] -name = "dwrote" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_codegen 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] name = "embedding" version = "0.0.1" dependencies = [ - "cocoa 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cocoa 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", "devtools 0.0.1", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "glutin_app 0.0.1", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -715,7 +691,7 @@ dependencies = [ "servo_geometry 0.0.1", "servo_url 0.0.1", "style_traits 0.0.1", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -842,14 +818,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "euclid" -version = "0.10.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -900,12 +876,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "debug_unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gamma-lut" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -939,11 +915,11 @@ dependencies = [ name = "geckoservo" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -965,14 +941,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "gfx" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-text 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "dwrote 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-text 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "fontsan 0.3.2 (git+https://github.com/servo/fontsan)", "freetype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -980,7 +955,7 @@ dependencies = [ "harfbuzz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -989,8 +964,9 @@ dependencies = [ "ordered-float 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "range 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-dwrote 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo_atoms 0.0.1", "servo_geometry 0.0.1", @@ -1000,9 +976,9 @@ dependencies = [ "style 0.0.1", "style_traits 0.0.1", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "truetype 0.24.0 (registry+https://github.com/rust-lang/crates.io-index)", + "truetype 0.26.0 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1011,7 +987,7 @@ name = "gfx_tests" version = "0.0.1" dependencies = [ "gfx 0.0.1", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "style 0.0.1", ] @@ -1023,8 +999,8 @@ dependencies = [ "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "range 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1066,7 +1042,7 @@ version = "0.0.1" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1076,13 +1052,13 @@ dependencies = [ "osmesa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-glutin 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-glutin 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "servo_geometry 0.0.1", "servo_url 0.0.1", "style_traits 0.0.1", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1127,16 +1103,16 @@ dependencies = [ [[package]] name = "heartbeats-simple" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "heartbeats-simple-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "heartbeats-simple-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "heartbeats-simple-sys" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1154,14 +1130,14 @@ dependencies = [ [[package]] name = "html5ever" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1172,12 +1148,12 @@ dependencies = [ [[package]] name = "html5ever-atoms" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1188,7 +1164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hyper" -version = "0.9.14" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1210,13 +1186,13 @@ dependencies = [ [[package]] name = "hyper_serde" -version = "0.1.6" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", "mime 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1225,7 +1201,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-bidi 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1275,20 +1251,22 @@ dependencies = [ [[package]] name = "ipc-channel" -version = "0.5.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bincode 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.0.0-alpha2 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "itoa" -version = "0.1.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1346,18 +1324,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "layout" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (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", @@ -1371,18 +1349,18 @@ dependencies = [ "script_layout_interface 0.0.1", "script_traits 0.0.1", "selectors 0.18.0", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "servo_geometry 0.0.1", "servo_url 0.0.1", "smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "style 0.0.1", "style_traits 0.0.1", - "unicode-bidi 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1396,13 +1374,13 @@ dependencies = [ name = "layout_thread" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "layout 0.0.1", "layout_traits 0.0.1", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1417,13 +1395,13 @@ dependencies = [ "script_layout_interface 0.0.1", "script_traits 0.0.1", "selectors 0.18.0", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "servo_geometry 0.0.1", "servo_url 0.0.1", "style 0.0.1", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1431,13 +1409,13 @@ name = "layout_traits" version = "0.0.1" dependencies = [ "gfx 0.0.1", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", "profile_traits 0.0.1", "script_traits 0.0.1", "servo_url 0.0.1", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1446,6 +1424,11 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "lazycell" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] name = "leak" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1465,12 +1448,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libloading" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "target_build_utils 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "target_build_utils 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1496,11 +1479,11 @@ dependencies = [ "devtools 0.0.1", "devtools_traits 0.0.1", "env_logger 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gaol 0.0.1 (git+https://github.com/servo/gaol)", "gfx 0.0.1", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "layout_thread 0.0.1", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", @@ -1516,8 +1499,8 @@ dependencies = [ "servo_url 0.0.1", "style 0.0.1", "webdriver_server 0.0.1", - "webrender 0.15.0 (git+https://github.com/servo/webrender)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender 0.17.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "webvr 0.0.1", "webvr_traits 0.0.1", ] @@ -1544,7 +1527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mac" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1584,7 +1567,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1609,23 +1591,22 @@ dependencies = [ [[package]] name = "mio" -version = "0.5.1" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "miow 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "miow 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)", - "nix 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "miow" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1661,13 +1642,13 @@ name = "msg" version = "0.0.1" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] @@ -1675,14 +1656,14 @@ name = "net" version = "0.0.1" dependencies = [ "brotli 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", - "content-blocker 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "content-blocker 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", "flate2 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "immeta 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1702,8 +1683,8 @@ dependencies = [ "tinyfiledialogs 2.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1723,13 +1704,13 @@ dependencies = [ name = "net_tests" version = "0.0.1" dependencies = [ - "content-blocker 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "content-blocker 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", "flate2 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "net_traits 0.0.1", @@ -1749,21 +1730,21 @@ dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (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", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "servo_url 0.0.1", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1775,15 +1756,6 @@ dependencies = [ ] [[package]] -name = "nix" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] name = "nodrop" version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1854,12 +1826,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "offscreen_gl_context" -version = "0.5.5" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1867,7 +1839,7 @@ dependencies = [ "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "osmesa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2038,8 +2010,8 @@ version = "0.0.1" dependencies = [ "compiletest_helper 0.0.1", "deny_public_fields 0.0.1", - "plugins 0.0.1", "script 0.0.1", + "script_plugins 0.0.1", ] [[package]] @@ -2072,16 +2044,16 @@ dependencies = [ name = "profile" version = "0.0.1" dependencies = [ - "heartbeats-simple 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "heartbeats-simple 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "task_info 0.0.1", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2091,7 +2063,7 @@ dependencies = [ name = "profile_tests" version = "0.0.1" dependencies = [ - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "profile 0.0.1", "profile_traits 0.0.1", ] @@ -2102,11 +2074,11 @@ version = "0.0.1" dependencies = [ "energy-monitor 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "energymon 0.3.0 (git+https://github.com/energymon/energymon-rust.git)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_config 0.0.1", "signpost 0.1.0 (git+https://github.com/pcwalton/signpost.git)", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2157,8 +2129,8 @@ dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2206,13 +2178,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rust-webvr" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libloading 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libloading 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2253,7 +2225,7 @@ name = "script" version = "0.0.1" dependencies = [ "angle 0.1.2 (git+https://github.com/servo/angle?branch=servo)", - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "audio-video-metadata 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2263,22 +2235,22 @@ dependencies = [ "caseless 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "deny_public_fields 0.0.1", "devtools_traits 0.0.1", "domobject_derive 0.0.1", "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "js 0.1.4 (git+https://github.com/servo/rust-mozjs)", "jstraceable_derive 0.0.1", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2288,7 +2260,7 @@ dependencies = [ "msg 0.0.1", "net_traits 0.0.1", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "open 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2302,10 +2274,11 @@ dependencies = [ "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "script_layout_interface 0.0.1", + "script_plugins 0.0.1", "script_traits 0.0.1", "selectors 0.18.0", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", "servo_atoms 0.0.1", "servo_config 0.0.1", "servo_geometry 0.0.1", @@ -2317,28 +2290,28 @@ dependencies = [ "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", "tinyfiledialogs 2.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)", "webvr 0.0.1", "webvr_traits 0.0.1", - "xml5ever 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "xml5ever 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "script_layout_interface" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (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", @@ -2353,10 +2326,14 @@ dependencies = [ ] [[package]] +name = "script_plugins" +version = "0.0.1" + +[[package]] name = "script_tests" version = "0.0.1" dependencies = [ - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", "script 0.0.1", @@ -2367,27 +2344,27 @@ dependencies = [ name = "script_traits" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "bluetooth_traits 0.0.1", "canvas_traits 0.0.1", "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "devtools_traits 0.0.1", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_url 0.0.1", "style_traits 0.0.1", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2400,7 +2377,7 @@ name = "selectors" version = "0.18.0" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2420,12 +2397,12 @@ dependencies = [ [[package]] name = "serde" -version = "0.8.20" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde_codegen" -version = "0.8.23" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2444,29 +2421,38 @@ dependencies = [ ] [[package]] +name = "serde_codegen_internals" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "syn 0.11.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "serde_derive" -version = "0.8.23" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde_codegen 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_codegen_internals 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.11.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "0.8.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "servo" version = "0.0.1" dependencies = [ - "android_glue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "android_injected_glue 0.2.1 (git+https://github.com/mmatyas/android-rs-injected-glue)", "backtrace 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "browserhtml 0.1.17 (git+https://github.com/browserhtml/browserhtml?branch=crate)", @@ -2474,7 +2460,6 @@ dependencies = [ "gfx_tests 0.0.1", "glutin_app 0.0.1", "layout_tests 0.0.1", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "libservo 0.0.1", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "net_tests 0.0.1", @@ -2489,6 +2474,20 @@ dependencies = [ ] [[package]] +name = "servo-dwrote" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_codegen 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "servo-egl" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2526,14 +2525,14 @@ dependencies = [ [[package]] name = "servo-glutin" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "android_glue 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "cocoa 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cocoa 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "dwmapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2552,12 +2551,12 @@ dependencies = [ [[package]] name = "servo-skia" -version = "0.30000001.0" +version = "0.30000003.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2566,7 +2565,7 @@ dependencies = [ "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig-sys 4.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-glutin 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-glutin 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2574,7 +2573,7 @@ dependencies = [ name = "servo_atoms" version = "0.0.1" dependencies = [ - "string_cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2583,15 +2582,15 @@ name = "servo_config" version = "0.0.1" dependencies = [ "env_logger 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_geometry 0.0.1", "servo_url 0.0.1", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2609,8 +2608,8 @@ dependencies = [ name = "servo_geometry" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2644,9 +2643,9 @@ version = "0.0.1" dependencies = [ "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "url_serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2694,7 +2693,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "slab" -version = "0.1.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2713,14 +2712,14 @@ dependencies = [ [[package]] name = "string_cache" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "debug_unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2748,18 +2747,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "style" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bindgen 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bindgen 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2778,8 +2777,8 @@ dependencies = [ "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.18.0", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", "servo_atoms 0.0.1", "servo_config 0.0.1", "servo_url 0.0.1", @@ -2794,10 +2793,10 @@ dependencies = [ name = "style_tests" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "owning_ref 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2815,25 +2814,25 @@ dependencies = [ name = "style_traits" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "stylo_tests" version = "0.0.1" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "geckoservo 0.0.1", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2856,6 +2855,15 @@ dependencies = [ ] [[package]] +name = "syn" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "quote 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "synstructure" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2911,12 +2919,12 @@ dependencies = [ [[package]] name = "target_build_utils" -version = "0.1.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2941,7 +2949,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", "futf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "utf-8 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3028,7 +3036,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "truetype" -version = "0.24.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -3046,7 +3054,7 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3098,7 +3106,15 @@ dependencies = [ "idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "url_serde" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3125,11 +3141,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "uuid" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3159,7 +3175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3171,10 +3187,10 @@ name = "webdriver_server" version = "0.0.1" dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", "image 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (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", "net_traits 0.0.1", @@ -3185,54 +3201,54 @@ dependencies = [ "servo_config 0.0.1", "servo_url 0.0.1", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "webdriver 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "webrender" -version = "0.15.0" -source = "git+https://github.com/servo/webrender#938b32ca93bf5e878422ac4bafcdd53f8058f880" +version = "0.17.0" +source = "git+https://github.com/servo/webrender#bcd9ed5e74d657b3c9b6d62996e84c1a3ee7141b" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.0.0-alpha2 (registry+https://github.com/rust-lang/crates.io-index)", "bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-text 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "dwrote 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "core-text 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gamma-lut 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "gamma-lut 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-dwrote 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "thread_profiler 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "threadpool 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", ] [[package]] name = "webrender_traits" -version = "0.14.0" -source = "git+https://github.com/servo/webrender#938b32ca93bf5e878422ac4bafcdd53f8058f880" +version = "0.16.0" +source = "git+https://github.com/servo/webrender#bcd9ed5e74d657b3c9b6d62996e84c1a3ee7141b" dependencies = [ - "app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "dwrote 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-dwrote 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3242,7 +3258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3255,12 +3271,12 @@ dependencies = [ name = "webvr" version = "0.0.1" dependencies = [ - "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ipc-channel 0.7.0 (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", "script_traits 0.0.1", "servo_config 0.0.1", - "webrender_traits 0.14.0 (git+https://github.com/servo/webrender)", + "webrender_traits 0.16.0 (git+https://github.com/servo/webrender)", "webvr_traits 0.0.1", ] @@ -3276,14 +3292,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "ws" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "httparse 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "mio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mio 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3335,12 +3353,12 @@ dependencies = [ [[package]] name = "xml5ever" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3356,19 +3374,18 @@ dependencies = [ "checksum android_injected_glue 0.2.1 (git+https://github.com/mmatyas/android-rs-injected-glue)" = "<none>" "checksum angle 0.1.2 (git+https://github.com/servo/angle?branch=servo)" = "<none>" "checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6" -"checksum app_units 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee1c5121e7d126275a909d7de53456ba9adae2f4b2f40b8b395cac4502c2602" +"checksum app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a0c3b5be4ed53affe3e1a162b2e7ef9979bcaac80daa9026e9d7988c41e0e83" "checksum arrayvec 0.3.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d89f1b0e242270b5b797778af0c8d182a1a2ccac5d8d6fadf414223cc0fab096" "checksum aster 0.38.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2c9b49e42a449c0b79d8acb91db37621de0978064dca7d3288ddcf030123e5b3" "checksum atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fb2dcb6e6d35f20276943cc04bb98e538b348d525a04ac79c10021561d202f21" "checksum audio-video-metadata 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "03da2550cb89fe3faf218c179261c26cf7891c4234707c15f5d09ebb32ae2400" -"checksum azure 0.11.0 (git+https://github.com/servo/rust-azure)" = "<none>" +"checksum azure 0.14.0 (git+https://github.com/servo/rust-azure)" = "<none>" "checksum backtrace 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f551bc2ddd53aea015d453ef0b635af89444afa5ed2405dd0b2062ad5d600d80" -"checksum backtrace-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "222dcb05eb5e2cdb6780af3576397d258aa82160e8be44141c9248c8e4b3d310" -"checksum bincode 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "55eb0b7fd108527b0c77860f75eca70214e11a8b4c6ef05148c54c05a25d48ad" -"checksum bindgen 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cba697ecbf51e4a1d1d84c6dee5339d22a5f9f5e04694e53e873ea26257a73f2" +"checksum backtrace-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d192fd129132fbc97497c1f2ec2c2c5174e376b95f535199ef4fe0a293d33842" +"checksum bincode 1.0.0-alpha2 (registry+https://github.com/rust-lang/crates.io-index)" = "62650bb5651ba8f0580cebf4ef255d791b8b0ef53800322661e1bb5791d42966" +"checksum bindgen 0.22.0 (registry+https://github.com/rust-lang/crates.io-index)" = "facc480c409c373db3c870e377ce223e5e07d979efc2604691dc6f583e8ded0f" "checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c" "checksum bit-vec 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5b97c2c8e8bbb4251754f559df8af22fb264853c7d009084a576cdf12565089d" -"checksum bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3" "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" "checksum block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" "checksum blurdroid 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4a86fbb3818e7f850410e026bfac7742fe86cbf4acf49f5752936b32d1f7eb8" @@ -3383,29 +3400,28 @@ dependencies = [ "checksum cexpr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393a5f0088efbe41f9d1fcd062f24e83c278608420e62109feb2c8abee07de7d" "checksum cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c" "checksum cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8bdd78cca65a739cb5475dbf6b6bbb49373e327f4a6f2b499c0f98632df38c10" -"checksum clang-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "822ea22bbbef9f5934e9477860545fb0311a1759e43a276de42e2856c605aa2b" -"checksum clap 2.20.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f89819450aa94325998aa83ce7ea142db11ad24c725d6bc48459845e0d6d9f18" +"checksum clang-sys 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f98f0715ff67f27ca6a2f8f0ffc2a56f8edbc7acd57489c29eadc3a15c4eafe" +"checksum clap 2.20.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a60af5cb867dd4ee2378398acde80c73b466b58a963f598061ce7e394800998d" "checksum clippy_lints 0.0.112 (registry+https://github.com/rust-lang/crates.io-index)" = "51461bf5f0862158b3239e55af263d5fe67620ccbb824f87c9ed0f7cd1ce1184" "checksum cmake 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "a3a6805df695087e7c1bcd9a82e03ad6fb864c8e67ac41b1348229ce5b7f0407" -"checksum cocoa 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8afbd6c6e37c1339655701a2a17a86188916a775d1e89fb329737600a1747f98" +"checksum cocoa 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d55b620aff4da7d4b9d85f2974cc62a097146623b75e3f36734fe68d8cef493e" "checksum color_quant 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a475fc4af42d83d28adf72968d9bcfaf035a1a9381642d8e85d8a04957767b0d" "checksum compiletest_rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f3f344389765ad7bec166f64c1b39ed6dd2b54d81c4c5dd8af789169351d380c" -"checksum content-blocker 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5893d533bce3cea1f59dd239ae577d4f88e4eccb4bed3b1d9cd51a33b187f7f6" +"checksum content-blocker 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "44dfb2f06e219a5bdec05c5811dde4d893c34c49ffed384c9d0a2e9caca9c154" "checksum cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0e3d6405328b6edb412158b3b7710e2634e23f3614b9bb1c412df7952489a626" "checksum core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f51ce3b8ebe311c56de14231eb57572c15abebd2d32b3bcb99bcdb9c101f5ac3" "checksum core-foundation-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "41115a6aa5d3e1e5ef98148373f25971d1fad53818553f216495f9e67e90a624" -"checksum core-graphics 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b205856aba54bfd36e69a1058f45fbe0d3c37be7375309dcff4a22a2a631fea" -"checksum core-text 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9703f459a41e622b15ca612dbc5fa4b30b6545a32864a83e0fdc538cfa08969c" -"checksum cssparser 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e99bbf5004f7a9cbba7cac7b83320b88eea4008f227c842d4ff2de4b99147352" +"checksum core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ead017dcf77f503dc991f6b52de6084eeea60a94b0a652baa9bf88654a28e83f" +"checksum core-text 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e9719616a10f717628e074744f8c55df7b450f7a34d29c196d14f4498aad05d" +"checksum cssparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "693cc9c8d3d0779ff60ff6b8b73497bda2c7151b6489c3a9c1f95f5d4f4497e5" "checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" "checksum dbus 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "94d266a872aaf68b50d02083c429a3686935ab6ab54824290509cdc422673eaf" "checksum debug_unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9a032eac705ca39214d169f83e3d3da290af06d8d1d344d1baad2fd002dca4b3" "checksum deflate 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24c5f3de3a8e183ab9a169654b652407e5e80bed40986bcca92c2b088b9bfa80" "checksum deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1614659040e711785ed8ea24219140654da1729f3ec8a47a9719d041112fe7bf" "checksum device 0.0.1 (git+https://github.com/servo/devices)" = "<none>" -"checksum dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0dd841b58510c9618291ffa448da2e4e0f699d984d436122372f446dae62263d" +"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90" "checksum dwmapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07c4c7cc7b396419bc0a4d90371d0cee16cb5053b53647d287c0b728000c41fe" -"checksum dwrote 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "5998238340a4625b5e1cf52341bd330c5ad91a39a41527ed8af20f95a258a96c" "checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" "checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" "checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" @@ -3421,14 +3437,14 @@ dependencies = [ "checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180" "checksum env_logger 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "99971fb1b635fe7a0ee3c4d065845bb93cca80a23b5613b5613391ece5de4144" "checksum error-chain 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "318cb3c71ee4cdea69fdc9e15c173b245ed6063e1709029e8fd32525a881120f" -"checksum euclid 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f93a556290e09f379cbfaa4f75ac52a72a3d2deb7d04076f312cdb2e6acba28e" +"checksum euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34559b159306de36203986eff799f83ef2bfb301a29fad333883f1a74a4cc6b0" "checksum expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cef36cd1a8a02d28b91d97347c63247b9e4cb8a8e36df36f8201dc87a1c0859c" "checksum flate2 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "d4e4d0c15ef829cbc1b7cda651746be19cceeb238be7b1049227b14891df9e25" "checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" "checksum fontsan 0.3.2 (git+https://github.com/servo/fontsan)" = "<none>" "checksum freetype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fde23272c687e4570aefec06cb71174ec0f5284b725deac4e77ba2665d635faf" "checksum futf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "51f93f3de6ba1794dcd5810b3546d004600a59a98266487c8407bc4b24e398f3" -"checksum gamma-lut 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca6b9023d24a7faff85abfa82fabd382f7ecbbde95af5143f1c215fd94e91cd" +"checksum gamma-lut 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8728df930776135895cbb25cbdd17791cde7d4285d53cf58fe6ee2e6412455" "checksum gaol 0.0.1 (git+https://github.com/servo/gaol)" = "<none>" "checksum gcc 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)" = "c07c758b972368e703a562686adb39125707cc1ef3399da8c019fc6c2498a75d" "checksum gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0912515a8ff24ba900422ecda800b52f4016a56251922d397c576bf92c690518" @@ -3441,36 +3457,37 @@ dependencies = [ "checksum harfbuzz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6b76113246f5c089dcf272cf89c3f61168a4d77b50ec5b2c1fab8c628c9ea762" "checksum heapsize 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5a376f7402b85be6e0ba504243ecbc0709c48019ecc6286d0540c2e359050c88" "checksum heapsize_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b6876925b6c3de6f9073f016f425de0076ab68cf30522107fa586ae6524abfe" -"checksum heartbeats-simple 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "78c0810722eacd0bdd3f1f691524bd9900bf8fed1947f6b883c10ddecd2560b1" -"checksum heartbeats-simple-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53c4b67617665d7f4172f381f9843c1bec6a4fccc9a9226529e5b1be40dc1301" +"checksum heartbeats-simple 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9ad003ce233955e9d95f2c69cde84e68302ba9ba4a673d351c9bff93c738aadc" +"checksum heartbeats-simple-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e1a408c0011427cc0e0049f7861c70377819aedfc006e8c901b1c70fd98fb1a4" "checksum hpack 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d2da7d3a34cf6406d9d700111b8eafafe9a251de41ae71d8052748259343b58" -"checksum html5ever 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a358fef34c3334e92cd34d83ce870a386334e605e7abe987a69a7078a4142c69" -"checksum html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4109e35fec157307b918eb9d5b7018e2fa771aea0c04831e22003ac4722fbd1b" +"checksum html5ever 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "43c1b50a0c2b4f697c025699ae33b2b4072fff5b6cbd7c184e25eea2beccb3ef" +"checksum html5ever-atoms 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f9bd86e3b6a5a7933a272cc0a854f24e371f31576e585c0b41e8f857270c5134" "checksum httparse 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a6e7a63e511f9edffbab707141fbb8707d1a3098615fb2adbd5769cdfcc9b17d" -"checksum hyper 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)" = "bcb3fc65554155980167fb821d05c7c66177f92464976c0b676a19d9e03387a7" -"checksum hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "572d2168173019de312a050a24f2ad33ac2ac7895a2139fbf21ee6b6f470a24e" +"checksum hyper 0.9.18 (registry+https://github.com/rust-lang/crates.io-index)" = "1b9bf64f730d6ee4b0528a5f0a316363da9d8104318731509d4ccc86248f82b3" +"checksum hyper_serde 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "19065fedb73b4d5c617482cedfb3cfb092fc379870a7e3aadd16fd491838129a" "checksum idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1053236e00ce4f668aeca4a769a09b3bf5a682d802abd6f3cb39374f6b162c11" "checksum image 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "979bad0502082fd60053a490282e87d6c89650942e3a270e0d4c83569c7f5899" "checksum immeta 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3e76ecb1d64979a91c7fc5b7c0495ef1467e3cbff759044f2b88878a5a845ef7" "checksum inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e7e0062d2dc2f17d2f13750d95316ae8a2ff909af0fda957084f5defd87c43bb" "checksum io-surface 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "10d25285115b9d34be1328fdc5af15d34174472a9f23d1994d2d14a7ec8c537a" -"checksum ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "675587430ede6756dd03fdfdf9888f22f83855fd131c8451d842a710b059e571" -"checksum itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae3088ea4baeceb0284ee9eea42f591226e6beaecf65373e41b38d95a1b8e7a1" +"checksum ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dc12beb3f43e226410d7f26a77aec73efbf0c11875a8131adc09f30a8219f22e" +"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c" "checksum jpeg-decoder 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "5c4ff3d14e7ef3522471ab712832c3dd50001f7fb7aa4cdc48af811d63b531e9" "checksum js 0.1.4 (git+https://github.com/servo/rust-mozjs)" = "<none>" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "09c9d3760673c427d46f91a0350f0a84a52e6bc5a84adf26dc610b6c52436630" "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" "checksum lazy_static 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6abe0ee2e758cd6bc8a2cd56726359007748fbf4128da998b65d0b70f881e19b" +"checksum lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce12306c4739d86ee97c23139f3a34ddf0387bbf181bc7929d287025a8c3ef6b" "checksum leak 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bd100e01f1154f2908dfa7d02219aeab25d0b9c7fa955164192e3245255a0c73" "checksum leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40a8225d44241fd324a8af2806ba635fc7c8a7e9a7de4d5cf3ef54e71f5926fc" "checksum libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "684f330624d8c3784fb9558ca46c4ce488073a8d22450415c5eb4f4cfb0d11b5" -"checksum libloading 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "84816a8c6ed8163dfe0dbdd2b09d35c6723270ea77a4c7afa4bedf038a36cb99" +"checksum libloading 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fd1835a714c1f67ba073a493493c23686a480e2614e208c921834808b1f19d8f" "checksum libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "cbc058951ab6a3ef35ca16462d7642c4867e6403520811f28537a4e2f2db3e71" "checksum libz-sys 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e5ee912a45d686d393d5ac87fac15ba0ba18daae14e8e7543c63ebf7fb7e970c" "checksum log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ab83497bf8bf4ed2a74259c1c802351fcd67a65baa86394b6ba73c36f4838054" "checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" -"checksum mac 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1c0277230392980e54a65b765117d299b40b529068ece39b12adde0f95c6da0" +"checksum mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" "checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" "checksum matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efd7622e3022e1a6eaa602c4cea8912254e5582c9c692e9167714182244801b1" "checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" @@ -3478,13 +3495,12 @@ dependencies = [ "checksum mime 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b5c93a4bd787ddc6e7833c519b73a50883deb5863d76d9b71eb8216fb7f94e66" "checksum mime_guess 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76da6df85047af8c0edfa53f48eb1073012ce1cc95c8fedc0a374f659a89dd65" "checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" -"checksum mio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a637d1ca14eacae06296a008fa7ad955347e34efcb5891cfd8ba05491a37907e" -"checksum miow 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3e690c5df6b2f60acd45d56378981e827ff8295562fc8d34f573deb267a59cd1" +"checksum mio 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "eecdbdd49a849336e77b453f021c89972a2cfb5b51931a0026ae0ac4602de681" +"checksum miow 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3a78d2605eb97302c10cf944b8d96b0a2a890c52957caf92fcd1f24f69049579" "checksum mozjs_sys 0.0.0 (git+https://github.com/servo/mozjs)" = "<none>" "checksum mp3-metadata 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2f61cf32f7fc3cec83a15a255ac60bceb6cac59a7ce190cb824ca25c0fce0feb" "checksum mp4parse 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e1736d06703a9cb5228b5a8151acc79bf5ba7669a810243852bcad4d3a25504" "checksum net2 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)" = "5edf9cb6be97212423aed9413dd4729d62b370b5e1c571750e882cebbbc1e3e2" -"checksum nix 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bfb3ddedaa14746434a02041940495bf11325c22f6d36125d3bdd56090d50a79" "checksum nodrop 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0dbbadd3f4c98dea0bd3d9b4be4c0cdaf1ab57035cb2e41fce3983db5add7cc5" "checksum nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce" "checksum num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "fb24d9bfb3f222010df27995441ded1e954f8f69cd35021f6bef02ca9552fb92" @@ -3494,7 +3510,7 @@ dependencies = [ "checksum num_cpus 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a225d1e2717567599c24f88e49f00856c6e825a12125181ee42c4257e3688d39" "checksum objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "877f30f37acef6749b1841cceab289707f211aecfc756553cd63976190e6cc2e" "checksum odds 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "c3df9b730298cea3a1c3faa90b7e2f9df3a9c400d0936d6015e6165734eefcba" -"checksum offscreen_gl_context 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "171f74d51d4c94dae19d13c502dbf09afab328a5517f8bfeee2f2a33ced3bca9" +"checksum offscreen_gl_context 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b33309fc17d50be59b466fe26a337023f297e8c9e9032ca0ccfdcdf3c0c627d0" "checksum ogg 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "426d8dc59cdd206be1925461087350385c0a02f291d87625829c6d08e72b457b" "checksum ogg_metadata 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e755cc735fa6faa709cb23048433d9201d6caa85fa96215386ccdd5e9b40ad01" "checksum open 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3478ed1686bd1300c8a981a940abc92b06fac9cbef747f4c668d4e032ff7b842" @@ -3527,7 +3543,7 @@ dependencies = [ "checksum ref_slice 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "825740057197b7d43025e7faf6477eaabc03434e153233da02d1f44602f71527" "checksum regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01" "checksum regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457" -"checksum rust-webvr 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0f1c2770eade344950b6959fb7f4c658200a252a61f265b3487383b82fafe61e" +"checksum rust-webvr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ae0560bf176cd49f08d3df2784f9bfe74df6f6346b71b98ca3358160316e271" "checksum rustc-demangle 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1430d286cadb237c17c885e25447c982c97113926bb579f4379c0eca8d9586dc" "checksum rustc-serialize 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "237546c689f20bb44980270c73c3b9edd0891c1be49cc1274406134a66d3957b" "checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084" @@ -3535,17 +3551,19 @@ dependencies = [ "checksum scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef399c8893e8cb7aa9696e895427fab3a6bf265977bb96e126f24ddd2cda85a" "checksum semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac" "checksum semver 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2d5b7638a1f03815d94e88cb3b3c08e87f0db4d683ef499d1836aaf70a45623f" -"checksum serde 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)" = "793aa8d4a777e46a68bbf88998cd957e638427ba5bfb0de22c92ff277b65bd21" -"checksum serde_codegen 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c5d8a33087d8984f9535daa62a6498a08f6476050b00ab9339dd847e4c25cc" +"checksum serde 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1e0ed773960f90a78567fcfbe935284adf50c5d7cf119aa2cf43bb0b4afa69bb" +"checksum serde_codegen 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1f94de585a73dfc312ca77194209278a587bf90d3edc6c2d0fc479b0ed71d1f0" "checksum serde_codegen_internals 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "afad7924a009f859f380e4a2e3a509a845c2ac66435fcead74a4d983b21ae806" -"checksum serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "ce44e5f4264b39e9d29c875357b7cc3ebdfb967bb9e22bfb5e44ffa400af5306" -"checksum serde_json 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3f7d3c184d35801fb8b32b46a7d58d57dbcc150b0eb2b46a1eb79645e8ecfd5b" +"checksum serde_codegen_internals 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3172bf2940b975c0e4f6ab42a511c0a4407d4f46ccef87a9d3615db5c26fa96" +"checksum serde_derive 0.9.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6af30425c5161deb200aac4803c62b903eb3be7e889c5823d0e16c4ce0ce989c" +"checksum serde_json 0.9.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e095e4e94e7382b76f48e93bd845ffddda62df8dfd4c163b1bfa93d40e22e13a" +"checksum servo-dwrote 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9f013da79c3fb2a9653534b064cd2ca62e10f8b6d19ed8fdc885cb2873412789" "checksum servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21069a884c33fe6ee596975e1f3849ed88c4ec857fbaf11d33672d8ebe051217" "checksum servo-fontconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93f799b649b4a2bf362398910eca35240704c7e765e780349b2bb1070d892262" "checksum servo-fontconfig-sys 4.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a0af4a4d7746467921486e5c5420f815cc016a6bf5574210d8e9c00f4afae224" "checksum servo-freetype-sys 4.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9232032c2e85118c0282c6562c84cab12316e655491ba0a5d1905b2320060d1b" -"checksum servo-glutin 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4be44fce7796e15831378ebb9d1e4689a2deb2516e0bb61ba8a608a9260a1d5f" -"checksum servo-skia 0.30000001.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c25888c50f685ec8c2f7eb9dc8b34a515e2e50677cf090979d5c27531aed5327" +"checksum servo-glutin 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b682e1eef598db6048b64face7ea79fd55fe70d171cb92d2a44a89db7bdf34" +"checksum servo-skia 0.30000003.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e7107296909e71f69a7e8b95becf3efe3e1838e556430b3efc9dc91aea65ddf2" "checksum sha1 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc30b1e1e8c40c121ca33b86c23308a090d19974ef001b4bf6e61fd1a0fb095c" "checksum shared_library 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fb04126b6fcfd2710fb5b6d18f4207b6c535f2850a7e1a43bcd526d44f30a79a" "checksum shell32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72f20b8f3c060374edb8046591ba28f62448c369ccbdc7b02075103fb3a9e38d" @@ -3553,20 +3571,21 @@ dependencies = [ "checksum signpost 0.1.0 (git+https://github.com/pcwalton/signpost.git)" = "<none>" "checksum simd 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a94d14a2ae1f1f110937de5fb69e494372560181c7e1739a097fcc2cee37ba0" "checksum siphasher 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2ffc669b726f2bc9a3bcff66e5e23b56ba6bf70e22a34c3d7b6d0b3450b65b84" -"checksum slab 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d807fd58c4181bbabed77cb3b891ba9748241a552bcc5be698faaebefc54f46e" +"checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" "checksum smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fcc8d19212aacecf95e4a7a2179b26f7aeb9732a915cf01f05b0d3e044865410" "checksum solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "172382bac9424588d7840732b250faeeef88942e37b6e35317dce98cafdd75b2" -"checksum string_cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d192db2123fac37399e1ca61557904a5c3fb6fc24c73d2e47b15d20dc32470" +"checksum string_cache 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c19dbe4d2552673a8c4ec0e91523670ee2b73ba3560d935703ce5d64a40f864c" "checksum string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0c9dfe1a7c8bba1ecb90730d269fdc08afe93d23c28dd6c4aa5cabd79a05a05e" "checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc" "checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694" "checksum syn 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "58fd09df59565db3399efbba34ba8a2fec1307511ebd245d0061ff9d42691673" +"checksum syn 0.11.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f94368aae82bb29656c98443a7026ca931a659e8d19dcdc41d6e273054e820" "checksum synstructure 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a811f8e51453cada27c033be6b5fdac6e4e63981983702eb85b4c897a25ecc6c" "checksum syntex 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb3f52553a966675982404dc34028291b347e0c9a9c0b0b34f2da6be8a0443f8" "checksum syntex_errors 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dee2f6e49c075f71332bb775219d5982bee6732d26227fa1ae1b53cdb12f5cc5" "checksum syntex_pos 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8df3921c7945dfb9ffc53aa35adb2cf4313b5ab5f079c3619b3d4eb82a0efc2b" "checksum syntex_syntax 0.54.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dc960085bae44591e22d01f6c0e82a8aec832f8659aca556cdf8ecbdac2bb47b" -"checksum target_build_utils 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "54c550e226618cd35334b75e92bfa5437c61474bdb75c38bf330ab5a8037b77c" +"checksum target_build_utils 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f42dc058080c19c6a58bdd1bf962904ee4f5ef1fe2a81b529f31dacc750c679f" "checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6" "checksum tendril 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cebf864c2d90394a1b66d6fe45963f9a177f2af81a0edea5060f77627f9c4587" "checksum term 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d168af3930b369cfe245132550579d47dfd873d69470755a19c2c6568dbbd989" @@ -3579,10 +3598,10 @@ dependencies = [ "checksum tinyfiledialogs 2.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d401358cd71aca93d5f4fccd3db5b87d970ae70fe457911929d99f4a87f7531" "checksum toml 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "736b60249cb25337bc196faa43ee12c705e426f3d55c214d73a4e7be06f92cb4" "checksum traitobject 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "07eaeb7689bb7fca7ce15628319635758eda769fed481ecfe6686ddef2600616" -"checksum truetype 0.24.0 (registry+https://github.com/rust-lang/crates.io-index)" = "87167c7d6d14725f614d16761de2bb71c01ee374989936b49797d3db1a02bcdd" +"checksum truetype 0.26.0 (registry+https://github.com/rust-lang/crates.io-index)" = "acec30350633d6dac9dc1a625786b6cbe9150664be941aac2c35ad7199eab877" "checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" "checksum unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "13a5906ca2b98c799f4b1ab4557b76367ebd6ae5ef14930ec841c74aed5f3764" -"checksum unicode-bidi 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b61814f3e7fd0e0f15370f767c7c943e08bc2e3214233ae8f88522b334ceb778" +"checksum unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d3a078ebdd62c0e71a709c3d53d2af693fe09fe93fbff8344aebe289b78f9032" "checksum unicode-normalization 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e28fa37426fceeb5cf8f41ee273faa7c82c47dc8fba5853402841e665fcd86ff" "checksum unicode-script 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e5430ae21ef212551680d0021fc7dbd936e8b268c5ea8fdae8814e0b2496d80f" "checksum unicode-segmentation 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18127285758f0e2c6cf325bb3f3d138a12fee27de4f23e146cd6a179f26c2cf3" @@ -3590,24 +3609,25 @@ dependencies = [ "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" "checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91" "checksum url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5ba8a749fb4479b043733416c244fa9d1d3af3d7c23804944651c8a448cb87e" +"checksum url_serde 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c89041feeb06fab9bbf5e3b3fef87605f263e0d98ea080a500a11f41295e230" "checksum user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ef4711d107b21b410a3a974b1204d9accc8b10dad75d8324b5d755de1617d47" "checksum utf-8 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9aee9ba280438b56d1ebc5329f2094f0ff457f811eeeff0b278d75aa99db400" "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" -"checksum uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a9ff57156caf7e22f37baf3c9d8f6ce8194842c23419dafcb0716024514d162" +"checksum uuid 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7cfec50b0842181ba6e713151b72f4ec84a6a7e2c9c8a8a3ffc37bb1cd16b231" "checksum vec_map 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cac5efe5cb0fa14ec2f84f83c701c562ee63f6dcc680861b21d65c682adfb05f" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" "checksum webdriver 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cdc28802daddee94267a657ffeac2593a33881fb7a3a44fedd320b1319efcaf6" -"checksum webrender 0.15.0 (git+https://github.com/servo/webrender)" = "<none>" -"checksum webrender_traits 0.14.0 (git+https://github.com/servo/webrender)" = "<none>" +"checksum webrender 0.17.0 (git+https://github.com/servo/webrender)" = "<none>" +"checksum webrender_traits 0.16.0 (git+https://github.com/servo/webrender)" = "<none>" "checksum websocket 0.17.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a1a6ea5ed0367f32eb3d94dcc58859ef4294b5f75ba983dbf56ac314af45d" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum ws 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7c47e9ca2f5c47d27f731b1bb9bb50cc05f9886bb84fbd52afa0ff97f4f61b06" +"checksum ws 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "97d37277cc93aa9f313a6e2363576988714f0e7f147179bb8f272ceb3e4a83b1" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" "checksum x11 2.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "124eb405bf0262a54e1a982d4ffe4cd1c24261bdb306e49996e2ce7d492284a8" "checksum x11-dl 2.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bf1f9986368c9bbdd8191a783a7ceb42e0c9c6d3348616c873f829b3288a139c" "checksum xdg 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77b831a5ba77110f438f0ac5583aafeb087f70432998ba6b7dcb1d32185db453" "checksum xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1" "checksum xml-rs 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b15eed12692bd59d15e98ee7f8dc8408465b992d8ddb4d1672c24865132ec7" -"checksum xml5ever 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd22ccaa7c71c003165a5a4aabce8bb3f19a9378e399b03528e486954160ad5f" +"checksum xml5ever 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "84b14e3bfa3689bd9eecf9c32423000deefd5c7ec1c0bc2f57926a40dabf7e5e" diff --git a/components/atoms/Cargo.toml b/components/atoms/Cargo.toml index dd840f10f42..8d73fb2f70c 100644 --- a/components/atoms/Cargo.toml +++ b/components/atoms/Cargo.toml @@ -11,7 +11,7 @@ workspace = "../.." path = "lib.rs" [dependencies] -string_cache = {version = "0.3", features = ["heap_size"]} +string_cache = {version = "0.4", features = ["heapsize"]} [build-dependencies] string_cache_codegen = "0.3" diff --git a/components/bluetooth/Cargo.toml b/components/bluetooth/Cargo.toml index f90c4d2b797..f8fcb96058d 100644 --- a/components/bluetooth/Cargo.toml +++ b/components/bluetooth/Cargo.toml @@ -13,9 +13,9 @@ path = "lib.rs" bitflags = "0.7" bluetooth_traits = {path = "../bluetooth_traits"} device = {git = "https://github.com/servo/devices", features = ["bluetooth-test"]} -ipc-channel = "0.5" +ipc-channel = "0.7" servo_rand = {path = "../rand"} -uuid = {version = "0.3.1", features = ["v4"]} +uuid = {version = "0.4", features = ["v4"]} [target.'cfg(target_os = "linux")'.dependencies] tinyfiledialogs = "2.5.9" diff --git a/components/bluetooth_traits/Cargo.toml b/components/bluetooth_traits/Cargo.toml index e1ccdf4ad4c..59238f61bce 100644 --- a/components/bluetooth_traits/Cargo.toml +++ b/components/bluetooth_traits/Cargo.toml @@ -10,8 +10,8 @@ name = "bluetooth_traits" path = "lib.rs" [dependencies] -ipc-channel = "0.5" +ipc-channel = "0.7" regex = "0.2" -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_config = {path = "../config"} diff --git a/components/canvas/Cargo.toml b/components/canvas/Cargo.toml index 1ac27478f69..b3e2eed7270 100644 --- a/components/canvas/Cargo.toml +++ b/components/canvas/Cargo.toml @@ -10,15 +10,15 @@ name = "canvas" path = "lib.rs" [dependencies] -azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]} +azure = {git = "https://github.com/servo/rust-azure"} canvas_traits = {path = "../canvas_traits"} -cssparser = {version = "0.9", features = ["heap_size", "serde-serialization"]} -euclid = "0.10.1" +cssparser = {version = "0.10", features = ["heapsize", "serde"]} +euclid = "0.11" gleam = "0.2.8" -ipc-channel = "0.5" +ipc-channel = "0.7" log = "0.3.5" num-traits = "0.1.32" -offscreen_gl_context = "0.5.0" +offscreen_gl_context = "0.6" plugins = {path = "../plugins"} servo_config = {path = "../config"} diff --git a/components/canvas_traits/Cargo.toml b/components/canvas_traits/Cargo.toml index d90ed49880c..64e0cc1f0d5 100644 --- a/components/canvas_traits/Cargo.toml +++ b/components/canvas_traits/Cargo.toml @@ -10,14 +10,14 @@ name = "canvas_traits" path = "lib.rs" [dependencies] -cssparser = {version = "0.9", features = ["heap_size", "serde-serialization"]} -euclid = "0.10.1" +cssparser = {version = "0.10", features = ["heapsize", "serde"]} +euclid = "0.11" heapsize = "0.3.0" heapsize_derive = "0.1" -ipc-channel = "0.5" +ipc-channel = "0.7" plugins = {path = "../plugins"} -serde = {version = "0.8", features = ["unstable"]} -serde_derive = "0.8" +serde = {version = "0.9", features = ["unstable"]} +serde_derive = "0.9" [dependencies.webrender_traits] git = "https://github.com/servo/webrender" diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml index 15270b393cf..ba89a3d6ab0 100644 --- a/components/compositing/Cargo.toml +++ b/components/compositing/Cargo.toml @@ -10,11 +10,11 @@ name = "compositing" path = "lib.rs" [dependencies] -euclid = "0.10.1" +euclid = "0.11" gfx_traits = {path = "../gfx_traits"} gleam = "0.2.8" image = "0.12" -ipc-channel = "0.5" +ipc-channel = "0.7" log = "0.3.5" msg = {path = "../msg"} net_traits = {path = "../net_traits"} diff --git a/components/config/Cargo.toml b/components/config/Cargo.toml index 5775e3ce58d..02af22c68fd 100644 --- a/components/config/Cargo.toml +++ b/components/config/Cargo.toml @@ -11,20 +11,20 @@ path = "lib.rs" [features] # servo as opposed to geckolib -servo = ["serde", "serde_derive", "url/heap_size", "url/serde", "plugins"] +servo = ["plugins", "serde", "serde_derive", "servo_url/servo"] [dependencies] -euclid = "0.10.1" +euclid = "0.11" getopts = "0.2.11" lazy_static = "0.2" log = "0.3.5" num_cpus = "1.1.0" +plugins = {path = "../plugins", optional = true} rustc-serialize = "0.3" -serde = {version = "0.8", optional = true} -serde_derive = {version = "0.8", optional = true} +serde = {version = "0.9", optional = true} +serde_derive = {version = "0.9", optional = true} servo_geometry = {path = "../geometry"} servo_url = {path = "../url"} -plugins = {path = "../plugins", optional = true} url = "1.2" [dev-dependencies] diff --git a/components/constellation/Cargo.toml b/components/constellation/Cargo.toml index 6d0e7b01c19..4d3524b9d20 100644 --- a/components/constellation/Cargo.toml +++ b/components/constellation/Cargo.toml @@ -17,20 +17,20 @@ canvas_traits = {path = "../canvas_traits"} compositing = {path = "../compositing"} debugger = {path = "../debugger"} devtools_traits = {path = "../devtools_traits"} -euclid = "0.10.1" +euclid = "0.11" gfx = {path = "../gfx"} gfx_traits = {path = "../gfx_traits"} -ipc-channel = "0.5" +ipc-channel = "0.7" layout_traits = {path = "../layout_traits"} log = "0.3.5" msg = {path = "../msg"} net_traits = {path = "../net_traits"} -offscreen_gl_context = "0.5.0" +offscreen_gl_context = "0.6" plugins = {path = "../plugins"} profile_traits = {path = "../profile_traits"} script_traits = {path = "../script_traits"} -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" style_traits = {path = "../style_traits"} servo_config = {path = "../config", features = ["servo"]} servo_rand = {path = "../rand"} diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index 621e92fb6b1..e6b1cb0f89f 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -78,6 +78,7 @@ use event_loop::EventLoop; use frame::{Frame, FrameChange, FrameState, FrameTreeIterator, FullFrameTreeIterator}; use gfx::font_cache_thread::FontCacheThread; use gfx_traits::Epoch; +use ipc_channel::Error; use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; use layout_traits::LayoutThreadFactory; @@ -109,7 +110,6 @@ use servo_remutex::ReentrantMutex; use servo_url::ServoUrl; use std::borrow::ToOwned; use std::collections::{HashMap, VecDeque}; -use std::io::Error as IOError; use std::iter::once; use std::marker::PhantomData; use std::process; @@ -1228,7 +1228,7 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> self.pipelines.remove(&pipeline_id); } - fn handle_send_error(&mut self, pipeline_id: PipelineId, err: IOError) { + fn handle_send_error(&mut self, pipeline_id: PipelineId, err: Error) { // Treat send error the same as receiving a panic message debug!("Pipeline {:?} send error ({}).", pipeline_id, err); let top_level_frame_id = self.get_top_level_frame_for_pipeline(pipeline_id); diff --git a/components/constellation/event_loop.rs b/components/constellation/event_loop.rs index 476df9e91ae..c20a3e2dadd 100644 --- a/components/constellation/event_loop.rs +++ b/components/constellation/event_loop.rs @@ -6,9 +6,9 @@ //! view of a script thread. When an `EventLoop` is dropped, an `ExitScriptThread` //! message is sent to the script thread, asking it to shut down. +use ipc_channel::Error; use ipc_channel::ipc::IpcSender; use script_traits::ConstellationControlMsg; -use std::io::Error as IOError; use std::marker::PhantomData; use std::rc::Rc; @@ -34,7 +34,7 @@ impl EventLoop { } /// Send a message to the event loop. - pub fn send(&self, msg: ConstellationControlMsg) -> Result<(), IOError> { + pub fn send(&self, msg: ConstellationControlMsg) -> Result<(), Error> { self.script_chan.send(msg) } diff --git a/components/constellation/pipeline.rs b/components/constellation/pipeline.rs index 0f5ee424df4..19c68a2fefc 100644 --- a/components/constellation/pipeline.rs +++ b/components/constellation/pipeline.rs @@ -11,6 +11,7 @@ use euclid::scale_factor::ScaleFactor; use euclid::size::TypedSize2D; use event_loop::EventLoop; use gfx::font_cache_thread::FontCacheThread; +use ipc_channel::Error; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use ipc_channel::router::ROUTER; use layout_traits::LayoutThreadFactory; @@ -31,7 +32,6 @@ use std::collections::HashMap; #[cfg(not(windows))] use std::env; use std::ffi::OsStr; -use std::io::Error as IOError; use std::process; use std::rc::Rc; use std::sync::mpsc::Sender; @@ -178,7 +178,7 @@ pub struct InitialPipelineState { impl Pipeline { /// Starts a layout thread, and possibly a script thread, in /// a new process if requested. - pub fn spawn<Message, LTF, STF>(state: InitialPipelineState) -> Result<Pipeline, IOError> + pub fn spawn<Message, LTF, STF>(state: InitialPipelineState) -> Result<Pipeline, Error> where LTF: LayoutThreadFactory<Message=Message>, STF: ScriptThreadFactory<Message=Message> { @@ -523,7 +523,7 @@ impl UnprivilegedPipelineContent { } #[cfg(not(target_os = "windows"))] - pub fn spawn_multiprocess(self) -> Result<(), IOError> { + pub fn spawn_multiprocess(self) -> Result<(), Error> { use gaol::sandbox::{self, Sandbox, SandboxMethods}; use ipc_channel::ipc::IpcOneShotServer; use sandboxing::content_process_sandbox_profile; @@ -571,7 +571,7 @@ impl UnprivilegedPipelineContent { } #[cfg(target_os = "windows")] - pub fn spawn_multiprocess(self) -> Result<(), IOError> { + pub fn spawn_multiprocess(self) -> Result<(), Error> { error!("Multiprocess is not supported on Windows."); process::exit(1); } diff --git a/components/devtools/Cargo.toml b/components/devtools/Cargo.toml index e6b877f1e6d..75ecd3263a3 100644 --- a/components/devtools/Cargo.toml +++ b/components/devtools/Cargo.toml @@ -13,12 +13,12 @@ path = "lib.rs" devtools_traits = {path = "../devtools_traits"} encoding = "0.2" hyper = "0.9.9" -hyper_serde = "0.1.4" -ipc-channel = "0.5" +hyper_serde = "0.5" +ipc-channel = "0.7" log = "0.3.5" msg = {path = "../msg"} plugins = {path = "../plugins"} -serde = "0.8" -serde_json = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" +serde_json = "0.9" time = "0.1" diff --git a/components/devtools/actor.rs b/components/devtools/actor.rs index 6d2e4ab1869..1e517bd1ef9 100644 --- a/components/devtools/actor.rs +++ b/components/devtools/actor.rs @@ -5,10 +5,10 @@ /// General actor system infrastructure. use devtools_traits::PreciseTime; -use serde_json::Value; +use serde_json::{Map, Value}; use std::any::Any; use std::cell::{Cell, RefCell}; -use std::collections::{BTreeMap, HashMap}; +use std::collections::HashMap; use std::mem::replace; use std::net::TcpStream; use std::sync::{Arc, Mutex}; @@ -26,7 +26,7 @@ pub trait Actor: Any + ActorAsAny { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()>; fn name(&self) -> String; } @@ -150,7 +150,7 @@ impl ActorRegistry { /// Attempt to process a message as directed by its `to` property. If the actor is not /// found or does not indicate that it knew how to process the message, ignore the failure. pub fn handle_message(&mut self, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<(), ()> { let to = msg.get("to").unwrap().as_str().unwrap(); diff --git a/components/devtools/actors/console.rs b/components/devtools/actors/console.rs index 99dd0d62811..498426684ca 100644 --- a/components/devtools/actors/console.rs +++ b/components/devtools/actors/console.rs @@ -16,9 +16,8 @@ use devtools_traits::EvaluateJSReply::{NullValue, NumberValue, VoidValue}; use ipc_channel::ipc::{self, IpcSender}; use msg::constellation_msg::PipelineId; use protocol::JsonPacketStream; -use serde_json::{self, Value}; +use serde_json::{self, Map, Number, Value}; use std::cell::RefCell; -use std::collections::BTreeMap; use std::net::TcpStream; trait EncodableConsoleMessage { @@ -50,7 +49,7 @@ struct StartedListenersReply { #[derive(Serialize)] struct GetCachedMessagesReply { from: String, - messages: Vec<BTreeMap<String, Value>>, + messages: Vec<Map<String, Value>>, } #[derive(Serialize)] @@ -98,7 +97,7 @@ impl Actor for ConsoleActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "getCachedMessages" => { @@ -182,46 +181,46 @@ impl Actor for ConsoleActor { //TODO: extract conversion into protocol module or some other useful place let result = match try!(port.recv().map_err(|_| ())) { VoidValue => { - let mut m = BTreeMap::new(); - m.insert("type".to_owned(), serde_json::to_value("undefined")); + let mut m = Map::new(); + m.insert("type".to_owned(), Value::String("undefined".to_owned())); Value::Object(m) } NullValue => { - let mut m = BTreeMap::new(); - m.insert("type".to_owned(), serde_json::to_value("null")); + let mut m = Map::new(); + m.insert("type".to_owned(), Value::String("null".to_owned())); Value::Object(m) } BooleanValue(val) => Value::Bool(val), NumberValue(val) => { if val.is_nan() { - let mut m = BTreeMap::new(); - m.insert("type".to_owned(), serde_json::to_value("NaN")); + let mut m = Map::new(); + m.insert("type".to_owned(), Value::String("NaN".to_owned())); Value::Object(m) } else if val.is_infinite() { - let mut m = BTreeMap::new(); + let mut m = Map::new(); if val < 0. { - m.insert("type".to_owned(), serde_json::to_value("-Infinity")); + m.insert("type".to_owned(), Value::String("-Infinity".to_owned())); } else { - m.insert("type".to_owned(), serde_json::to_value("Infinity")); + m.insert("type".to_owned(), Value::String("Infinity".to_owned())); } Value::Object(m) } else if val == 0. && val.is_sign_negative() { - let mut m = BTreeMap::new(); - m.insert("type".to_owned(), serde_json::to_value("-0")); + let mut m = Map::new(); + m.insert("type".to_owned(), Value::String("-0".to_owned())); Value::Object(m) } else { - serde_json::to_value(&val) + Value::Number(Number::from_f64(val).unwrap()) } } StringValue(s) => Value::String(s), ActorValue { class, uuid } => { //TODO: make initial ActorValue message include these properties? - let mut m = BTreeMap::new(); + let mut m = Map::new(); let actor = ObjectActor::new(registry, uuid); - m.insert("type".to_owned(), serde_json::to_value("object")); - m.insert("class".to_owned(), serde_json::to_value(&class)); - m.insert("actor".to_owned(), serde_json::to_value(&actor)); + m.insert("type".to_owned(), Value::String("object".to_owned())); + m.insert("class".to_owned(), Value::String(class)); + m.insert("actor".to_owned(), Value::String(actor)); m.insert("extensible".to_owned(), Value::Bool(true)); m.insert("frozen".to_owned(), Value::Bool(false)); m.insert("sealed".to_owned(), Value::Bool(false)); @@ -235,9 +234,9 @@ impl Actor for ConsoleActor { input: input, result: result, timestamp: 0, - exception: Value::Object(BTreeMap::new()), + exception: Value::Object(Map::new()), exceptionMessage: "".to_owned(), - helperResult: Value::Object(BTreeMap::new()), + helperResult: Value::Object(Map::new()), }; stream.write_json_packet(&msg); ActorMessageStatus::Processed diff --git a/components/devtools/actors/framerate.rs b/components/devtools/actors/framerate.rs index 01c00796369..e5edc70c6b2 100644 --- a/components/devtools/actors/framerate.rs +++ b/components/devtools/actors/framerate.rs @@ -7,8 +7,7 @@ use actors::timeline::HighResolutionStamp; use devtools_traits::DevtoolScriptControlMsg; use ipc_channel::ipc::IpcSender; use msg::constellation_msg::PipelineId; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::mem; use std::net::TcpStream; use time::precise_time_ns; @@ -31,7 +30,7 @@ impl Actor for FramerateActor { fn handle_message(&self, _registry: &ActorRegistry, _msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, _stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(ActorMessageStatus::Ignored) } diff --git a/components/devtools/actors/inspector.rs b/components/devtools/actors/inspector.rs index aa500699686..9749b69e813 100644 --- a/components/devtools/actors/inspector.rs +++ b/components/devtools/actors/inspector.rs @@ -12,9 +12,8 @@ use devtools_traits::DevtoolScriptControlMsg::{GetLayout, ModifyAttribute}; use ipc_channel::ipc::{self, IpcSender}; use msg::constellation_msg::PipelineId; use protocol::JsonPacketStream; -use serde_json::{self, Value}; +use serde_json::{self, Map, Value}; use std::cell::RefCell; -use std::collections::BTreeMap; use std::net::TcpStream; pub struct InspectorActor { @@ -65,7 +64,7 @@ impl Actor for HighlighterActor { fn handle_message(&self, _registry: &ActorRegistry, msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "showBoxModel" => { @@ -102,7 +101,7 @@ impl Actor for NodeActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "modifyAttributes" => { @@ -276,7 +275,7 @@ impl Actor for WalkerActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "querySelector" => { @@ -451,7 +450,7 @@ impl Actor for PageStyleActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "getApplied" => { @@ -503,7 +502,7 @@ impl Actor for PageStyleActor { zIndex: zIndex, boxSizing: boxSizing, autoMargins: if auto_margins { - let mut m = BTreeMap::new(); + let mut m = Map::new(); let auto = serde_json::value::Value::String("auto".to_owned()); if autoMargins.top { m.insert("top".to_owned(), auto.clone()); } if autoMargins.right { m.insert("right".to_owned(), auto.clone()); } @@ -547,7 +546,7 @@ impl Actor for InspectorActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "getWalker" => { diff --git a/components/devtools/actors/memory.rs b/components/devtools/actors/memory.rs index 6a97e6448b8..25dc2733b66 100644 --- a/components/devtools/actors/memory.rs +++ b/components/devtools/actors/memory.rs @@ -3,8 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use actor::{Actor, ActorMessageStatus, ActorRegistry}; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; #[derive(Serialize)] @@ -32,7 +31,7 @@ impl Actor for MemoryActor { fn handle_message(&self, _registry: &ActorRegistry, _msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, _stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(ActorMessageStatus::Ignored) } diff --git a/components/devtools/actors/network_event.rs b/components/devtools/actors/network_event.rs index f4f513159aa..3d63a5ea691 100644 --- a/components/devtools/actors/network_event.rs +++ b/components/devtools/actors/network_event.rs @@ -16,9 +16,8 @@ use hyper::header::Headers; use hyper::http::RawStatus; use hyper::method::Method; use protocol::JsonPacketStream; -use serde_json::Value; +use serde_json::{Map, Value}; use std::borrow::Cow; -use std::collections::BTreeMap; use std::net::TcpStream; use time; use time::Tm; @@ -185,7 +184,7 @@ impl Actor for NetworkEventActor { fn handle_message(&self, _registry: &ActorRegistry, msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "getRequestHeaders" => { diff --git a/components/devtools/actors/object.rs b/components/devtools/actors/object.rs index c950967e418..81f972a763c 100644 --- a/components/devtools/actors/object.rs +++ b/components/devtools/actors/object.rs @@ -3,8 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use actor::{Actor, ActorMessageStatus, ActorRegistry}; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; pub struct ObjectActor { @@ -19,7 +18,7 @@ impl Actor for ObjectActor { fn handle_message(&self, _: &ActorRegistry, _: &str, - _: &BTreeMap<String, Value>, + _: &Map<String, Value>, _: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(ActorMessageStatus::Ignored) } diff --git a/components/devtools/actors/performance.rs b/components/devtools/actors/performance.rs index 6d0bc2556e0..c246cb26fa4 100644 --- a/components/devtools/actors/performance.rs +++ b/components/devtools/actors/performance.rs @@ -4,8 +4,7 @@ use actor::{Actor, ActorMessageStatus, ActorRegistry}; use protocol::{ActorDescription, JsonPacketStream, Method}; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; pub struct PerformanceActor { @@ -55,7 +54,7 @@ impl Actor for PerformanceActor { fn handle_message(&self, _registry: &ActorRegistry, msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "connect" => { diff --git a/components/devtools/actors/profiler.rs b/components/devtools/actors/profiler.rs index 9de9364744a..a80e3c0018b 100644 --- a/components/devtools/actors/profiler.rs +++ b/components/devtools/actors/profiler.rs @@ -3,8 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use actor::{Actor, ActorMessageStatus, ActorRegistry}; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; pub struct ProfilerActor { @@ -19,7 +18,7 @@ impl Actor for ProfilerActor { fn handle_message(&self, _registry: &ActorRegistry, _msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, _stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(ActorMessageStatus::Ignored) } diff --git a/components/devtools/actors/root.rs b/components/devtools/actors/root.rs index 1885e775ff6..20629ea7a7b 100644 --- a/components/devtools/actors/root.rs +++ b/components/devtools/actors/root.rs @@ -11,8 +11,7 @@ use actor::{Actor, ActorMessageStatus, ActorRegistry}; use actors::performance::PerformanceActor; use actors::tab::{TabActor, TabActorMsg}; use protocol::{ActorDescription, JsonPacketStream}; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; #[derive(Serialize)] @@ -69,7 +68,7 @@ impl Actor for RootActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "listAddons" => { diff --git a/components/devtools/actors/tab.rs b/components/devtools/actors/tab.rs index 53b3766b124..916c5319386 100644 --- a/components/devtools/actors/tab.rs +++ b/components/devtools/actors/tab.rs @@ -11,8 +11,7 @@ use actor::{Actor, ActorMessageStatus, ActorRegistry}; use actors::console::ConsoleActor; use devtools_traits::DevtoolScriptControlMsg::{self, WantsLiveNotifications}; use protocol::JsonPacketStream; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; #[derive(Serialize)] @@ -88,7 +87,7 @@ impl Actor for TabActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "reconfigure" => { diff --git a/components/devtools/actors/thread.rs b/components/devtools/actors/thread.rs index 102f428bc8b..7be5bc55f23 100644 --- a/components/devtools/actors/thread.rs +++ b/components/devtools/actors/thread.rs @@ -4,8 +4,7 @@ use actor::{Actor, ActorMessageStatus, ActorRegistry}; use protocol::JsonPacketStream; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; #[derive(Serialize)] @@ -68,7 +67,7 @@ impl Actor for ThreadActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - _msg: &BTreeMap<String, Value>, + _msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "attach" => { diff --git a/components/devtools/actors/timeline.rs b/components/devtools/actors/timeline.rs index 6285faafabf..1fdb7b0c408 100644 --- a/components/devtools/actors/timeline.rs +++ b/components/devtools/actors/timeline.rs @@ -12,9 +12,8 @@ use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use msg::constellation_msg::PipelineId; use protocol::JsonPacketStream; use serde::{Serialize, Serializer}; -use serde_json::Value; +use serde_json::{Map, Value}; use std::cell::RefCell; -use std::collections::BTreeMap; use std::net::TcpStream; use std::sync::{Arc, Mutex}; use std::thread; @@ -115,7 +114,7 @@ impl HighResolutionStamp { } impl Serialize for HighResolutionStamp { - fn serialize<S: Serializer>(&self, s: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error> { self.0.serialize(s) } } @@ -175,7 +174,7 @@ impl Actor for TimelineActor { fn handle_message(&self, registry: &ActorRegistry, msg_type: &str, - msg: &BTreeMap<String, Value>, + msg: &Map<String, Value>, stream: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(match msg_type { "start" => { diff --git a/components/devtools/actors/worker.rs b/components/devtools/actors/worker.rs index 7e1301db43e..1beead719dc 100644 --- a/components/devtools/actors/worker.rs +++ b/components/devtools/actors/worker.rs @@ -4,8 +4,7 @@ use actor::{Actor, ActorMessageStatus, ActorRegistry}; use devtools_traits::WorkerId; -use serde_json::Value; -use std::collections::BTreeMap; +use serde_json::{Map, Value}; use std::net::TcpStream; pub struct WorkerActor { @@ -21,7 +20,7 @@ impl Actor for WorkerActor { fn handle_message(&self, _: &ActorRegistry, _: &str, - _: &BTreeMap<String, Value>, + _: &Map<String, Value>, _: &mut TcpStream) -> Result<ActorMessageStatus, ()> { Ok(ActorMessageStatus::Processed) } diff --git a/components/devtools/protocol.rs b/components/devtools/protocol.rs index eb46ed38489..f0bfce4b3d7 100644 --- a/components/devtools/protocol.rs +++ b/components/devtools/protocol.rs @@ -40,9 +40,9 @@ impl JsonPacketStream for TcpStream { } fn write_merged_json_packet<T: Serialize, U: Serialize>(&mut self, base: &T, extra: &U) { - let mut obj = serde_json::to_value(base); + let mut obj = serde_json::to_value(base).unwrap(); let obj = obj.as_object_mut().unwrap(); - let extra = serde_json::to_value(extra); + let extra = serde_json::to_value(extra).unwrap(); let extra = extra.as_object().unwrap(); for (key, value) in extra { @@ -79,14 +79,7 @@ impl JsonPacketStream for TcpStream { debug!("{}", packet); return match serde_json::from_str(&packet) { Ok(json) => Ok(Some(json)), - Err(err) => match err { - serde_json::Error::Io(ioerr) => { - return Err(ioerr.description().to_owned()) - }, - serde_json::Error::Syntax(_, l, c) => { - return Err(format!("syntax at {}:{}", l, c)) - }, - }, + Err(err) => Err(err.description().to_owned()), }; }, c => buffer.push(c), diff --git a/components/devtools_traits/Cargo.toml b/components/devtools_traits/Cargo.toml index 55e28ade551..542c803b8e9 100644 --- a/components/devtools_traits/Cargo.toml +++ b/components/devtools_traits/Cargo.toml @@ -14,10 +14,10 @@ bitflags = "0.7" heapsize = "0.3.0" heapsize_derive = "0.1" hyper = "0.9.9" -hyper_serde = "0.1.4" -ipc-channel = "0.5" +hyper_serde = "0.5" +ipc-channel = "0.7" msg = {path = "../msg"} -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_url = {path = "../url"} time = "0.1" diff --git a/components/geometry/Cargo.toml b/components/geometry/Cargo.toml index 28480439060..73368f5dfbf 100644 --- a/components/geometry/Cargo.toml +++ b/components/geometry/Cargo.toml @@ -11,9 +11,9 @@ path = "lib.rs" [features] # servo as opposed to geckolib -servo = ["app_units/plugins", "euclid/unstable"] +servo = ["euclid/unstable"] [dependencies] -app_units = "0.3" -euclid = "0.10.1" +app_units = "0.4" +euclid = "0.11" heapsize = "0.3.0" diff --git a/components/gfx/Cargo.toml b/components/gfx/Cargo.toml index 8e5a4a8256e..e2f19db0a99 100644 --- a/components/gfx/Cargo.toml +++ b/components/gfx/Cargo.toml @@ -11,16 +11,16 @@ name = "gfx" path = "lib.rs" [dependencies] -app_units = "0.3" +app_units = "0.4" bitflags = "0.7" -euclid = "0.10.1" +euclid = "0.11" fnv = "1.0" fontsan = {git = "https://github.com/servo/fontsan"} gfx_traits = {path = "../gfx_traits"} harfbuzz-sys = "0.1" heapsize = "0.3.0" heapsize_derive = "0.1" -ipc-channel = "0.5" +ipc-channel = "0.7" lazy_static = "0.2" libc = "0.2" log = "0.3.5" @@ -29,11 +29,11 @@ net_traits = {path = "../net_traits"} ordered-float = "0.4" plugins = {path = "../plugins"} range = {path = "../range"} -serde = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_atoms = {path = "../atoms"} servo_geometry = {path = "../geometry"} servo_url = {path = "../url"} -serde_derive = "0.8" smallvec = "0.1" style = {path = "../style"} style_traits = {path = "../style_traits"} @@ -49,8 +49,8 @@ features = ["serde_derive", "ipc"] [target.'cfg(target_os = "macos")'.dependencies] byteorder = "1.0" core-foundation = "0.3" -core-graphics = "0.6" -core-text = "3.0" +core-graphics = "0.7" +core-text = "4.0" [target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies] freetype = "0.2" @@ -60,5 +60,5 @@ servo-fontconfig = "0.2.1" simd = "0.2.0" [target.'cfg(target_os = "windows")'.dependencies] -dwrote = "0.1.5" -truetype = "0.24" +servo-dwrote = "0.2" +truetype = "0.26" diff --git a/components/gfx/display_list/mod.rs b/components/gfx/display_list/mod.rs index ec3173cb847..af4b793c6b2 100644 --- a/components/gfx/display_list/mod.rs +++ b/components/gfx/display_list/mod.rs @@ -182,7 +182,14 @@ impl DisplayList { *client_point } else { let point = *translated_point - stacking_context.bounds.origin; - let inv_transform = stacking_context.transform.inverse().unwrap(); + let inv_transform = match stacking_context.transform.inverse() { + Some(transform) => transform, + None => { + // If a transform function causes the current transformation matrix of an object + // to be non-invertible, the object and its content do not get displayed. + return; + } + }; let frac_point = inv_transform.transform_point(&Point2D::new(point.x.to_f32_px(), point.y.to_f32_px())); Point2D::new(Au::from_f32_px(frac_point.x), Au::from_f32_px(frac_point.y)) diff --git a/components/gfx/platform/macos/font_template.rs b/components/gfx/platform/macos/font_template.rs index cba1738b926..3465f935360 100644 --- a/components/gfx/platform/macos/font_template.rs +++ b/components/gfx/platform/macos/font_template.rs @@ -13,6 +13,7 @@ use servo_atoms::Atom; use servo_url::ServoUrl; use std::borrow::ToOwned; use std::collections::HashMap; +use std::fmt; use std::fs::File; use std::io::{Read, Error as IoError}; use std::ops::Deref; @@ -121,21 +122,25 @@ impl Deref for CachedCTFont { } impl Serialize for CachedCTFont { - fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error> where S: Serializer { + fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: Serializer { serializer.serialize_none() } } impl Deserialize for CachedCTFont { - fn deserialize<D>(deserializer: &mut D) -> Result<CachedCTFont, D::Error> + fn deserialize<D>(deserializer: D) -> Result<CachedCTFont, D::Error> where D: Deserializer { struct NoneOptionVisitor; impl Visitor for NoneOptionVisitor { type Value = CachedCTFont; + fn expecting(&self, fmt: &mut fmt::Formatter) -> fmt::Result { + write!(fmt, "none") + } + #[inline] - fn visit_none<E>(&mut self) -> Result<CachedCTFont, E> where E: Error { + fn visit_none<E>(self) -> Result<CachedCTFont, E> where E: Error { Ok(CachedCTFont(Mutex::new(HashMap::new()))) } } diff --git a/components/gfx_traits/Cargo.toml b/components/gfx_traits/Cargo.toml index 8ea8ca14f82..f832ebb3004 100644 --- a/components/gfx_traits/Cargo.toml +++ b/components/gfx_traits/Cargo.toml @@ -14,5 +14,5 @@ heapsize = "0.3.0" heapsize_derive = "0.1" plugins = {path = "../plugins"} range = {path = "../range"} -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml index 5e981b526fa..85b7ddb1d38 100644 --- a/components/layout/Cargo.toml +++ b/components/layout/Cargo.toml @@ -10,18 +10,18 @@ name = "layout" path = "lib.rs" [dependencies] -app_units = "0.3" +app_units = "0.4" atomic_refcell = "0.1" bitflags = "0.7" canvas_traits = {path = "../canvas_traits"} -cssparser = {version = "0.9", features = ["heap_size", "serde-serialization"]} -euclid = "0.10.1" +cssparser = {version = "0.10", features = ["heapsize", "serde"]} +euclid = "0.11" fnv = "1.0" gfx = {path = "../gfx"} gfx_traits = {path = "../gfx_traits"} heapsize = "0.3.0" -html5ever-atoms = "0.1" -ipc-channel = "0.5" +html5ever-atoms = "0.2" +ipc-channel = "0.7" libc = "0.2" log = "0.3.5" msg = {path = "../msg"} @@ -35,10 +35,10 @@ rayon = "0.6" script_layout_interface = {path = "../script_layout_interface"} script_traits = {path = "../script_traits"} selectors = { path = "../selectors" } -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_geometry = {path = "../geometry"} -serde_json = "0.8" +serde_json = "0.9" servo_config = {path = "../config"} servo_url = {path = "../url"} smallvec = "0.1" diff --git a/components/layout/block.rs b/components/layout/block.rs index 00cfa774c06..5f526e3c09f 100644 --- a/components/layout/block.rs +++ b/components/layout/block.rs @@ -524,7 +524,7 @@ bitflags! { } impl Serialize for BlockFlowFlags { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { self.bits().serialize(serializer) } } diff --git a/components/layout/flow.rs b/components/layout/flow.rs index aa9d600243c..0ad6540724b 100644 --- a/components/layout/flow.rs +++ b/components/layout/flow.rs @@ -42,7 +42,7 @@ use inline::InlineFlow; use model::{CollapsibleMargins, IntrinsicISizes, MarginCollapseInfo}; use multicol::MulticolFlow; use parallel::FlowParallelInfo; -use serde::{Serialize, Serializer}; +use serde::ser::{Serialize, SerializeStruct, Serializer}; use servo_geometry::{au_rect_to_f32_rect, f32_rect_to_au_rect}; use std::{fmt, mem, raw}; use std::iter::Zip; @@ -1013,16 +1013,16 @@ impl fmt::Debug for BaseFlow { } impl Serialize for BaseFlow { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { - let mut state = try!(serializer.serialize_struct("base", 5)); - try!(serializer.serialize_struct_elt(&mut state, "id", self.debug_id())); - try!(serializer.serialize_struct_elt(&mut state, "stacking_relative_position", - &self.stacking_relative_position)); - try!(serializer.serialize_struct_elt(&mut state, "intrinsic_inline_sizes", - &self.intrinsic_inline_sizes)); - try!(serializer.serialize_struct_elt(&mut state, "position", &self.position)); - try!(serializer.serialize_struct_elt(&mut state, "children", &self.children)); - serializer.serialize_struct_end(state) + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { + let mut serializer = try!(serializer.serialize_struct("base", 5)); + try!(serializer.serialize_field("id", &self.debug_id())); + try!(serializer.serialize_field("stacking_relative_position", + &self.stacking_relative_position)); + try!(serializer.serialize_field("intrinsic_inline_sizes", + &self.intrinsic_inline_sizes)); + try!(serializer.serialize_field("position", &self.position)); + try!(serializer.serialize_field("children", &self.children)); + serializer.end() } } diff --git a/components/layout/flow_list.rs b/components/layout/flow_list.rs index 42ff71bf4ea..60423bad154 100644 --- a/components/layout/flow_list.rs +++ b/components/layout/flow_list.rs @@ -4,9 +4,8 @@ use flow::{Flow, FlowClass}; use flow_ref::FlowRef; -use serde::{Serialize, Serializer}; -use serde_json::{to_value, Value}; -use serde_json::builder::ObjectBuilder; +use serde::ser::{Serialize, SerializeSeq, Serializer}; +use serde_json::{Map, Value, to_value}; use std::collections::{LinkedList, linked_list}; use std::sync::Arc; @@ -24,30 +23,29 @@ pub struct FlowList { } impl Serialize for FlowList { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { - let mut state = try!(serializer.serialize_seq(Some(self.len()))); + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { + let mut serializer = try!(serializer.serialize_seq(Some(self.len()))); for f in self.iter() { - let flow_val = ObjectBuilder::new() - .insert("class", f.class()) - .insert("data", match f.class() { - FlowClass::Block => to_value(f.as_block()), - FlowClass::Inline => to_value(f.as_inline()), - FlowClass::Table => to_value(f.as_table()), - FlowClass::TableWrapper => to_value(f.as_table_wrapper()), - FlowClass::TableRowGroup => to_value(f.as_table_rowgroup()), - FlowClass::TableRow => to_value(f.as_table_row()), - FlowClass::TableCell => to_value(f.as_table_cell()), - FlowClass::Flex => to_value(f.as_flex()), - FlowClass::ListItem | FlowClass::TableColGroup | FlowClass::TableCaption | - FlowClass::Multicol | FlowClass::MulticolColumn => { - Value::Null // Not implemented yet - } - }) - .build(); - - try!(serializer.serialize_seq_elt(&mut state, flow_val)); + let mut flow_val = Map::new(); + flow_val.insert("class".to_owned(), to_value(f.class()).unwrap()); + let data = match f.class() { + FlowClass::Block => to_value(f.as_block()).unwrap(), + FlowClass::Inline => to_value(f.as_inline()).unwrap(), + FlowClass::Table => to_value(f.as_table()).unwrap(), + FlowClass::TableWrapper => to_value(f.as_table_wrapper()).unwrap(), + FlowClass::TableRowGroup => to_value(f.as_table_rowgroup()).unwrap(), + FlowClass::TableRow => to_value(f.as_table_row()).unwrap(), + FlowClass::TableCell => to_value(f.as_table_cell()).unwrap(), + FlowClass::Flex => to_value(f.as_flex()).unwrap(), + FlowClass::ListItem | FlowClass::TableColGroup | FlowClass::TableCaption | + FlowClass::Multicol | FlowClass::MulticolColumn => { + Value::Null // Not implemented yet + } + }; + flow_val.insert("data".to_owned(), data); + try!(serializer.serialize_element(&flow_val)); } - serializer.serialize_seq_end(state) + serializer.end() } } diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 8f17894bc98..ec1e87e6dd2 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -32,7 +32,7 @@ use range::*; use script_layout_interface::HTMLCanvasData; use script_layout_interface::SVGSVGData; use script_layout_interface::wrapper_traits::{PseudoElementType, ThreadSafeLayoutElement, ThreadSafeLayoutNode}; -use serde::{Serialize, Serializer}; +use serde::ser::{Serialize, SerializeStruct, Serializer}; use servo_url::ServoUrl; use std::{f32, fmt}; use std::borrow::ToOwned; @@ -142,12 +142,12 @@ pub struct Fragment { } impl Serialize for Fragment { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { - let mut state = try!(serializer.serialize_struct("fragment", 3)); - try!(serializer.serialize_struct_elt(&mut state, "id", &self.debug_id)); - try!(serializer.serialize_struct_elt(&mut state, "border_box", &self.border_box)); - try!(serializer.serialize_struct_elt(&mut state, "margin", &self.margin)); - serializer.serialize_struct_end(state) + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { + let mut serializer = try!(serializer.serialize_struct("fragment", 3)); + try!(serializer.serialize_field("id", &self.debug_id)); + try!(serializer.serialize_field("border_box", &self.border_box)); + try!(serializer.serialize_field("margin", &self.margin)); + serializer.end() } } @@ -3179,14 +3179,14 @@ impl fmt::Display for DebugId { #[cfg(not(debug_assertions))] impl Serialize for DebugId { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { serializer.serialize_str(&format!("{:p}", &self)) } } #[cfg(debug_assertions)] impl Serialize for DebugId { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { serializer.serialize_u16(self.0) } } diff --git a/components/layout/layout_debug.rs b/components/layout/layout_debug.rs index 9b67077add0..84ee68becc2 100644 --- a/components/layout/layout_debug.rs +++ b/components/layout/layout_debug.rs @@ -63,7 +63,7 @@ impl Scope { pub fn new(name: String) -> Scope { STATE_KEY.with(|ref r| { if let Some(ref mut state) = *r.borrow_mut() { - let flow_trace = to_value(&flow::base(&*state.flow_root)); + let flow_trace = to_value(&flow::base(&*state.flow_root)).unwrap(); let data = box ScopeData::new(name.clone(), flow_trace); state.scope_stack.push(data); } @@ -78,7 +78,7 @@ impl Drop for Scope { STATE_KEY.with(|ref r| { if let Some(ref mut state) = *r.borrow_mut() { let mut current_scope = state.scope_stack.pop().unwrap(); - current_scope.post = to_value(&flow::base(&*state.flow_root)); + current_scope.post = to_value(&flow::base(&*state.flow_root)).unwrap(); let previous_scope = state.scope_stack.last_mut().unwrap(); previous_scope.children.push(current_scope); } @@ -100,7 +100,7 @@ pub fn begin_trace(flow_root: FlowRef) { assert!(STATE_KEY.with(|ref r| r.borrow().is_none())); STATE_KEY.with(|ref r| { - let flow_trace = to_value(&flow::base(&*flow_root)); + let flow_trace = to_value(&flow::base(&*flow_root)).unwrap(); let state = State { scope_stack: vec![box ScopeData::new("root".to_owned(), flow_trace)], flow_root: flow_root.clone(), @@ -116,7 +116,7 @@ pub fn end_trace(generation: u32) { let mut thread_state = STATE_KEY.with(|ref r| r.borrow_mut().take().unwrap()); assert!(thread_state.scope_stack.len() == 1); let mut root_scope = thread_state.scope_stack.pop().unwrap(); - root_scope.post = to_value(&flow::base(&*thread_state.flow_root)); + root_scope.post = to_value(&flow::base(&*thread_state.flow_root)).unwrap(); let result = to_string(&root_scope).unwrap(); let mut file = File::create(format!("layout_trace-{}.json", generation)).unwrap(); diff --git a/components/layout/table_row.rs b/components/layout/table_row.rs index 0370d785e15..d1c7146d247 100644 --- a/components/layout/table_row.rs +++ b/components/layout/table_row.rs @@ -69,7 +69,7 @@ pub struct TableRowFlow { } impl Serialize for TableRowFlow { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { self.block_flow.serialize(serializer) } } @@ -578,8 +578,8 @@ pub struct CollapsedBorder { } impl Serialize for CollapsedBorder { - fn serialize<S: Serializer>(&self, _: &mut S) -> Result<(), S::Error> { - Ok(()) + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { + serializer.serialize_unit() } } diff --git a/components/layout/table_rowgroup.rs b/components/layout/table_rowgroup.rs index 0dde584ec77..e4c4291bce4 100644 --- a/components/layout/table_rowgroup.rs +++ b/components/layout/table_rowgroup.rs @@ -45,7 +45,7 @@ pub struct TableRowGroupFlow { } impl Serialize for TableRowGroupFlow { - fn serialize<S: Serializer>(&self, serializer: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { self.block_flow.serialize(serializer) } } diff --git a/components/layout_thread/Cargo.toml b/components/layout_thread/Cargo.toml index 05e682c0ef4..865bfdb68e9 100644 --- a/components/layout_thread/Cargo.toml +++ b/components/layout_thread/Cargo.toml @@ -10,13 +10,13 @@ name = "layout_thread" path = "lib.rs" [dependencies] -app_units = "0.3" -euclid = "0.10.1" +app_units = "0.4" +euclid = "0.11" fnv = "1.0" gfx = {path = "../gfx"} gfx_traits = {path = "../gfx_traits"} heapsize = "0.3.0" -ipc-channel = "0.5" +ipc-channel = "0.7" layout = {path = "../layout"} layout_traits = {path = "../layout_traits"} lazy_static = "0.2" @@ -31,8 +31,8 @@ script = {path = "../script"} script_layout_interface = {path = "../script_layout_interface"} script_traits = {path = "../script_traits"} selectors = { path = "../selectors" } -serde_derive = "0.8" -serde_json = "0.8" +serde_derive = "0.9" +serde_json = "0.9" servo_config = {path = "../config"} servo_geometry = {path = "../geometry"} servo_url = {path = "../url"} diff --git a/components/layout_traits/Cargo.toml b/components/layout_traits/Cargo.toml index 1464719f51e..3391077d93a 100644 --- a/components/layout_traits/Cargo.toml +++ b/components/layout_traits/Cargo.toml @@ -11,11 +11,11 @@ path = "lib.rs" [dependencies] gfx = {path = "../gfx"} -script_traits = {path = "../script_traits"} +ipc-channel = "0.7" msg = {path = "../msg"} net_traits = {path = "../net_traits"} profile_traits = {path = "../profile_traits"} -ipc-channel = "0.5" +script_traits = {path = "../script_traits"} servo_url = {path = "../url"} [dependencies.webrender_traits] diff --git a/components/msg/Cargo.toml b/components/msg/Cargo.toml index 33abb5cdaac..abcd274e79d 100644 --- a/components/msg/Cargo.toml +++ b/components/msg/Cargo.toml @@ -11,12 +11,12 @@ path = "lib.rs" [dependencies] bitflags = "0.7" -cssparser = {version = "0.9", features = ["heap_size", "serde-serialization"]} +cssparser = {version = "0.10", features = ["heapsize", "serde"]} heapsize = "0.3.0" heapsize_derive = "0.1" plugins = {path = "../plugins"} -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" [dependencies.webrender_traits] git = "https://github.com/servo/webrender" diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml index 993467a7ecd..612f3e786b3 100644 --- a/components/net/Cargo.toml +++ b/components/net/Cargo.toml @@ -11,14 +11,14 @@ path = "lib.rs" [dependencies] brotli = "1.0.6" -content-blocker = "0.2.1" +content-blocker = "0.2.3" cookie = {version = "0.2.5", features = ["serialize-rustc"]} devtools_traits = {path = "../devtools_traits"} flate2 = "0.2.0" hyper = "0.9.9" -hyper_serde = "0.1.4" +hyper_serde = "0.5" immeta = "0.3.1" -ipc-channel = "0.5" +ipc-channel = "0.7" lazy_static = "0.2" log = "0.3.5" matches = "0.1" @@ -37,7 +37,7 @@ threadpool = "1.0" time = "0.1.17" unicase = "1.4.0" url = {version = "1.2", features = ["heap_size", "rustc-serialize"]} -uuid = {version = "0.3.1", features = ["v4"]} +uuid = {version = "0.4", features = ["v4"]} websocket = "0.17" [dependencies.webrender_traits] diff --git a/components/net_traits/Cargo.toml b/components/net_traits/Cargo.toml index 8b226fe9e1e..b7f512dd336 100644 --- a/components/net_traits/Cargo.toml +++ b/components/net_traits/Cargo.toml @@ -10,24 +10,24 @@ name = "net_traits" path = "lib.rs" [dependencies] -msg = {path = "../msg"} -ipc-channel = "0.5" +cookie = {version = "0.2.5", features = ["serialize-rustc"]} heapsize = "0.3.0" heapsize_derive = "0.1" hyper = "0.9.9" -hyper_serde = "0.1.4" +hyper_serde = "0.5" image = "0.12" +ipc-channel = "0.7" lazy_static = "0.2" log = "0.3.5" +msg = {path = "../msg"} num-traits = "0.1.32" -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_config = {path = "../config", features = ["servo"]} servo_url = {path = "../url", features = ["servo"]} url = {version = "1.2", features = ["heap_size"]} +uuid = {version = "0.4", features = ["v4", "serde"]} websocket = "0.17" -uuid = { version = "0.3.1", features = ["v4", "serde"] } -cookie = {version = "0.2.5", features = ["serialize-rustc"]} [dependencies.webrender_traits] git = "https://github.com/servo/webrender" diff --git a/components/net_traits/lib.rs b/components/net_traits/lib.rs index 18c88e6243e..8f1e004e8b0 100644 --- a/components/net_traits/lib.rs +++ b/components/net_traits/lib.rs @@ -39,12 +39,12 @@ use hyper::header::{ContentType, Headers, ReferrerPolicy as ReferrerPolicyHeader use hyper::http::RawStatus; use hyper::mime::{Attr, Mime}; use hyper_serde::Serde; +use ipc_channel::Error; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use ipc_channel::router::ROUTER; use request::{Request, RequestInit}; use response::{HttpsState, Response}; use servo_url::ServoUrl; -use std::io::Error as IOError; use storage_thread::StorageThreadMsg; use websocket::header; @@ -266,7 +266,7 @@ impl<T: FetchResponseListener> Action<T> for FetchResponseMsg { /// Handle to a resource thread pub type CoreResourceThread = IpcSender<CoreResourceMsg>; -pub type IpcSendResult = Result<(), IOError>; +pub type IpcSendResult = Result<(), Error>; /// Abstraction of the ability to send a particular type of message, /// used by net_traits::ResourceThreads to ease the use its IpcSender sub-fields diff --git a/components/plugins/Cargo.toml b/components/plugins/Cargo.toml index 9370899a8ee..ad40e1b3797 100644 --- a/components/plugins/Cargo.toml +++ b/components/plugins/Cargo.toml @@ -15,5 +15,4 @@ version = "0.0.112" optional = true [features] -default = [] clippy = ["clippy_lints"] diff --git a/components/plugins/lib.rs b/components/plugins/lib.rs index 03585ae3718..d3e54a21a4d 100644 --- a/components/plugins/lib.rs +++ b/components/plugins/lib.rs @@ -2,58 +2,21 @@ * 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/. */ -//! Servo's compiler plugin/macro crate -//! -//! Attributes this crate provides: -//! -//! - `#[derive(DenyPublicFields)]` : Forces all fields in a struct/enum to be private -//! - `#[derive(JSTraceable)]` : Auto-derives an implementation of `JSTraceable` for a struct in the script crate -//! - `#[must_root]` : Prevents data of the marked type from being used on the stack. -//! See the lints module for more details -//! - `#[dom_struct]` : Implies #[derive(JSTraceable, DenyPublicFields)]`, and `#[must_root]`. -//! Use this for structs that correspond to a DOM type - - -#![feature(box_syntax, plugin, plugin_registrar, quote, rustc_private, slice_patterns)] +//! Exists only to hook into clippy. +#![cfg_attr(feature = "clippy", feature(plugin, plugin_registrar, rustc_private))] #![deny(unsafe_code)] #[cfg(feature = "clippy")] extern crate clippy_lints; -#[macro_use] -extern crate rustc; +#[cfg(feature = "clippy")] extern crate rustc_plugin; -extern crate syntax; +#[cfg(feature = "clippy")] use rustc_plugin::Registry; -use syntax::ext::base::*; -use syntax::feature_gate::AttributeType::Whitelisted; -use syntax::symbol::Symbol; - -// Public for documentation to show up -/// Handles the auto-deriving for `#[derive(JSTraceable)]` -pub mod jstraceable; -pub mod lints; -/// Utilities for writing plugins -mod utils; +#[cfg(feature = "clippy")] #[plugin_registrar] pub fn plugin_registrar(reg: &mut Registry) { - reg.register_syntax_extension( - Symbol::intern("dom_struct"), - MultiModifier(box jstraceable::expand_dom_struct)); - - reg.register_late_lint_pass(box lints::unrooted_must_root::UnrootedPass::new()); - reg.register_early_lint_pass(box lints::ban::BanPass); - reg.register_attribute("allow_unrooted_interior".to_string(), Whitelisted); - reg.register_attribute("must_root".to_string(), Whitelisted); - register_clippy(reg); -} - -#[cfg(feature = "clippy")] -fn register_clippy(reg: &mut Registry) { ::clippy_lints::register_plugins(reg); } -#[cfg(not(feature = "clippy"))] -fn register_clippy(_reg: &mut Registry) { -} diff --git a/components/plugins/lints/mod.rs b/components/plugins/lints/mod.rs deleted file mode 100644 index 0f94e4999e0..00000000000 --- a/components/plugins/lints/mod.rs +++ /dev/null @@ -1,6 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -pub mod ban; -pub mod unrooted_must_root; diff --git a/components/profile/Cargo.toml b/components/profile/Cargo.toml index 9dbb1a521cf..f85f5264aa0 100644 --- a/components/profile/Cargo.toml +++ b/components/profile/Cargo.toml @@ -12,12 +12,12 @@ path = "lib.rs" [dependencies] profile_traits = {path = "../profile_traits"} plugins = {path = "../plugins"} -ipc-channel = "0.5" -heartbeats-simple = "0.3" +ipc-channel = "0.7" +heartbeats-simple = "0.4" log = "0.3.5" -serde = "0.8" -serde_derive = "0.8" -serde_json = "0.8" +serde = "0.9" +serde_derive = "0.9" +serde_json = "0.9" servo_config = {path = "../config", features = ["servo"]} time = "0.1.12" diff --git a/components/profile_traits/Cargo.toml b/components/profile_traits/Cargo.toml index 954fb2907a1..15afbf0dfc9 100644 --- a/components/profile_traits/Cargo.toml +++ b/components/profile_traits/Cargo.toml @@ -13,13 +13,13 @@ path = "lib.rs" energy-profiling = ["energymon", "energy-monitor"] [dependencies] -ipc-channel = "0.5" -energymon = {git = "https://github.com/energymon/energymon-rust.git", optional = true} energy-monitor = {version = "0.2.0", optional = true} +energymon = {git = "https://github.com/energymon/energymon-rust.git", optional = true} +ipc-channel = "0.7" log = "0.3.5" plugins = {path = "../plugins"} -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_config = {path = "../config"} signpost = {git = "https://github.com/pcwalton/signpost.git"} time = "0.1.12" diff --git a/components/range/Cargo.toml b/components/range/Cargo.toml index d93df765089..bd12842b5d1 100644 --- a/components/range/Cargo.toml +++ b/components/range/Cargo.toml @@ -14,5 +14,5 @@ path = "lib.rs" heapsize = "0.3.0" heapsize_derive = "0.1" num-traits = "0.1.32" -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index 9eb4af38f4d..4007e7ae040 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -18,14 +18,14 @@ debugmozjs = ['js/debugmozjs'] cmake = "0.1" phf_codegen = "0.7.18" phf_shared = "0.7.18" -serde_json = "0.8" +serde_json = "0.9" [target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies] tinyfiledialogs = "2.5.9" [dependencies] angle = {git = "https://github.com/servo/angle", branch = "servo"} -app_units = "0.3" +app_units = "0.4" audio-video-metadata = "0.1.2" atomic_refcell = "0.1" bitflags = "0.7" @@ -34,22 +34,22 @@ byteorder = "1.0" canvas_traits = {path = "../canvas_traits"} caseless = "0.1.0" cookie = {version = "0.2.5", features = ["serialize-rustc"]} -cssparser = {version = "0.9", features = ["heap_size", "serde-serialization"]} +cssparser = {version = "0.10", features = ["heapsize", "serde"]} deny_public_fields = {path = "../deny_public_fields"} devtools_traits = {path = "../devtools_traits"} domobject_derive = {path = "../domobject_derive"} encoding = "0.2" -euclid = "0.10.1" +euclid = "0.11" fnv = "1.0" gfx_traits = {path = "../gfx_traits"} heapsize = "0.3.6" heapsize_derive = "0.1" -html5ever = {version = "0.12.1", features = ["heap_size", "unstable"]} -html5ever-atoms = {version = "0.1", features = ["heap_size"]} +html5ever = {version = "0.13", features = ["heap_size", "unstable"]} +html5ever-atoms = {version = "0.2", features = ["heap_size"]} hyper = "0.9.9" -hyper_serde = "0.1.4" +hyper_serde = "0.5" image = "0.12" -ipc-channel = "0.5" +ipc-channel = "0.7" js = {git = "https://github.com/servo/rust-mozjs", features = ["promises"]} jstraceable_derive = {path = "../jstraceable_derive"} libc = "0.2" @@ -59,7 +59,7 @@ mime_guess = "1.8.0" msg = {path = "../msg"} net_traits = {path = "../net_traits"} num-traits = "0.1.32" -offscreen_gl_context = "0.5.0" +offscreen_gl_context = "0.6" open = "1.1.1" parking_lot = "0.3" phf = "0.7.18" @@ -71,9 +71,10 @@ ref_slice = "1.0" regex = "0.2" rustc-serialize = "0.3" script_layout_interface = {path = "../script_layout_interface"} +script_plugins = {path = "../script_plugins"} script_traits = {path = "../script_traits"} selectors = { path = "../selectors" } -serde = "0.8" +serde = "0.9" servo_atoms = {path = "../atoms"} servo_config = {path = "../config", features = ["servo"] } servo_geometry = {path = "../geometry" } @@ -84,9 +85,9 @@ style = {path = "../style"} style_traits = {path = "../style_traits"} time = "0.1.12" url = {version = "1.2", features = ["heap_size", "query_encoding"]} -uuid = {version = "0.3.1", features = ["v4"]} +uuid = {version = "0.4", features = ["v4"]} websocket = "0.17" -xml5ever = {version = "0.3.1", features = ["unstable"]} +xml5ever = {version = "0.4", features = ["unstable"]} webvr = {path = "../webvr"} webvr_traits = {path = "../webvr_traits"} diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 4a9e7a8cc32..73dfb4294f1 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -3995,12 +3995,18 @@ pub const strings: &'static [&'static str] = &[ %s, ]; +impl super::%s { + pub fn as_str(&self) -> &'static str { + strings[*self as usize] + } +} + impl ToJSValConvertible for super::%s { unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue) { strings[*self as usize].to_jsval(cx, rval); } } -""" % (",\n ".join(['"%s"' % val for val in enum.values()]), enum.identifier.name) +""" % (",\n ".join(['"%s"' % val for val in enum.values()]), enum.identifier.name, enum.identifier.name) self.cgRoot = CGList([ CGGeneric(decl), diff --git a/components/script/dom/browsingcontext.rs b/components/script/dom/browsingcontext.rs index 9f0be02e484..5e523d6982a 100644 --- a/components/script/dom/browsingcontext.rs +++ b/components/script/dom/browsingcontext.rs @@ -3,13 +3,17 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::conversions::{ToJSValConvertible, root_from_handleobject}; +use dom::bindings::error::{Error, throw_dom_exception}; +use dom::bindings::inheritance::Castable; use dom::bindings::js::{JS, Root, RootedReference}; use dom::bindings::proxyhandler::{fill_property_descriptor, get_property_descriptor}; use dom::bindings::reflector::{DomObject, Reflector}; use dom::bindings::trace::JSTraceable; use dom::bindings::utils::WindowProxyHandler; use dom::bindings::utils::get_array_index_from_id; +use dom::dissimilaroriginwindow::DissimilarOriginWindow; use dom::element::Element; +use dom::globalscope::GlobalScope; use dom::window::Window; use js::JSCLASS_IS_GLOBAL; use js::glue::{CreateWrapperProxyHandler, ProxyTraps, NewWindowProxy}; @@ -18,12 +22,13 @@ use js::jsapi::{Handle, HandleId, HandleObject, HandleValue}; use js::jsapi::{JSAutoCompartment, JSContext, JSErrNum, JSFreeOp, JSObject}; use js::jsapi::{JSPROP_READONLY, JSTracer, JS_DefinePropertyById}; use js::jsapi::{JS_ForwardGetPropertyTo, JS_ForwardSetPropertyTo}; -use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_HasPropertyById}; -use js::jsapi::{JS_TransplantObject, SetWindowProxy}; +use js::jsapi::{JS_GetOwnPropertyDescriptorById, JS_HasPropertyById, JS_HasOwnPropertyById}; +use js::jsapi::{JS_IsExceptionPending, JS_TransplantObject, SetWindowProxy}; use js::jsapi::{MutableHandle, MutableHandleObject, MutableHandleValue}; use js::jsapi::{ObjectOpResult, PropertyDescriptor}; use js::jsval::{UndefinedValue, PrivateValue}; use js::rust::get_object_class; +use msg::constellation_msg::PipelineId; use std::cell::Cell; use std::ptr; @@ -39,6 +44,13 @@ pub struct BrowsingContext { /// changes Window. reflector: Reflector, + /// The pipeline id of the currently active document. + /// May be None, when the currently active document is in another script thread. + /// We do not try to keep the pipeline id for documents in other threads, + /// as this would require the constellation notifying many script threads about + /// the change, which could be expensive. + currently_active: Cell<Option<PipelineId>>, + /// Has this browsing context been discarded? discarded: Cell<bool>, @@ -47,9 +59,10 @@ pub struct BrowsingContext { } impl BrowsingContext { - pub fn new_inherited(frame_element: Option<&Element>) -> BrowsingContext { + pub fn new_inherited(currently_active: PipelineId, frame_element: Option<&Element>) -> BrowsingContext { BrowsingContext { reflector: Reflector::new(), + currently_active: Cell::new(Some(currently_active)), discarded: Cell::new(false), frame_element: frame_element.map(JS::from_ref), } @@ -72,7 +85,8 @@ impl BrowsingContext { assert!(!window_proxy.is_null()); // Create a new browsing context. - let mut browsing_context = box BrowsingContext::new_inherited(frame_element); + let currently_active = window.global().pipeline_id(); + let mut browsing_context = box BrowsingContext::new_inherited(currently_active, frame_element); // The window proxy owns the browsing context. // When we finalize the window proxy, it drops the browsing context it owns. @@ -104,10 +118,10 @@ impl BrowsingContext { /// Change the Window that this browsing context's WindowProxy resolves to. // TODO: support setting the window proxy to a dummy value, // to handle the case when the active document is in another script thread. - pub fn set_window_proxy(&self, window: &Window) { + fn set_window_proxy(&self, window: &GlobalScope, traps: &ProxyTraps) { unsafe { debug!("Setting window proxy of {:p}.", self); - let WindowProxyHandler(handler) = window.windowproxy_handler(); + let handler = CreateWrapperProxyHandler(traps); assert!(!handler.is_null()); let cx = window.get_cx(); @@ -144,6 +158,22 @@ impl BrowsingContext { } } + pub fn set_currently_active(&self, window: &Window) { + let globalscope = window.upcast(); + self.set_window_proxy(&*globalscope, &PROXY_HANDLER); + self.currently_active.set(Some(globalscope.pipeline_id())); + } + + pub fn unset_currently_active(&self) { + let window = DissimilarOriginWindow::new(self); + self.set_window_proxy(&*window.upcast(), &XORIGIN_PROXY_HANDLER); + self.currently_active.set(None); + } + + pub fn currently_active(&self) -> Option<PipelineId> { + self.currently_active.get() + } + pub fn window_proxy(&self) -> *mut JSObject { let window_proxy = self.reflector.get_jsobject(); assert!(!window_proxy.get().is_null()); @@ -333,6 +363,145 @@ static PROXY_HANDLER: ProxyTraps = ProxyTraps { }; #[allow(unsafe_code)] +pub fn new_window_proxy_handler() -> WindowProxyHandler { + unsafe { + WindowProxyHandler(CreateWrapperProxyHandler(&PROXY_HANDLER)) + } +} + +// The proxy traps for cross-origin windows. +// These traps often throw security errors, and only pass on calls to methods +// defined in the DissimilarOriginWindow IDL. + +#[allow(unsafe_code)] +unsafe fn throw_security_error(cx: *mut JSContext) -> bool { + if !JS_IsExceptionPending(cx) { + let global = GlobalScope::from_context(cx); + throw_dom_exception(cx, &*global, Error::Security); + } + false +} + +#[allow(unsafe_code)] +unsafe extern "C" fn has_xorigin(cx: *mut JSContext, + proxy: HandleObject, + id: HandleId, + bp: *mut bool) + -> bool +{ + rooted!(in(cx) let target = GetProxyPrivate(*proxy.ptr).to_object()); + let mut found = false; + JS_HasOwnPropertyById(cx, target.handle(), id, &mut found); + if found { + *bp = true; + true + } else { + throw_security_error(cx) + } +} + +#[allow(unsafe_code)] +unsafe extern "C" fn get_xorigin(cx: *mut JSContext, + proxy: HandleObject, + receiver: HandleValue, + id: HandleId, + vp: MutableHandleValue) + -> bool +{ + let mut found = false; + has_xorigin(cx, proxy, id, &mut found); + found && get(cx, proxy, receiver, id, vp) +} + +#[allow(unsafe_code)] +unsafe extern "C" fn set_xorigin(cx: *mut JSContext, + _: HandleObject, + _: HandleId, + _: HandleValue, + _: HandleValue, + _: *mut ObjectOpResult) + -> bool +{ + throw_security_error(cx) +} + +#[allow(unsafe_code)] +unsafe extern "C" fn delete_xorigin(cx: *mut JSContext, + _: HandleObject, + _: HandleId, + _: *mut ObjectOpResult) + -> bool +{ + throw_security_error(cx) +} + +#[allow(unsafe_code)] +unsafe extern "C" fn getOwnPropertyDescriptor_xorigin(cx: *mut JSContext, + proxy: HandleObject, + id: HandleId, + desc: MutableHandle<PropertyDescriptor>) + -> bool +{ + let mut found = false; + has_xorigin(cx, proxy, id, &mut found); + found && getOwnPropertyDescriptor(cx, proxy, id, desc) +} + +#[allow(unsafe_code)] +unsafe extern "C" fn defineProperty_xorigin(cx: *mut JSContext, + _: HandleObject, + _: HandleId, + _: Handle<PropertyDescriptor>, + _: *mut ObjectOpResult) + -> bool +{ + throw_security_error(cx) +} + +#[allow(unsafe_code)] +unsafe extern "C" fn preventExtensions_xorigin(cx: *mut JSContext, + _: HandleObject, + _: *mut ObjectOpResult) + -> bool +{ + throw_security_error(cx) +} + +static XORIGIN_PROXY_HANDLER: ProxyTraps = ProxyTraps { + enter: None, + getOwnPropertyDescriptor: Some(getOwnPropertyDescriptor_xorigin), + defineProperty: Some(defineProperty_xorigin), + ownPropertyKeys: None, + delete_: Some(delete_xorigin), + enumerate: None, + getPrototypeIfOrdinary: None, + preventExtensions: Some(preventExtensions_xorigin), + isExtensible: None, + has: Some(has_xorigin), + get: Some(get_xorigin), + set: Some(set_xorigin), + call: None, + construct: None, + getPropertyDescriptor: Some(getOwnPropertyDescriptor_xorigin), + hasOwn: Some(has_xorigin), + getOwnEnumerablePropertyKeys: None, + nativeCall: None, + hasInstance: None, + objectClassIs: None, + className: None, + fun_toString: None, + boxedValue_unbox: None, + defaultValue: None, + trace: Some(trace), + finalize: Some(finalize), + objectMoved: None, + isCallable: None, + isConstructor: None, +}; + +// How WindowProxy objects are garbage collected. + +#[allow(unsafe_code)] unsafe extern fn finalize(_fop: *mut JSFreeOp, obj: *mut JSObject) { let this = GetProxyExtra(obj, 0).to_private() as *mut BrowsingContext; if this.is_null() { @@ -354,9 +523,3 @@ unsafe extern fn trace(trc: *mut JSTracer, obj: *mut JSObject) { (*this).trace(trc); } -#[allow(unsafe_code)] -pub fn new_window_proxy_handler() -> WindowProxyHandler { - unsafe { - WindowProxyHandler(CreateWrapperProxyHandler(&PROXY_HANDLER)) - } -} diff --git a/components/script/dom/dissimilaroriginlocation.rs b/components/script/dom/dissimilaroriginlocation.rs new file mode 100644 index 00000000000..6f5eda8c402 --- /dev/null +++ b/components/script/dom/dissimilaroriginlocation.rs @@ -0,0 +1,80 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use dom::bindings::codegen::Bindings::DissimilarOriginLocationBinding; +use dom::bindings::codegen::Bindings::DissimilarOriginLocationBinding::DissimilarOriginLocationMethods; +use dom::bindings::error::{Error, ErrorResult, Fallible}; +use dom::bindings::js::{JS, Root}; +use dom::bindings::reflector::Reflector; +use dom::bindings::reflector::reflect_dom_object; +use dom::bindings::str::DOMString; +use dom::bindings::str::USVString; +use dom::dissimilaroriginwindow::DissimilarOriginWindow; + +/// Represents a dissimilar-origin `Location` that exists in another script thread. +/// +/// Since the `Location` is in a different script thread, we cannot access it +/// directly, but some of its accessors (for example setting `location.href`) +/// still need to function. + +#[dom_struct] +pub struct DissimilarOriginLocation { + /// The reflector. Once we have XOWs, this will have a cross-origin + /// wrapper placed around it. + reflector: Reflector, + + /// The window associated with this location. + window: JS<DissimilarOriginWindow>, +} + +impl DissimilarOriginLocation { + #[allow(unrooted_must_root)] + fn new_inherited(window: &DissimilarOriginWindow) -> DissimilarOriginLocation { + DissimilarOriginLocation { + reflector: Reflector::new(), + window: JS::from_ref(window), + } + } + + pub fn new(window: &DissimilarOriginWindow) -> Root<DissimilarOriginLocation> { + reflect_dom_object(box DissimilarOriginLocation::new_inherited(window), + window, + DissimilarOriginLocationBinding::Wrap) + } +} + +impl DissimilarOriginLocationMethods for DissimilarOriginLocation { + // https://html.spec.whatwg.org/multipage/#dom-location-href + fn GetHref(&self) -> Fallible<USVString> { + Err(Error::Security) + } + + // https://html.spec.whatwg.org/multipage/#dom-location-href + fn SetHref(&self, _: USVString) -> ErrorResult { + // TODO: setting href on a cross-origin window should succeed? + Err(Error::Security) + } + + // https://html.spec.whatwg.org/multipage/#dom-location-assign + fn Assign(&self, _: USVString) -> Fallible<()> { + // TODO: setting href on a cross-origin window should succeed? + Err(Error::Security) + } + + // https://html.spec.whatwg.org/multipage/#dom-location-replace + fn Replace(&self, _: USVString) -> Fallible<()> { + // TODO: replacing href on a cross-origin window should succeed? + Err(Error::Security) + } + + // https://html.spec.whatwg.org/multipage/#dom-location-reload + fn Reload(&self) -> Fallible<()> { + Err(Error::Security) + } + + // https://html.spec.whatwg.org/multipage/#dom-location-href + fn Stringifier(&self) -> Fallible<DOMString> { + Err(Error::Security) + } +} diff --git a/components/script/dom/dissimilaroriginwindow.rs b/components/script/dom/dissimilaroriginwindow.rs new file mode 100644 index 00000000000..518adb0f341 --- /dev/null +++ b/components/script/dom/dissimilaroriginwindow.rs @@ -0,0 +1,140 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use dom::bindings::codegen::Bindings::DissimilarOriginWindowBinding; +use dom::bindings::codegen::Bindings::DissimilarOriginWindowBinding::DissimilarOriginWindowMethods; +use dom::bindings::js::{JS, MutNullableJS, Root}; +use dom::bindings::reflector::DomObject; +use dom::bindings::str::DOMString; +use dom::browsingcontext::BrowsingContext; +use dom::dissimilaroriginlocation::DissimilarOriginLocation; +use dom::globalscope::GlobalScope; +use ipc_channel::ipc; +use js::jsapi::{JSContext, HandleValue}; +use js::jsval::{JSVal, UndefinedValue}; +use msg::constellation_msg::PipelineId; + +/// Represents a dissimilar-origin `Window` that exists in another script thread. +/// +/// Since the `Window` is in a different script thread, we cannot access it +/// directly, but some of its accessors (for example `window.parent`) +/// still need to function. +/// +/// In `browsingcontext.rs`, we create a custom window proxy for these windows, +/// that throws security exceptions for most accessors. This is not a replacement +/// for XOWs, but provides belt-and-braces security. +#[dom_struct] +pub struct DissimilarOriginWindow { + /// The global for this window. + globalscope: GlobalScope, + + /// The browsing context this window is part of. + browsing_context: JS<BrowsingContext>, + + /// The location of this window, initialized lazily. + location: MutNullableJS<DissimilarOriginLocation>, +} + +impl DissimilarOriginWindow { + #[allow(unsafe_code)] + pub fn new(browsing_context: &BrowsingContext) -> Root<DissimilarOriginWindow> { + let globalscope = browsing_context.global(); + let cx = globalscope.get_cx(); + // Any timer events fired on this window are ignored. + let (timer_event_chan, _) = ipc::channel().unwrap(); + let win = box DissimilarOriginWindow { + globalscope: GlobalScope::new_inherited(PipelineId::new(), + globalscope.devtools_chan().cloned(), + globalscope.mem_profiler_chan().clone(), + globalscope.time_profiler_chan().clone(), + globalscope.constellation_chan().clone(), + globalscope.scheduler_chan().clone(), + globalscope.resource_threads().clone(), + timer_event_chan), + browsing_context: JS::from_ref(browsing_context), + location: MutNullableJS::new(None), + }; + unsafe { DissimilarOriginWindowBinding::Wrap(cx, win) } + } +} + +impl DissimilarOriginWindowMethods for DissimilarOriginWindow { + // https://html.spec.whatwg.org/multipage/#dom-window + fn Window(&self) -> Root<BrowsingContext> { + Root::from_ref(&*self.browsing_context) + } + + // https://html.spec.whatwg.org/multipage/#dom-self + fn Self_(&self) -> Root<BrowsingContext> { + Root::from_ref(&*self.browsing_context) + } + + // https://html.spec.whatwg.org/multipage/#dom-frames + fn Frames(&self) -> Root<BrowsingContext> { + Root::from_ref(&*self.browsing_context) + } + + // https://html.spec.whatwg.org/multipage/#dom-parent + fn GetParent(&self) -> Option<Root<BrowsingContext>> { + // TODO: implement window.parent correctly for x-origin windows. + Some(Root::from_ref(&*self.browsing_context)) + } + + // https://html.spec.whatwg.org/multipage/#dom-top + fn GetTop(&self) -> Option<Root<BrowsingContext>> { + // TODO: implement window.top correctly for x-origin windows. + Some(Root::from_ref(&*self.browsing_context)) + } + + // https://html.spec.whatwg.org/multipage/#dom-length + fn Length(&self) -> u32 { + // TODO: Implement x-origin length + 0 + } + + // https://html.spec.whatwg.org/multipage/#dom-window-close + fn Close(&self) { + // TODO: Implement x-origin close + } + + // https://html.spec.whatwg.org/multipage/#dom-window-closed + fn Closed(&self) -> bool { + // TODO: Implement x-origin close + false + } + + #[allow(unsafe_code)] + // https://html.spec.whatwg.org/multipage/#dom-window-postmessage + unsafe fn PostMessage(&self, _: *mut JSContext, _: HandleValue, _: DOMString) { + // TODO: Implement x-origin postMessage + } + + #[allow(unsafe_code)] + // https://html.spec.whatwg.org/multipage/#dom-opener + unsafe fn Opener(&self, _: *mut JSContext) -> JSVal { + // TODO: Implement x-origin opener + UndefinedValue() + } + + #[allow(unsafe_code)] + // https://html.spec.whatwg.org/multipage/#dom-opener + unsafe fn SetOpener(&self, _: *mut JSContext, _: HandleValue) { + // TODO: Implement x-origin opener + } + + // https://html.spec.whatwg.org/multipage/#dom-window-blur + fn Blur(&self) { + // TODO: Implement x-origin blur + } + + // https://html.spec.whatwg.org/multipage/#dom-focus + fn Focus(&self) { + // TODO: Implement x-origin focus + } + + // https://html.spec.whatwg.org/multipage/#dom-location + fn Location(&self) -> Root<DissimilarOriginLocation> { + self.location.or_init(|| DissimilarOriginLocation::new(self)) + } +} diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 2ac8f234524..56053555f7c 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -2046,7 +2046,7 @@ impl Document { } } - // https://dom.spec.whatwg.org/#dom-document + // https://dom.spec.whatwg.org/#dom-document-document pub fn Constructor(window: &Window) -> Fallible<Root<Document>> { let doc = window.Document(); let docloader = DocumentLoader::new(&*doc.loader()); diff --git a/components/script/dom/domparser.rs b/components/script/dom/domparser.rs index 32b5c5343a1..d89ec3c1595 100644 --- a/components/script/dom/domparser.rs +++ b/components/script/dom/domparser.rs @@ -53,8 +53,7 @@ impl DOMParserMethods for DOMParser { ty: DOMParserBinding::SupportedType) -> Fallible<Root<Document>> { let url = self.window.get_url(); - let content_type = - DOMString::from(DOMParserBinding::SupportedTypeValues::strings[ty as usize]); + let content_type = DOMString::from(ty.as_str()); let doc = self.window.Document(); let loader = DocumentLoader::new(&*doc.loader()); match ty { diff --git a/components/script/dom/htmloptionscollection.rs b/components/script/dom/htmloptionscollection.rs index 95478fc30f3..be7031ab8d0 100644 --- a/components/script/dom/htmloptionscollection.rs +++ b/components/script/dom/htmloptionscollection.rs @@ -6,6 +6,7 @@ use dom::bindings::codegen::Bindings::ElementBinding::ElementMethods; use dom::bindings::codegen::Bindings::HTMLCollectionBinding::HTMLCollectionMethods; use dom::bindings::codegen::Bindings::HTMLOptionsCollectionBinding; use dom::bindings::codegen::Bindings::HTMLOptionsCollectionBinding::HTMLOptionsCollectionMethods; +use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeBinding::NodeMethods; use dom::bindings::codegen::UnionTypes::{HTMLOptionElementOrHTMLOptGroupElement, HTMLElementOrLong}; use dom::bindings::error::{Error, ErrorResult}; @@ -183,4 +184,22 @@ impl HTMLOptionsCollectionMethods for HTMLOptionsCollection { element.Remove(); } } + + // https://html.spec.whatwg.org/multipage/#dom-htmloptionscollection-selectedindex + fn SelectedIndex(&self) -> i32 { + self.upcast() + .root_node() + .downcast::<HTMLSelectElement>() + .expect("HTMLOptionsCollection not rooted on a HTMLSelectElement") + .SelectedIndex() + } + + // https://html.spec.whatwg.org/multipage/#dom-htmloptionscollection-selectedindex + fn SetSelectedIndex(&self, index: i32) { + self.upcast() + .root_node() + .downcast::<HTMLSelectElement>() + .expect("HTMLOptionsCollection not rooted on a HTMLSelectElement") + .SetSelectedIndex(index) + } } diff --git a/components/script/dom/mediaquerylist.rs b/components/script/dom/mediaquerylist.rs index c6e569b5e42..2545b911c7a 100644 --- a/components/script/dom/mediaquerylist.rs +++ b/components/script/dom/mediaquerylist.rs @@ -138,17 +138,23 @@ impl WeakMediaQueryListVec { /// Evaluate media query lists and report changes /// https://drafts.csswg.org/cssom-view/#evaluate-media-queries-and-report-changes pub fn evaluate_and_report_changes(&self) { + rooted_vec!(let mut mql_list); self.cell.borrow_mut().update(|mql| { let mql = mql.root().unwrap(); if let MediaQueryListMatchState::Changed(_) = mql.evaluate_changes() { - let event = MediaQueryListEvent::new(&mql.global(), - atom!("change"), - false, false, - mql.Media(), - mql.Matches()); - event.upcast::<Event>().fire(mql.upcast::<EventTarget>()); + // Recording list of changed Media Queries + mql_list.push(JS::from_ref(&*mql)); } }); + // Sending change events for all changed Media Queries + for mql in mql_list.iter() { + let event = MediaQueryListEvent::new(&mql.global(), + atom!("change"), + false, false, + mql.Media(), + mql.Matches()); + event.upcast::<Event>().fire(mql.upcast::<EventTarget>()); + } } } diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 4b3c0c02cbb..7b96ea2523d 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -258,6 +258,8 @@ pub mod csssupportsrule; pub mod cssviewportrule; pub mod customevent; pub mod dedicatedworkerglobalscope; +pub mod dissimilaroriginlocation; +pub mod dissimilaroriginwindow; pub mod document; pub mod documentfragment; pub mod documenttype; diff --git a/components/script/dom/permissionstatus.rs b/components/script/dom/permissionstatus.rs index 0d060aa8e84..339d8228eca 100644 --- a/components/script/dom/permissionstatus.rs +++ b/components/script/dom/permissionstatus.rs @@ -4,7 +4,7 @@ use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull; use dom::bindings::codegen::Bindings::PermissionStatusBinding::{self, PermissionDescriptor, PermissionName}; -use dom::bindings::codegen::Bindings::PermissionStatusBinding::{PermissionNameValues, PermissionState}; +use dom::bindings::codegen::Bindings::PermissionStatusBinding::PermissionState; use dom::bindings::codegen::Bindings::PermissionStatusBinding::PermissionStatusMethods; use dom::bindings::js::Root; use dom::bindings::reflector::reflect_dom_object; @@ -57,6 +57,6 @@ impl PermissionStatusMethods for PermissionStatus { impl Display for PermissionName { fn fmt(&self, f: &mut Formatter) -> fmt::Result { - write!(f, "{}", PermissionNameValues::strings[*self as usize].to_string()) + write!(f, "{}", self.as_str()) } } diff --git a/components/script/dom/webidls/DissimilarOriginLocation.webidl b/components/script/dom/webidls/DissimilarOriginLocation.webidl new file mode 100644 index 00000000000..8eca6a790ac --- /dev/null +++ b/components/script/dom/webidls/DissimilarOriginLocation.webidl @@ -0,0 +1,25 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +// This is a Servo-specific interface, used to represent locations +// that are not similar-origin, so live in another script thread. +// It is based on the interface for Window, but only contains the +// accessors that do not throw security exceptions when called +// cross-origin. +// +// Note that similar-origin locations are kept in the same script +// thread, so this mechanism cannot be relied upon as the only +// way to enforce security policy. + +// https://html.spec.whatwg.org/multipage/#location +[Unforgeable, NoInterfaceObject] interface DissimilarOriginLocation { + [Throws] attribute USVString href; + [Throws] void assign(USVString url); + [Throws] void replace(USVString url); + [Throws] void reload(); + [Throws] stringifier; + + // TODO: finish this interface +}; diff --git a/components/script/dom/webidls/DissimilarOriginWindow.webidl b/components/script/dom/webidls/DissimilarOriginWindow.webidl new file mode 100644 index 00000000000..6aeb5c7d1b2 --- /dev/null +++ b/components/script/dom/webidls/DissimilarOriginWindow.webidl @@ -0,0 +1,32 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// This is a Servo-specific interface, used to represent windows +// that are not similar-origin, so live in another script thread. +// It is based on the interface for Window, but only contains the +// accessors that do not throw security exceptions when called +// cross-origin. +// +// Note that similar-origin windows are kept in the same script +// thread, so this mechanism cannot be relied upon as the only +// way to enforce security policy. + +// https://html.spec.whatwg.org/multipage/#window +[Global, NoInterfaceObject] +interface DissimilarOriginWindow : GlobalScope { + [Unforgeable] readonly attribute WindowProxy window; + [BinaryName="Self_", Replaceable] readonly attribute WindowProxy self; + [Unforgeable] readonly attribute WindowProxy? parent; + [Unforgeable] readonly attribute WindowProxy? top; + [Replaceable] readonly attribute WindowProxy frames; + [Replaceable] readonly attribute unsigned long length; + [Unforgeable] readonly attribute DissimilarOriginLocation location; + + void close(); + readonly attribute boolean closed; + void postMessage(any message, DOMString targetOrigin); + attribute any opener; + void blur(); + void focus(); +}; diff --git a/components/script/dom/webidls/HTMLOptionsCollection.webidl b/components/script/dom/webidls/HTMLOptionsCollection.webidl index bb6fce7dc20..73b11779159 100644 --- a/components/script/dom/webidls/HTMLOptionsCollection.webidl +++ b/components/script/dom/webidls/HTMLOptionsCollection.webidl @@ -14,5 +14,5 @@ interface HTMLOptionsCollection : HTMLCollection { void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); //[CEReactions] void remove(long index); - //attribute long selectedIndex; + attribute long selectedIndex; }; diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index d1eba0245e0..1fbe57ba165 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -1514,7 +1514,10 @@ impl Window { // Suspend timer events. self.upcast::<GlobalScope>().suspend(); - // TODO: set the window proxy to resolve to an object which throws security errors. #15233 + // Set the window proxy to be a cross-origin window. + if self.browsing_context().currently_active() == Some(self.global().pipeline_id()) { + self.browsing_context().unset_currently_active(); + } // A hint to the JS runtime that now would be a good time to // GC any unreachable objects generated by user script, @@ -1528,7 +1531,7 @@ impl Window { self.upcast::<GlobalScope>().resume(); // Set the window proxy to be this object. - self.browsing_context().set_window_proxy(&self); + self.browsing_context().set_currently_active(self); // Push the document title to the compositor since we are // activating this document due to a navigation. diff --git a/components/script/lib.rs b/components/script/lib.rs index c7a1598c889..92be1272d6f 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -23,6 +23,7 @@ #![doc = "The script crate contains all matters DOM."] #![plugin(plugins)] +#![plugin(script_plugins)] extern crate angle; extern crate app_units; diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index fa83eaed631..ac093a7a5df 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -1678,7 +1678,7 @@ impl ScriptThread { }, hash_map::Entry::Occupied(entry) => { let browsing_context = entry.get(); - browsing_context.set_window_proxy(&window); + browsing_context.set_currently_active(&*window); window.init_browsing_context(browsing_context); }, } @@ -1782,7 +1782,9 @@ impl ScriptThread { ServoParser::parse_html_document(&document, parse_input, final_url); } - if incomplete.activity != DocumentActivity::FullyActive { + if incomplete.activity == DocumentActivity::FullyActive { + window.resume(); + } else { window.suspend(); } diff --git a/components/script_layout_interface/Cargo.toml b/components/script_layout_interface/Cargo.toml index e6b18ff0517..6476693f758 100644 --- a/components/script_layout_interface/Cargo.toml +++ b/components/script_layout_interface/Cargo.toml @@ -10,16 +10,16 @@ name = "script_layout_interface" path = "lib.rs" [dependencies] -app_units = "0.3" +app_units = "0.4" atomic_refcell = "0.1" canvas_traits = {path = "../canvas_traits"} -cssparser = {version = "0.9", features = ["heap_size", "serde-serialization"]} -euclid = "0.10.1" +cssparser = {version = "0.10", features = ["heapsize", "serde"]} +euclid = "0.11" gfx_traits = {path = "../gfx_traits"} heapsize = "0.3.0" heapsize_derive = "0.1" -html5ever-atoms = "0.1" -ipc-channel = "0.5" +html5ever-atoms = "0.2" +ipc-channel = "0.7" libc = "0.2" log = "0.3.5" msg = {path = "../msg"} diff --git a/components/script_plugins/Cargo.toml b/components/script_plugins/Cargo.toml new file mode 100644 index 00000000000..6b200e3ef0f --- /dev/null +++ b/components/script_plugins/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "script_plugins" +version = "0.0.1" +authors = ["The Servo Project Developers"] +license = "MPL-2.0" +publish = false + +[lib] +path = "lib.rs" +plugin = true diff --git a/components/plugins/lints/ban.rs b/components/script_plugins/ban.rs index 4a4e71c08cc..4a4e71c08cc 100644 --- a/components/plugins/lints/ban.rs +++ b/components/script_plugins/ban.rs diff --git a/components/plugins/jstraceable.rs b/components/script_plugins/jstraceable.rs index 071a0b54fdc..071a0b54fdc 100644 --- a/components/plugins/jstraceable.rs +++ b/components/script_plugins/jstraceable.rs diff --git a/components/script_plugins/lib.rs b/components/script_plugins/lib.rs new file mode 100644 index 00000000000..79aa5a4752d --- /dev/null +++ b/components/script_plugins/lib.rs @@ -0,0 +1,48 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +//! Servo's compiler plugin/macro crate +//! +//! Attributes this crate provides: +//! +//! - `#[derive(DenyPublicFields)]` : Forces all fields in a struct/enum to be private +//! - `#[derive(JSTraceable)]` : Auto-derives an implementation of `JSTraceable` for a struct in the script crate +//! - `#[must_root]` : Prevents data of the marked type from being used on the stack. +//! See the lints module for more details +//! - `#[dom_struct]` : Implies #[derive(JSTraceable, DenyPublicFields)]`, and `#[must_root]`. +//! Use this for structs that correspond to a DOM type + + +#![deny(unsafe_code)] +#![feature(box_syntax, plugin, plugin_registrar, quote, rustc_private, slice_patterns)] + +#[macro_use] +extern crate rustc; +extern crate rustc_plugin; +extern crate syntax; + +use rustc_plugin::Registry; +use syntax::ext::base::*; +use syntax::feature_gate::AttributeType::Whitelisted; +use syntax::symbol::Symbol; + +mod ban; +// Public for documentation to show up +/// Handles the auto-deriving for `#[derive(JSTraceable)]` +pub mod jstraceable; +mod unrooted_must_root; +/// Utilities for writing plugins +mod utils; + +#[plugin_registrar] +pub fn plugin_registrar(reg: &mut Registry) { + reg.register_syntax_extension( + Symbol::intern("dom_struct"), + MultiModifier(box jstraceable::expand_dom_struct)); + + reg.register_late_lint_pass(box unrooted_must_root::UnrootedPass::new()); + reg.register_early_lint_pass(box ban::BanPass); + reg.register_attribute("allow_unrooted_interior".to_string(), Whitelisted); + reg.register_attribute("must_root".to_string(), Whitelisted); +} diff --git a/components/plugins/lints/unrooted_must_root.rs b/components/script_plugins/unrooted_must_root.rs index 660a0c58781..660a0c58781 100644 --- a/components/plugins/lints/unrooted_must_root.rs +++ b/components/script_plugins/unrooted_must_root.rs diff --git a/components/plugins/utils.rs b/components/script_plugins/utils.rs index 50ff2a959a9..50ff2a959a9 100644 --- a/components/plugins/utils.rs +++ b/components/script_plugins/utils.rs diff --git a/components/script_traits/Cargo.toml b/components/script_traits/Cargo.toml index 07311b1ce4a..682eb002f81 100644 --- a/components/script_traits/Cargo.toml +++ b/components/script_traits/Cargo.toml @@ -10,27 +10,27 @@ name = "script_traits" path = "lib.rs" [dependencies] -app_units = "0.3" +app_units = "0.4" bluetooth_traits = {path = "../bluetooth_traits"} canvas_traits = {path = "../canvas_traits"} cookie = {version = "0.2.5", features = ["serialize-rustc"]} devtools_traits = {path = "../devtools_traits"} -euclid = "0.10.1" +euclid = "0.11" gfx_traits = {path = "../gfx_traits"} heapsize = "0.3.0" heapsize_derive = "0.1" hyper = "0.9.9" -hyper_serde = "0.1.4" -ipc-channel = "0.5" +hyper_serde = "0.5" +ipc-channel = "0.7" libc = "0.2" msg = {path = "../msg"} net_traits = {path = "../net_traits"} -offscreen_gl_context = "0.5.0" +offscreen_gl_context = "0.6" plugins = {path = "../plugins"} profile_traits = {path = "../profile_traits"} rustc-serialize = "0.3.4" -serde = "0.8" -serde_derive = "0.8" +serde = "0.9" +serde_derive = "0.9" servo_url = {path = "../url", features = ["servo"]} style_traits = {path = "../style_traits", features = ["servo"]} time = "0.1.12" diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 5be4cb7d2bc..92a2304bda8 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -91,13 +91,13 @@ impl HeapSizeOf for UntrustedNodeAddress { unsafe impl Send for UntrustedNodeAddress {} impl Serialize for UntrustedNodeAddress { - fn serialize<S: Serializer>(&self, s: &mut S) -> Result<(), S::Error> { + fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error> { (self.0 as usize).serialize(s) } } impl Deserialize for UntrustedNodeAddress { - fn deserialize<D: Deserializer>(d: &mut D) -> Result<UntrustedNodeAddress, D::Error> { + fn deserialize<D: Deserializer>(d: D) -> Result<UntrustedNodeAddress, D::Error> { let value: usize = try!(Deserialize::deserialize(d)); Ok(UntrustedNodeAddress::from_id(value)) } diff --git a/components/selectors/Cargo.toml b/components/selectors/Cargo.toml index 573811a6c51..714cb213138 100644 --- a/components/selectors/Cargo.toml +++ b/components/selectors/Cargo.toml @@ -18,5 +18,5 @@ path = "lib.rs" [dependencies] bitflags = "0.7" matches = "0.1" -cssparser = "0.9" +cssparser = "0.10" fnv = "1.0" diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index 99bbc5e19e0..8c66ba323b8 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -31,10 +31,10 @@ debugger = {path = "../debugger"} devtools = {path = "../devtools"} devtools_traits = {path = "../devtools_traits"} env_logger = "0.4" -euclid = "0.10.1" +euclid = "0.11" gfx = {path = "../gfx"} gleam = "0.2" -ipc-channel = "0.5" +ipc-channel = "0.7" layout_thread = {path = "../layout_thread"} log = "0.3" msg = {path = "../msg"} diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml index 702cf9f2486..563c7ed0967 100644 --- a/components/style/Cargo.toml +++ b/components/style/Cargo.toml @@ -16,23 +16,23 @@ doctest = false gecko = ["nsstring_vendor", "num_cpus", "rayon/unstable"] use_bindgen = ["bindgen", "regex"] servo = ["serde/unstable", "serde", "serde_derive", "heapsize_derive", - "style_traits/servo", "app_units/plugins", "servo_atoms", "html5ever-atoms", - "cssparser/heap_size", "cssparser/serde-serialization", + "style_traits/servo", "servo_atoms", "html5ever-atoms", + "cssparser/heapsize", "cssparser/serde", "rayon/unstable", "servo_url/servo"] testing = [] [dependencies] -app_units = "0.3" +app_units = "0.4" atomic_refcell = "0.1" bitflags = "0.7" cfg-if = "0.1.0" -cssparser = "0.9" +cssparser = "0.10" encoding = "0.2" -euclid = "0.10.1" +euclid = "0.11" fnv = "1.0" heapsize = "0.3.0" heapsize_derive = {version = "0.1", optional = true} -html5ever-atoms = {version = "0.1", optional = true} +html5ever-atoms = {version = "0.2", optional = true} lazy_static = "0.2" log = "0.3.5" matches = "0.1" @@ -47,8 +47,8 @@ pdqsort = "0.1.0" rayon = "0.6" rustc-serialize = "0.3" selectors = { path = "../selectors" } -serde = {version = "0.8", optional = true} -serde_derive = {version = "0.8", optional = true} +serde = {version = "0.9", optional = true} +serde_derive = {version = "0.9", optional = true} servo_atoms = {path = "../atoms", optional = true} servo_config = {path = "../config"} smallvec = "0.1" @@ -66,7 +66,7 @@ kernel32-sys = "0.2" [build-dependencies] lazy_static = "0.2" -bindgen = { version = "0.21.1", optional = true } +bindgen = { version = "0.22", optional = true } phf_codegen = "0.7.20" regex = {version = "0.2", optional = true} walkdir = "1.0" diff --git a/components/style/build_gecko.rs b/components/style/build_gecko.rs index 15ca0d55c3e..de60fe615be 100644 --- a/components/style/build_gecko.rs +++ b/components/style/build_gecko.rs @@ -365,6 +365,7 @@ mod bindings { "nsStylePadding", "nsStylePosition", "nsStyleSVG", + "nsStyleSVGPaint", "nsStyleSVGReset", "nsStyleTable", "nsStyleTableBorder", @@ -383,6 +384,7 @@ mod bindings { "PropertyValuePair", "Runnable", "ServoAttrSnapshot", + "ServoBundledURI", "ServoElementSnapshot", "SheetParsingMode", "StaticRefPtr", @@ -500,12 +502,13 @@ mod bindings { .header(add_include("mozilla/ServoBindings.h")) .hide_type("nsACString_internal") .hide_type("nsAString_internal") - .raw_line("pub use nsstring::{nsACString, nsAString};") + .raw_line("pub use nsstring::{nsACString, nsAString, nsString};") .raw_line("type nsACString_internal = nsACString;") .raw_line("type nsAString_internal = nsAString;") .whitelisted_function("Servo_.*") .whitelisted_function("Gecko_.*"); let structs_types = [ + "mozilla::css::URLValue", "RawGeckoDocument", "RawGeckoElement", "RawGeckoKeyframeList", @@ -523,6 +526,7 @@ mod bindings { "FontFamilyList", "FontFamilyType", "Keyframe", + "ServoBundledURI", "ServoElementSnapshot", "SheetParsingMode", "StyleBasicShape", @@ -550,6 +554,7 @@ mod bindings { "nsStyleCoord_CalcValue", "nsStyleDisplay", "nsStyleEffects", + "nsStyleFilter", "nsStyleFont", "nsStyleGradient", "nsStyleGradientStop", @@ -565,6 +570,7 @@ mod bindings { "nsStylePosition", "nsStyleQuoteValues", "nsStyleSVG", + "nsStyleSVGPaint", "nsStyleSVGReset", "nsStyleTable", "nsStyleTableBorder", @@ -578,6 +584,7 @@ mod bindings { "nsStyleVisibility", "nsStyleXUL", "nsTimingFunction", + "nscolor", "nscoord", "nsresult", "Loader", diff --git a/components/style/data.rs b/components/style/data.rs index ddf9370418a..a50d5a15fa4 100644 --- a/components/style/data.rs +++ b/components/style/data.rs @@ -245,7 +245,7 @@ static NO_SNAPSHOT: Option<Snapshot> = None; /// We really want to store an Option<Snapshot> here, but we can't drop Gecko /// Snapshots off-main-thread. So we make a convenient little wrapper to provide /// the semantics of Option<Snapshot>, while deferring the actual drop. -#[derive(Debug)] +#[derive(Debug, Default)] pub struct SnapshotOption { snapshot: Option<Snapshot>, destroyed: bool, @@ -292,7 +292,7 @@ impl Deref for SnapshotOption { /// Transient data used by the restyle algorithm. This structure is instantiated /// either before or during restyle traversal, and is cleared at the end of node /// processing. -#[derive(Debug)] +#[derive(Debug, Default)] pub struct RestyleData { /// The restyle hint, which indicates whether selectors need to be rematched /// for this element, its children, and its descendants. @@ -306,22 +306,21 @@ pub struct RestyleData { /// afte restyling. pub damage: RestyleDamage, + /// The restyle damage that has already been handled by our ancestors, and does + /// not need to be applied again at this element. Only non-empty during the + /// traversal, once ancestor damage has been calculated. + /// + /// Note that this optimization mostly makes sense in terms of Gecko's top-down + /// frame constructor and change list processing model. We don't bother with it + /// for Servo for now. + #[cfg(feature = "gecko")] + pub damage_handled: RestyleDamage, + /// An optional snapshot of the original state and attributes of the element, /// from which we may compute additional restyle hints at traversal time. pub snapshot: SnapshotOption, } -impl Default for RestyleData { - fn default() -> Self { - RestyleData { - hint: StoredRestyleHint::default(), - recascade: false, - damage: RestyleDamage::empty(), - snapshot: SnapshotOption::empty(), - } - } -} - impl RestyleData { /// Expands the snapshot (if any) into a restyle hint. Returns true if later /// siblings must be restyled. @@ -354,6 +353,28 @@ impl RestyleData { self.recascade || self.snapshot.is_some() } + + /// Returns damage handled. + #[cfg(feature = "gecko")] + pub fn damage_handled(&self) -> RestyleDamage { + self.damage_handled + } + + /// Returns damage handled (always empty for servo). + #[cfg(feature = "servo")] + pub fn damage_handled(&self) -> RestyleDamage { + RestyleDamage::empty() + } + + /// Sets damage handled. + #[cfg(feature = "gecko")] + pub fn set_damage_handled(&mut self, d: RestyleDamage) { + self.damage_handled = d; + } + + /// Sets damage handled. No-op for Servo. + #[cfg(feature = "servo")] + pub fn set_damage_handled(&mut self, _: RestyleDamage) {} } /// Style system data associated with an Element. diff --git a/components/style/gecko/conversions.rs b/components/style/gecko/conversions.rs index 5f5ee296d3a..7262a2f7f85 100644 --- a/components/style/gecko/conversions.rs +++ b/components/style/gecko/conversions.rs @@ -297,10 +297,10 @@ impl nsStyleImage { }, }; - let mut coord: nsStyleCoord = nsStyleCoord::null(); for (index, stop) in gradient.stops.iter().enumerate() { // NB: stops are guaranteed to be none in the gecko side by // default. + let mut coord: nsStyleCoord = nsStyleCoord::null(); coord.set(stop.position); let color = match stop.color { CSSColor::CurrentColor => { @@ -322,7 +322,7 @@ impl nsStyleImage { stop.mColor = color; stop.mIsInterpolationHint = false; - stop.mLocation.copy_from(&coord); + stop.mLocation.move_from(coord); } unsafe { diff --git a/components/style/gecko/generated/gecko_pseudo_element_helper.rs b/components/style/gecko/generated/gecko_pseudo_element_helper.rs index 05aebe41274..949bf6a7c6e 100644 --- a/components/style/gecko/generated/gecko_pseudo_element_helper.rs +++ b/components/style/gecko/generated/gecko_pseudo_element_helper.rs @@ -130,9 +130,6 @@ pseudo_element!(":-moz-button-content", atom!(":-moz-button-content"), true); - pseudo_element!(":-moz-buttonlabel", - atom!(":-moz-buttonlabel"), - true); pseudo_element!(":-moz-cell-content", atom!(":-moz-cell-content"), true); diff --git a/components/style/gecko/restyle_damage.rs b/components/style/gecko/restyle_damage.rs index 074259920cd..4d6c1269eb8 100644 --- a/components/style/gecko/restyle_damage.rs +++ b/components/style/gecko/restyle_damage.rs @@ -9,7 +9,7 @@ use gecko_bindings::structs; use gecko_bindings::structs::{nsChangeHint, nsStyleContext}; use gecko_bindings::sugar::ownership::FFIArcHelpers; use properties::ComputedValues; -use std::ops::{BitOr, BitOrAssign}; +use std::ops::{BitAnd, BitOr, BitOrAssign, Not}; use std::sync::Arc; /// The representation of Gecko's restyle damage is just a wrapper over @@ -56,16 +56,35 @@ impl GeckoRestyleDamage { GeckoRestyleDamage(hint) } - /// Get a restyle damage that represents the maximum action to be taken - /// (rebuild and reflow). - pub fn rebuild_and_reflow() -> Self { + /// Returns true if this restyle damage contains all the damage of |other|. + pub fn contains(self, other: Self) -> bool { + self & other == other + } + + /// Gets restyle damage to reconstruct the entire frame, subsuming all + /// other damage. + pub fn reconstruct() -> Self { GeckoRestyleDamage(structs::nsChangeHint_nsChangeHint_ReconstructFrame) } + + /// Assuming |self| is applied to an element, returns the set of damage that + /// would be superfluous to apply for descendants. + pub fn handled_for_descendants(self) -> Self { + let hint = unsafe { + bindings::Gecko_HintsHandledForDescendants(self.0) + }; + GeckoRestyleDamage(hint) + } +} + +impl Default for GeckoRestyleDamage { + fn default() -> Self { + Self::empty() + } } impl BitOr for GeckoRestyleDamage { type Output = Self; - fn bitor(self, other: Self) -> Self { GeckoRestyleDamage(self.0 | other.0) } @@ -76,3 +95,17 @@ impl BitOrAssign for GeckoRestyleDamage { *self = *self | other; } } + +impl BitAnd for GeckoRestyleDamage { + type Output = Self; + fn bitand(self, other: Self) -> Self { + GeckoRestyleDamage(nsChangeHint((self.0).0 & (other.0).0)) + } +} + +impl Not for GeckoRestyleDamage { + type Output = Self; + fn not(self) -> Self { + GeckoRestyleDamage(nsChangeHint(!(self.0).0)) + } +} diff --git a/components/style/gecko_bindings/bindings.rs b/components/style/gecko_bindings/bindings.rs index 4f414b5316d..b0a043ead46 100644 --- a/components/style/gecko_bindings/bindings.rs +++ b/components/style/gecko_bindings/bindings.rs @@ -1,8 +1,9 @@ /* automatically generated by rust-bindgen */ -pub use nsstring::{nsACString, nsAString}; +pub use nsstring::{nsACString, nsAString, nsString}; type nsACString_internal = nsACString; type nsAString_internal = nsAString; +use gecko_bindings::structs::mozilla::css::URLValue; use gecko_bindings::structs::RawGeckoDocument; use gecko_bindings::structs::RawGeckoElement; use gecko_bindings::structs::RawGeckoKeyframeList; @@ -12,6 +13,7 @@ use gecko_bindings::structs::RawServoAnimationValue; use gecko_bindings::structs::RawServoDeclarationBlock; use gecko_bindings::structs::RawGeckoPresContext; use gecko_bindings::structs::RawGeckoPresContextOwned; +use gecko_bindings::structs::RefPtr; use gecko_bindings::structs::ThreadSafeURIHolder; use gecko_bindings::structs::ThreadSafePrincipalHolder; use gecko_bindings::structs::CSSPseudoClassType; @@ -19,6 +21,7 @@ use gecko_bindings::structs::TraversalRootBehavior; use gecko_bindings::structs::FontFamilyList; use gecko_bindings::structs::FontFamilyType; use gecko_bindings::structs::Keyframe; +use gecko_bindings::structs::ServoBundledURI; use gecko_bindings::structs::ServoElementSnapshot; use gecko_bindings::structs::SheetParsingMode; use gecko_bindings::structs::StyleBasicShape; @@ -68,6 +71,9 @@ unsafe impl Sync for nsStyleDisplay {} use gecko_bindings::structs::nsStyleEffects; unsafe impl Send for nsStyleEffects {} unsafe impl Sync for nsStyleEffects {} +use gecko_bindings::structs::nsStyleFilter; +unsafe impl Send for nsStyleFilter {} +unsafe impl Sync for nsStyleFilter {} use gecko_bindings::structs::nsStyleFont; unsafe impl Send for nsStyleFont {} unsafe impl Sync for nsStyleFont {} @@ -113,6 +119,9 @@ unsafe impl Sync for nsStyleQuoteValues {} use gecko_bindings::structs::nsStyleSVG; unsafe impl Send for nsStyleSVG {} unsafe impl Sync for nsStyleSVG {} +use gecko_bindings::structs::nsStyleSVGPaint; +unsafe impl Send for nsStyleSVGPaint {} +unsafe impl Sync for nsStyleSVGPaint {} use gecko_bindings::structs::nsStyleSVGReset; unsafe impl Send for nsStyleSVGReset {} unsafe impl Sync for nsStyleSVGReset {} @@ -150,13 +159,13 @@ use gecko_bindings::structs::nsStyleXUL; unsafe impl Send for nsStyleXUL {} unsafe impl Sync for nsStyleXUL {} use gecko_bindings::structs::nsTimingFunction; +use gecko_bindings::structs::nscolor; use gecko_bindings::structs::nscoord; use gecko_bindings::structs::nsresult; use gecko_bindings::structs::Loader; use gecko_bindings::structs::ServoStyleSheet; use gecko_bindings::structs::EffectCompositor_CascadeLevel; use gecko_bindings::structs::RawServoAnimationValueBorrowedListBorrowed; -use gecko_bindings::structs::RefPtr; pub type nsTArrayBorrowed_uintptr_t<'a> = &'a mut ::gecko_bindings::structs::nsTArray<usize>; pub type ServoComputedValuesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoComputedValues>; pub type ServoComputedValuesBorrowed<'a> = &'a ServoComputedValues; @@ -500,11 +509,13 @@ extern "C" { -> u32; } extern "C" { - pub fn Gecko_GetStyleAttrDeclarationBlock(element: RawGeckoElementBorrowed) + pub fn Gecko_GetStyleAttrDeclarationBlock(element: + RawGeckoElementBorrowed) -> RawServoDeclarationBlockStrongBorrowedOrNull; } extern "C" { - pub fn Gecko_GetHTMLPresentationAttrDeclarationBlock(element: RawGeckoElementBorrowed) + pub fn Gecko_GetHTMLPresentationAttrDeclarationBlock(element: + RawGeckoElementBorrowed) -> RawServoDeclarationBlockStrongBorrowedOrNull; } extern "C" { @@ -588,11 +599,7 @@ extern "C" { } extern "C" { pub fn Gecko_SetListStyleImage(style_struct: *mut nsStyleList, - string_bytes: *const u8, - string_length: u32, - base_uri: *mut ThreadSafeURIHolder, - referrer: *mut ThreadSafeURIHolder, - principal: *mut ThreadSafePrincipalHolder); + uri: ServoBundledURI); } extern "C" { pub fn Gecko_CopyListStyleImageFrom(dest: *mut nsStyleList, @@ -614,17 +621,6 @@ extern "C" { src: *const nsStyleUserInterface); } extern "C" { - pub fn Gecko_SetMozBinding(style_struct: *mut nsStyleDisplay, - string_bytes: *const u8, string_length: u32, - base_uri: *mut ThreadSafeURIHolder, - referrer: *mut ThreadSafeURIHolder, - principal: *mut ThreadSafePrincipalHolder); -} -extern "C" { - pub fn Gecko_CopyMozBindingFrom(des: *mut nsStyleDisplay, - src: *const nsStyleDisplay); -} -extern "C" { pub fn Gecko_GetNodeFlags(node: RawGeckoNodeBorrowed) -> u32; } extern "C" { @@ -648,6 +644,10 @@ extern "C" { -> nsChangeHint; } extern "C" { + pub fn Gecko_HintsHandledForDescendants(aHint: nsChangeHint) + -> nsChangeHint; +} +extern "C" { pub fn Gecko_CreateElementSnapshot(element: RawGeckoElementBorrowed) -> ServoElementSnapshotOwned; } @@ -702,6 +702,10 @@ extern "C" { -> *mut StyleBasicShape; } extern "C" { + pub fn Gecko_StyleClipPath_SetURLValue(clip: *mut StyleClipPath, + uri: ServoBundledURI); +} +extern "C" { pub fn Gecko_ResetFilters(effects: *mut nsStyleEffects, new_len: usize); } extern "C" { @@ -709,6 +713,38 @@ extern "C" { aDest: *mut nsStyleEffects); } extern "C" { + pub fn Gecko_nsStyleFilter_SetURLValue(effects: *mut nsStyleFilter, + uri: ServoBundledURI); +} +extern "C" { + pub fn Gecko_nsStyleSVGPaint_CopyFrom(dest: *mut nsStyleSVGPaint, + src: *const nsStyleSVGPaint); +} +extern "C" { + pub fn Gecko_nsStyleSVGPaint_SetURLValue(paint: *mut nsStyleSVGPaint, + uri: ServoBundledURI); +} +extern "C" { + pub fn Gecko_nsStyleSVGPaint_Reset(paint: *mut nsStyleSVGPaint); +} +extern "C" { + pub fn Gecko_nsStyleSVG_SetDashArrayLength(svg: *mut nsStyleSVG, + len: u32); +} +extern "C" { + pub fn Gecko_nsStyleSVG_CopyDashArray(dst: *mut nsStyleSVG, + src: *const nsStyleSVG); +} +extern "C" { + pub fn Gecko_NewURLValue(uri: ServoBundledURI) -> *mut URLValue; +} +extern "C" { + pub fn Gecko_AddRefCSSURLValueArbitraryThread(aPtr: *mut URLValue); +} +extern "C" { + pub fn Gecko_ReleaseCSSURLValueArbitraryThread(aPtr: *mut URLValue); +} +extern "C" { pub fn Gecko_FillAllBackgroundLists(layers: *mut nsStyleImageLayers, max_len: u32); } @@ -819,6 +855,14 @@ extern "C" { pub fn Gecko_PropertyId_IsPrefEnabled(id: nsCSSPropertyID) -> bool; } extern "C" { + pub fn Gecko_nsStyleFont_SetLang(font: *mut nsStyleFont, + atom: *mut nsIAtom); +} +extern "C" { + pub fn Gecko_nsStyleFont_CopyLangFrom(aFont: *mut nsStyleFont, + aSource: *const nsStyleFont); +} +extern "C" { pub fn Gecko_GetMediaFeatures() -> *const nsMediaFeature; } extern "C" { @@ -1305,8 +1349,10 @@ extern "C" { -> f32; } extern "C" { - pub fn Servo_AnimationValue_GetTransform(value: RawServoAnimationValueBorrowed, - list: &mut RefPtr<nsCSSValueSharedList>); + pub fn Servo_AnimationValue_GetTransform(value: + RawServoAnimationValueBorrowed, + list: + *mut RefPtr<nsCSSValueSharedList>); } extern "C" { pub fn Servo_ParseStyleAttribute(data: *const nsACString_internal) @@ -1403,11 +1449,67 @@ extern "C" { nsCSSPropertyID); } extern "C" { - pub fn Servo_DeclarationBlock_AddPresValue(declarations: + pub fn Servo_DeclarationBlock_PropertyIsSet(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID) + -> bool; +} +extern "C" { + pub fn Servo_DeclarationBlock_SetIdentStringValue(declarations: + RawServoDeclarationBlockBorrowed, + property: + nsCSSPropertyID, + value: *mut nsIAtom); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetKeywordValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: i32); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetIntValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: i32); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetPixelValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: f32); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetPercentValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: f32); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetAutoValue(declarations: RawServoDeclarationBlockBorrowed, - property: nsCSSPropertyID, - css_value: - nsCSSValueBorrowedMut); + property: nsCSSPropertyID); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetCurrentColor(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetColorValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: nscolor); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetFontFamily(declarations: + RawServoDeclarationBlockBorrowed, + value: + *const nsAString_internal); +} +extern "C" { + pub fn Servo_DeclarationBlock_SetTextDecorationColorOverride(declarations: + RawServoDeclarationBlockBorrowed); } extern "C" { pub fn Servo_CSSSupports2(name: *const nsACString_internal, diff --git a/components/style/gecko_bindings/nsstring_vendor/src/lib.rs b/components/style/gecko_bindings/nsstring_vendor/src/lib.rs index ef2f07e0642..e232c820186 100644 --- a/components/style/gecko_bindings/nsstring_vendor/src/lib.rs +++ b/components/style/gecko_bindings/nsstring_vendor/src/lib.rs @@ -9,11 +9,12 @@ //! Use `&{mut,} nsA[C]String` for functions in rust which wish to take or //! mutate XPCOM strings. The other string types `Deref` to this type. //! -//! Use `ns[C]String<'a>` for string struct members which don't leave rust, and +//! Use `ns[C]String<'a>` (`ns[C]String` in C++) for string struct members, and //! as an intermediate between rust string data structures (such as `String`, //! `Vec<u16>`, `&str`, and `&[u16]`) and `&{mut,} nsA[C]String` (using //! `ns[C]String::from(value)`). These conversions, when possible, will not -//! perform any allocations. +//! perform any allocations. When using this type in structs shared with C++, +//! the correct lifetime argument is usually `'static`. //! //! Use `nsFixed[C]String` or `ns_auto_[c]string!` for dynamic stack allocated //! strings which are expected to hold short string values. @@ -21,10 +22,6 @@ //! Use `*{const,mut} nsA[C]String` (`{const,} nsA[C]String*` in C++) for //! function arguments passed across the rust/C++ language boundary. //! -//! Use `ns[C]StringRepr` for string struct members which are shared between -//! rust and C++, but be careful, because this type lacks a `Drop` -//! implementation. -//! //! # String Types //! //! ## `nsA[C]String` @@ -74,16 +71,10 @@ //! When passing this type by reference, prefer passing a `&nsA[C]String` or //! `&mut nsA[C]String`. to passing this type. //! -//! This type is _not_ `#[repr(C)]`, as it has a `Drop` impl, which in versions -//! of `rustc < 1.13` adds drop flags to the struct, which messes up the layout, -//! making it unsafe to pass across the FFI boundary. The rust compiler will -//! warn if this type appears in `extern "C"` function definitions. -//! //! When passing this type across the language boundary, pass it as `*const //! nsA[C]String` for an immutable reference, or `*mut nsA[C]String` for a -//! mutable reference. -//! -//! This type is similar to the C++ type of the same name. +//! mutable reference. This struct may also be included in `#[repr(C)]` +//! structs shared with C++. //! //! ## `nsFixed[C]String<'a>` //! @@ -99,16 +90,11 @@ //! When passing this type by reference, prefer passing a `&nsA[C]String` or //! `&mut nsA[C]String`. to passing this type. //! -//! This type is _not_ `#[repr(C)]`, as it has a `Drop` impl, which in versions -//! of `rustc < 1.13` adds drop flags to the struct, which messes up the layout, -//! making it unsafe to pass across the FFI boundary. The rust compiler will -//! warn if this type appears in `extern "C"` function definitions. -//! //! When passing this type across the language boundary, pass it as `*const //! nsA[C]String` for an immutable reference, or `*mut nsA[C]String` for a -//! mutable reference. -//! -//! This type is similar to the C++ type of the same name. +//! mutable reference. This struct may also be included in `#[repr(C)]` +//! structs shared with C++, although `nsFixed[C]String` objects are uncommon +//! as struct members. //! //! ## `ns_auto_[c]string!($name)` //! @@ -122,20 +108,16 @@ //! //! ## `ns[C]StringRepr` //! -//! This type represents a C++ `ns[C]String`. This type is `#[repr(C)]` and is -//! safe to use in struct definitions which are shared across the language -//! boundary. It automatically dereferences to `&{mut,} nsA[C]String`, and thus -//! can be treated similarially to `ns[C]String`. +//! This crate also provides the type `ns[C]StringRepr` which acts conceptually +//! similar to an `ns[C]String<'static>`, however, it does not have a `Drop` +//! implementation. //! //! If this type is dropped in rust, it will not free its backing storage. This -//! is because types implementing `Drop` have a drop flag added, which messes up -//! the layout of this type. When drop flags are removed, which should happen in -//! `rustc 1.13` (see rust-lang/rust#35764), this type will likely be removed, -//! and replaced with direct usage of `ns[C]String<'a>`, as its layout may be -//! identical. This module provides rust bindings to our xpcom ns[C]String -//! types. +//! can be useful when implementing FFI types which contain `ns[C]String` members +//! which invoke their member's destructors through C++ code. #![allow(non_camel_case_types)] +#![deny(warnings)] use std::ops::{Deref, DerefMut}; use std::marker::PhantomData; @@ -146,6 +128,7 @@ use std::fmt; use std::cmp; use std::str; use std::u32; +use std::os::raw::c_void; ////////////////////////////////// // Internal Implemenation Flags // @@ -154,12 +137,7 @@ use std::u32; const F_NONE: u32 = 0; // no flags // data flags are in the lower 16-bits -const F_TERMINATED: u32 = 1 << 0; // IsTerminated returns true -const F_VOIDED: u32 = 1 << 1; // IsVoid returns true -const F_SHARED: u32 = 1 << 2; // mData points to a heap-allocated, shared buffer const F_OWNED: u32 = 1 << 3; // mData points to a heap-allocated, raw buffer -const F_FIXED: u32 = 1 << 4; // mData points to a fixed-size writable, dependent buffer -const F_LITERAL: u32 = 1 << 5; // mData points to a string literal; F_TERMINATED will also be set // class flags are in the upper 16-bits const F_CLASS_FIXED: u32 = 1 << 16; // indicates that |this| is of type nsTFixedString @@ -176,8 +154,6 @@ macro_rules! define_string_types { FixedString = $FixedString: ident; StringRepr = $StringRepr: ident; - FixedStringRepr = $FixedStringRepr: ident; - AutoStringRepr = $AutoStringRepr: ident; } => { /// The representation of a ns[C]String type in C++. This type is /// used internally by our definition of ns[C]String to ensure layout @@ -185,10 +161,7 @@ macro_rules! define_string_types { /// /// This type may also be used in place of a C++ ns[C]String inside of /// struct definitions which are shared with C++, as it has identical - /// layout to our ns[C]String type. Due to drop flags, our ns[C]String - /// type does not have identical layout. When drop flags are removed, - /// this type will likely be made a private implementation detail, and - /// its uses will be replaced with `ns[C]String`. + /// layout to our ns[C]String type. /// /// This struct will leak its data if dropped from rust. See the module /// documentation for more information on this type. @@ -217,17 +190,6 @@ macro_rules! define_string_types { } } - /// The representation of a nsFixed[C]String type in C++. This type is - /// used internally by our definition of nsFixed[C]String to ensure layout - /// compatibility with the C++ nsFixed[C]String type. - #[repr(C)] - #[derive(Debug)] - struct $FixedStringRepr { - base: $StringRepr, - capacity: u32, - buffer: *mut $char_t, - } - /// This type is the abstract type which is used for interacting with /// strings in rust. Each string type can derefence to an instance of /// this type, which provides the useful operations on strings. @@ -250,8 +212,10 @@ macro_rules! define_string_types { type Target = [$char_t]; fn deref(&self) -> &[$char_t] { unsafe { - // This is legal, as all $AString values actually point to a - // $StringRepr + // All $AString values point to a struct prefix which is + // identical to $StringRepr, this we can transmute `self` + // into $StringRepr to get the reference to the underlying + // data. let this: &$StringRepr = mem::transmute(self); if this.data.is_null() { debug_assert!(this.length == 0); @@ -264,6 +228,12 @@ macro_rules! define_string_types { } } + impl AsRef<[$char_t]> for $AString { + fn as_ref(&self) -> &[$char_t] { + self + } + } + impl cmp::PartialEq for $AString { fn eq(&self, other: &$AString) -> bool { &self[..] == &other[..] @@ -288,6 +258,7 @@ macro_rules! define_string_types { } } + #[repr(C)] pub struct $String<'a> { hdr: $StringRepr, _marker: PhantomData<&'a [$char_t]>, @@ -319,6 +290,24 @@ macro_rules! define_string_types { } } + impl<'a> AsRef<[$char_t]> for $String<'a> { + fn as_ref(&self) -> &[$char_t] { + &self + } + } + + impl<'a> From<&'a String> for $String<'a> { + fn from(s: &'a String) -> $String<'a> { + $String::from(&s[..]) + } + } + + impl<'a> From<&'a Vec<$char_t>> for $String<'a> { + fn from(s: &'a Vec<$char_t>) -> $String<'a> { + $String::from(&s[..]) + } + } + impl<'a> From<&'a [$char_t]> for $String<'a> { fn from(s: &'a [$char_t]) -> $String<'a> { assert!(s.len() < (u32::MAX as usize)); @@ -344,6 +333,9 @@ macro_rules! define_string_types { let length = s.len() as u32; let ptr = s.as_ptr(); mem::forget(s); + unsafe { + Gecko_IncrementStringAdoptCount(ptr as *mut _); + } $String { hdr: $StringRepr { data: ptr, @@ -417,19 +409,14 @@ macro_rules! define_string_types { } } - impl<'a> Drop for $String<'a> { - fn drop(&mut self) { - unsafe { - self.finalize(); - } - } - } - /// A nsFixed[C]String is a string which uses a fixed size mutable /// backing buffer for storing strings which will fit within that /// buffer, rather than using heap allocations. + #[repr(C)] pub struct $FixedString<'a> { - hdr: $FixedStringRepr, + base: $String<'a>, + capacity: u32, + buffer: *mut $char_t, _marker: PhantomData<&'a mut [$char_t]>, } @@ -439,15 +426,16 @@ macro_rules! define_string_types { assert!(len < (u32::MAX as usize)); let buf_ptr = buf.as_mut_ptr(); $FixedString { - hdr: $FixedStringRepr { - base: $StringRepr { + base: $String { + hdr: $StringRepr { data: ptr::null(), length: 0, flags: F_CLASS_FIXED, }, - capacity: len as u32, - buffer: buf_ptr, + _marker: PhantomData, }, + capacity: len as u32, + buffer: buf_ptr, _marker: PhantomData, } } @@ -456,13 +444,19 @@ macro_rules! define_string_types { impl<'a> Deref for $FixedString<'a> { type Target = $AString; fn deref(&self) -> &$AString { - &self.hdr.base + &self.base } } impl<'a> DerefMut for $FixedString<'a> { fn deref_mut(&mut self) -> &mut $AString { - &mut self.hdr.base + &mut self.base + } + } + + impl<'a> AsRef<[$char_t]> for $FixedString<'a> { + fn as_ref(&self) -> &[$char_t] { + &self } } @@ -513,14 +507,6 @@ macro_rules! define_string_types { $AString::eq(self, *other) } } - - impl<'a> Drop for $FixedString<'a> { - fn drop(&mut self) { - unsafe { - self.finalize(); - } - } - } } } @@ -536,38 +522,32 @@ define_string_types! { FixedString = nsFixedCString; StringRepr = nsCStringRepr; - FixedStringRepr = nsFixedCStringRepr; - AutoStringRepr = nsAutoCStringRepr; } impl nsACString { - /// Leaves the nsACString in an unstable state with a dangling data pointer. - /// Should only be used in drop implementations of rust types which wrap - /// this type. - unsafe fn finalize(&mut self) { - Gecko_FinalizeCString(self); - } - - pub fn assign(&mut self, other: &nsACString) { + pub fn assign<T: AsRef<[u8]> + ?Sized>(&mut self, other: &T) { + let s = nsCString::from(other.as_ref()); unsafe { - Gecko_AssignCString(self as *mut _, other as *const _); + Gecko_AssignCString(self, &*s); } } - pub fn assign_utf16(&mut self, other: &nsAString) { - self.assign(&nsCString::new()); + pub fn assign_utf16<T: AsRef<[u16]> + ?Sized>(&mut self, other: &T) { + self.assign(&[]); self.append_utf16(other); } - pub fn append(&mut self, other: &nsACString) { + pub fn append<T: AsRef<[u8]> + ?Sized>(&mut self, other: &T) { + let s = nsCString::from(other.as_ref()); unsafe { - Gecko_AppendCString(self as *mut _, other as *const _); + Gecko_AppendCString(self, &*s); } } - pub fn append_utf16(&mut self, other: &nsAString) { + pub fn append_utf16<T: AsRef<[u16]> + ?Sized>(&mut self, other: &T) { + let s = nsString::from(other.as_ref()); unsafe { - Gecko_AppendUTF16toCString(self as *mut _, other as *const _); + Gecko_AppendUTF16toCString(self, &*s); } } @@ -582,6 +562,14 @@ impl nsACString { } } +impl<'a> Drop for nsCString<'a> { + fn drop(&mut self) { + unsafe { + Gecko_FinalizeCString(&mut **self); + } + } +} + impl<'a> From<&'a str> for nsCString<'a> { fn from(s: &'a str) -> nsCString<'a> { s.as_bytes().into() @@ -646,38 +634,32 @@ define_string_types! { FixedString = nsFixedString; StringRepr = nsStringRepr; - FixedStringRepr = nsFixedStringRepr; - AutoStringRepr = nsAutoStringRepr; } impl nsAString { - /// Leaves the nsAString in an unstable state with a dangling data pointer. - /// Should only be used in drop implementations of rust types which wrap - /// this type. - unsafe fn finalize(&mut self) { - Gecko_FinalizeString(self); - } - - pub fn assign(&mut self, other: &nsAString) { + pub fn assign<T: AsRef<[u16]> + ?Sized>(&mut self, other: &T) { + let s = nsString::from(other.as_ref()); unsafe { - Gecko_AssignString(self as *mut _, other as *const _); + Gecko_AssignString(self, &*s); } } - pub fn assign_utf8(&mut self, other: &nsACString) { - self.assign(&nsString::new()); + pub fn assign_utf8<T: AsRef<[u8]> + ?Sized>(&mut self, other: &T) { + self.assign(&[]); self.append_utf8(other); } - pub fn append(&mut self, other: &nsAString) { + pub fn append<T: AsRef<[u16]> + ?Sized>(&mut self, other: &T) { + let s = nsString::from(other.as_ref()); unsafe { - Gecko_AppendString(self as *mut _, other as *const _); + Gecko_AppendString(self, &*s); } } - pub fn append_utf8(&mut self, other: &nsACString) { + pub fn append_utf8<T: AsRef<[u8]> + ?Sized>(&mut self, other: &T) { + let s = nsCString::from(other.as_ref()); unsafe { - Gecko_AppendUTF8toString(self as *mut _, other as *const _); + Gecko_AppendUTF8toString(self, &*s); } } @@ -688,6 +670,14 @@ impl nsAString { } } +impl<'a> Drop for nsString<'a> { + fn drop(&mut self) { + unsafe { + Gecko_FinalizeString(&mut **self); + } + } +} + // NOTE: The From impl for a string slice for nsString produces a <'static> // lifetime, as it allocates. impl<'a> From<&'a str> for nsString<'static> { @@ -732,9 +722,16 @@ macro_rules! ns_auto_string { } } +#[cfg(not(debug_assertions))] +#[allow(non_snake_case)] +unsafe fn Gecko_IncrementStringAdoptCount(_: *mut c_void) {} + // NOTE: These bindings currently only expose infallible operations. Perhaps // consider allowing for fallible methods? extern "C" { + #[cfg(debug_assertions)] + fn Gecko_IncrementStringAdoptCount(data: *mut c_void); + // Gecko implementation in nsSubstring.cpp fn Gecko_FinalizeCString(this: *mut nsACString); fn Gecko_AssignCString(this: *mut nsACString, other: *const nsACString); diff --git a/components/style/gecko_bindings/structs_debug.rs b/components/style/gecko_bindings/structs_debug.rs index cea18c5838e..302aa8bb0a1 100644 --- a/components/style/gecko_bindings/structs_debug.rs +++ b/components/style/gecko_bindings/structs_debug.rs @@ -1418,8 +1418,10 @@ pub mod root { } #[test] fn bindgen_test_layout_fallible_t() { - assert_eq!(::std::mem::size_of::<fallible_t>() , 1usize); - assert_eq!(::std::mem::align_of::<fallible_t>() , 1usize); + assert_eq!(::std::mem::size_of::<fallible_t>() , 1usize , concat ! + ( "Size of: " , stringify ! ( fallible_t ) )); + assert_eq! (::std::mem::align_of::<fallible_t>() , 1usize , concat + ! ( "Alignment of " , stringify ! ( fallible_t ) )); } impl Clone for fallible_t { fn clone(&self) -> Self { *self } @@ -1612,8 +1614,15 @@ pub mod root { } #[test] fn bindgen_test_layout_TimeStamp() { - assert_eq!(::std::mem::size_of::<TimeStamp>() , 8usize); - assert_eq!(::std::mem::align_of::<TimeStamp>() , 8usize); + assert_eq!(::std::mem::size_of::<TimeStamp>() , 8usize , concat ! + ( "Size of: " , stringify ! ( TimeStamp ) )); + assert_eq! (::std::mem::align_of::<TimeStamp>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( TimeStamp ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TimeStamp ) ) . mValue as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( TimeStamp ) , + "::" , stringify ! ( mValue ) )); } impl Clone for TimeStamp { fn clone(&self) -> Self { *self } @@ -1625,8 +1634,13 @@ pub mod root { } #[test] fn bindgen_test_layout_MallocAllocPolicy() { - assert_eq!(::std::mem::size_of::<MallocAllocPolicy>() , 1usize); - assert_eq!(::std::mem::align_of::<MallocAllocPolicy>() , 1usize); + assert_eq!(::std::mem::size_of::<MallocAllocPolicy>() , 1usize , + concat ! ( + "Size of: " , stringify ! ( MallocAllocPolicy ) )); + assert_eq! (::std::mem::align_of::<MallocAllocPolicy>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( MallocAllocPolicy ) + )); } impl Clone for MallocAllocPolicy { fn clone(&self) -> Self { *self } @@ -1639,10 +1653,19 @@ pub mod root { pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true; #[test] fn bindgen_test_layout_ThreadSafeAutoRefCnt() { - assert_eq!(::std::mem::size_of::<ThreadSafeAutoRefCnt>() , - 8usize); - assert_eq!(::std::mem::align_of::<ThreadSafeAutoRefCnt>() , - 8usize); + assert_eq!(::std::mem::size_of::<ThreadSafeAutoRefCnt>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( ThreadSafeAutoRefCnt ) )); + assert_eq! (::std::mem::align_of::<ThreadSafeAutoRefCnt>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( ThreadSafeAutoRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ThreadSafeAutoRefCnt ) ) . mValue + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) + )); } impl Clone for ThreadSafeAutoRefCnt { fn clone(&self) -> Self { *self } @@ -1658,8 +1681,10 @@ pub mod root { } #[test] fn bindgen_test_layout_Color() { - assert_eq!(::std::mem::size_of::<Color>() , 16usize); - assert_eq!(::std::mem::align_of::<Color>() , 4usize); + assert_eq!(::std::mem::size_of::<Color>() , 16usize , concat ! + ( "Size of: " , stringify ! ( Color ) )); + assert_eq! (::std::mem::align_of::<Color>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( Color ) )); } impl Clone for Color { fn clone(&self) -> Self { *self } @@ -1716,6 +1741,7 @@ pub mod root { pub mPaintRequestTime: root::mozilla::TimeStamp, pub mScrollUpdateType: root::mozilla::layers::FrameMetrics_ScrollOffsetUpdateType, pub _bitfield_1: u8, + pub __bindgen_padding_0: [u16; 3usize], } pub type FrameMetrics_ViewID = u64; #[repr(u8)] @@ -1739,70 +1765,145 @@ pub mod root { 2; #[test] fn bindgen_test_layout_FrameMetrics() { - assert_eq!(::std::mem::size_of::<FrameMetrics>() , 184usize); - assert_eq!(::std::mem::align_of::<FrameMetrics>() , 8usize); + assert_eq!(::std::mem::size_of::<FrameMetrics>() , 184usize , + concat ! ( + "Size of: " , stringify ! ( FrameMetrics ) )); + assert_eq! (::std::mem::align_of::<FrameMetrics>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( FrameMetrics ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . mScrollId + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mScrollId ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mPresShellResolution as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mPresShellResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mCompositionBounds as * const _ as usize } , + 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mCompositionBounds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mDisplayPort as * const _ as usize } , 28usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mDisplayPort + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mCriticalDisplayPort as * const _ as usize } , + 44usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mCriticalDisplayPort ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollableRect as * const _ as usize } , 60usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollableRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mCumulativeResolution as * const _ as usize } , + 76usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mCumulativeResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mDevPixelsPerCSSPixel as * const _ as usize } , + 84usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mDevPixelsPerCSSPixel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollOffset as * const _ as usize } , 88usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . mZoom as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollGeneration as * const _ as usize } , + 104usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollGeneration ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mSmoothScrollOffset as * const _ as usize } , + 108usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mSmoothScrollOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mRootCompositionSize as * const _ as usize } , + 116usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mRootCompositionSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mDisplayPortMargins as * const _ as usize } , + 124usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mDisplayPortMargins ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mPresShellId as * const _ as usize } , 140usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mPresShellId + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . mViewport + as * const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mViewport ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mExtraResolution as * const _ as usize } , + 160usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mExtraResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mPaintRequestTime as * const _ as usize } , + 168usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mPaintRequestTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollUpdateType as * const _ as usize } , + 176usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollUpdateType ) )); } impl Clone for FrameMetrics { fn clone(&self) -> Self { *self } } - impl FrameMetrics { - #[inline] - pub fn mIsRootContent(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1usize as u8)) >> 0u32) - as u8) - } - } - #[inline] - pub fn set_mIsRootContent(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mDoSmoothScroll(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2usize as u8)) >> 1u32) - as u8) - } - } - #[inline] - pub fn set_mDoSmoothScroll(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 1u32) & (2usize as u8); - } - #[inline] - pub fn mUseDisplayPortMargins(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4usize as u8)) >> 2u32) - as u8) - } - } - #[inline] - pub fn set_mUseDisplayPortMargins(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 2u32) & (4usize as u8); - } - #[inline] - pub fn mIsScrollInfoLayer(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8usize as u8)) >> 3u32) - as u8) - } - } - #[inline] - pub fn set_mIsScrollInfoLayer(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 3u32) & (8usize as u8); - } - } #[repr(C)] #[derive(Debug)] pub struct ScrollSnapInfo { @@ -1815,8 +1916,55 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollSnapInfo() { - assert_eq!(::std::mem::size_of::<ScrollSnapInfo>() , 56usize); - assert_eq!(::std::mem::align_of::<ScrollSnapInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<ScrollSnapInfo>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( ScrollSnapInfo ) )); + assert_eq! (::std::mem::align_of::<ScrollSnapInfo>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( ScrollSnapInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapTypeX as * const _ as usize } , 0usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapTypeY as * const _ as usize } , 1usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapIntervalX as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapIntervalX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapIntervalY as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapIntervalY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapDestination as * const _ as usize } , + 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapDestination ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapCoordinates as * const _ as usize } , + 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapCoordinates ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -1836,9 +1984,13 @@ pub mod root { #[test] fn bindgen_test_layout_FastErrorResult() { assert_eq!(::std::mem::size_of::<FastErrorResult>() , - 32usize); - assert_eq!(::std::mem::align_of::<FastErrorResult>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( FastErrorResult ) + )); + assert_eq! (::std::mem::align_of::<FastErrorResult>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FastErrorResult ) )); } #[repr(C)] pub struct FakeString { @@ -1855,16 +2007,49 @@ pub mod root { #[test] fn bindgen_test_layout_FakeString_StringAsserter() { assert_eq!(::std::mem::size_of::<FakeString_StringAsserter>() - , 16usize); - assert_eq!(::std::mem::align_of::<FakeString_StringAsserter>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FakeString_StringAsserter ) )); + assert_eq! (::std::mem::align_of::<FakeString_StringAsserter>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FakeString_StringAsserter ) )); } pub const FakeString_sInlineCapacity: usize = 64; #[test] fn bindgen_test_layout_FakeString() { - assert_eq!(::std::mem::size_of::<FakeString>() , - 144usize); - assert_eq!(::std::mem::align_of::<FakeString>() , 8usize); + assert_eq!(::std::mem::size_of::<FakeString>() , 144usize + , concat ! ( + "Size of: " , stringify ! ( FakeString ) )); + assert_eq! (::std::mem::align_of::<FakeString>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( FakeString ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . mData as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( mData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . mLength + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( mLength ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . mFlags + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( mFlags ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . + mInlineStorage as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( + mInlineStorage ) )); } #[repr(C)] #[derive(Debug)] @@ -1874,9 +2059,13 @@ pub mod root { #[test] fn bindgen_test_layout_FastElementCreationOptions() { assert_eq!(::std::mem::size_of::<FastElementCreationOptions>() - , 32usize); - assert_eq!(::std::mem::align_of::<FastElementCreationOptions>() - , 8usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + FastElementCreationOptions ) )); + assert_eq! (::std::mem::align_of::<FastElementCreationOptions>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FastElementCreationOptions ) )); } } /** @@ -1923,8 +2112,38 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMString() { - assert_eq!(::std::mem::size_of::<DOMString>() , 184usize); - assert_eq!(::std::mem::align_of::<DOMString>() , 8usize); + assert_eq!(::std::mem::size_of::<DOMString>() , 184usize , + concat ! ( "Size of: " , stringify ! ( DOMString ) + )); + assert_eq! (::std::mem::align_of::<DOMString>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DOMString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mString as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mStringBuffer + as * const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mStringBuffer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mLength as * + const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mIsNull as * + const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mIsNull ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . + mStringBufferOwned as * const _ as usize } , + 181usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mStringBufferOwned ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -1939,17 +2158,33 @@ pub mod root { #[test] fn bindgen_test_layout_DictionaryBase_FastDictionaryInitializer() { assert_eq!(::std::mem::size_of::<DictionaryBase_FastDictionaryInitializer>() - , 1usize); - assert_eq!(::std::mem::align_of::<DictionaryBase_FastDictionaryInitializer>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + DictionaryBase_FastDictionaryInitializer ) )); + assert_eq! (::std::mem::align_of::<DictionaryBase_FastDictionaryInitializer>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + DictionaryBase_FastDictionaryInitializer ) )); } impl Clone for DictionaryBase_FastDictionaryInitializer { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_DictionaryBase() { - assert_eq!(::std::mem::size_of::<DictionaryBase>() , 1usize); - assert_eq!(::std::mem::align_of::<DictionaryBase>() , 1usize); + assert_eq!(::std::mem::size_of::<DictionaryBase>() , 1usize , + concat ! ( + "Size of: " , stringify ! ( DictionaryBase ) )); + assert_eq! (::std::mem::align_of::<DictionaryBase>() , 1usize + , concat ! ( + "Alignment of " , stringify ! ( DictionaryBase ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const DictionaryBase ) ) . + mIsAnyMemberPresent as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + DictionaryBase ) , "::" , stringify ! ( + mIsAnyMemberPresent ) )); } impl Clone for DictionaryBase { fn clone(&self) -> Self { *self } @@ -1962,9 +2197,13 @@ pub mod root { #[test] fn bindgen_test_layout_AllOwningUnionBase() { assert_eq!(::std::mem::size_of::<AllOwningUnionBase>() , - 1usize); - assert_eq!(::std::mem::align_of::<AllOwningUnionBase>() , - 1usize); + 1usize , concat ! ( + "Size of: " , stringify ! ( AllOwningUnionBase ) + )); + assert_eq! (::std::mem::align_of::<AllOwningUnionBase>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( AllOwningUnionBase + ) )); } impl Clone for AllOwningUnionBase { fn clone(&self) -> Self { *self } @@ -1980,8 +2219,31 @@ pub mod root { } #[test] fn bindgen_test_layout_GlobalObject() { - assert_eq!(::std::mem::size_of::<GlobalObject>() , 40usize); - assert_eq!(::std::mem::align_of::<GlobalObject>() , 8usize); + assert_eq!(::std::mem::size_of::<GlobalObject>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( GlobalObject ) )); + assert_eq! (::std::mem::align_of::<GlobalObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GlobalObject ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GlobalObject ) ) . + mGlobalJSObject as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GlobalObject ) , "::" , stringify ! ( + mGlobalJSObject ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GlobalObject ) ) . mCx as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + GlobalObject ) , "::" , stringify ! ( mCx ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GlobalObject ) ) . + mGlobalObject as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GlobalObject ) , "::" , stringify ! ( + mGlobalObject ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -1992,8 +2254,32 @@ pub mod root { } #[test] fn bindgen_test_layout_ParentObject() { - assert_eq!(::std::mem::size_of::<ParentObject>() , 24usize); - assert_eq!(::std::mem::align_of::<ParentObject>() , 8usize); + assert_eq!(::std::mem::size_of::<ParentObject>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( ParentObject ) )); + assert_eq! (::std::mem::align_of::<ParentObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ParentObject ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ParentObject ) ) . mObject as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ParentObject ) , "::" , stringify ! ( mObject ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ParentObject ) ) . + mWrapperCache as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ParentObject ) , "::" , stringify ! ( + mWrapperCache ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ParentObject ) ) . + mUseXBLScope as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ParentObject ) , "::" , stringify ! ( mUseXBLScope + ) )); } impl Clone for ParentObject { fn clone(&self) -> Self { *self } @@ -2011,9 +2297,13 @@ pub mod root { } #[test] fn bindgen_test_layout_DispatcherTrait() { - assert_eq!(::std::mem::size_of::<DispatcherTrait>() , 8usize); - assert_eq!(::std::mem::align_of::<DispatcherTrait>() , - 8usize); + assert_eq!(::std::mem::size_of::<DispatcherTrait>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( DispatcherTrait ) )); + assert_eq! (::std::mem::align_of::<DispatcherTrait>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( DispatcherTrait ) + )); } impl Clone for DispatcherTrait { fn clone(&self) -> Self { *self } @@ -2033,8 +2323,12 @@ pub mod root { } #[test] fn bindgen_test_layout_EventTarget() { - assert_eq!(::std::mem::size_of::<EventTarget>() , 32usize); - assert_eq!(::std::mem::align_of::<EventTarget>() , 8usize); + assert_eq!(::std::mem::size_of::<EventTarget>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( EventTarget ) )); + assert_eq! (::std::mem::align_of::<EventTarget>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( EventTarget ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2053,9 +2347,13 @@ pub mod root { #[test] fn bindgen_test_layout_EventHandlerNonNull() { assert_eq!(::std::mem::size_of::<EventHandlerNonNull>() , - 56usize); - assert_eq!(::std::mem::align_of::<EventHandlerNonNull>() , - 8usize); + 56usize , concat ! ( + "Size of: " , stringify ! ( EventHandlerNonNull ) + )); + assert_eq! (::std::mem::align_of::<EventHandlerNonNull>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + EventHandlerNonNull ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2090,9 +2388,27 @@ pub mod root { #[test] fn bindgen_test_layout_Element_StyleStateLocks() { assert_eq!(::std::mem::size_of::<Element_StyleStateLocks>() , - 16usize); - assert_eq!(::std::mem::align_of::<Element_StyleStateLocks>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( Element_StyleStateLocks + ) )); + assert_eq! (::std::mem::align_of::<Element_StyleStateLocks>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + Element_StyleStateLocks ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element_StyleStateLocks ) ) . + mLocks as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Element_StyleStateLocks ) , "::" , stringify ! ( + mLocks ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element_StyleStateLocks ) ) . + mValues as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + Element_StyleStateLocks ) , "::" , stringify ! ( + mValues ) )); } impl Clone for Element_StyleStateLocks { fn clone(&self) -> Self { *self } @@ -2105,9 +2421,21 @@ pub mod root { #[test] fn bindgen_test_layout_Element_MappedAttributeEntry() { assert_eq!(::std::mem::size_of::<Element_MappedAttributeEntry>() - , 8usize); - assert_eq!(::std::mem::align_of::<Element_MappedAttributeEntry>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + Element_MappedAttributeEntry ) )); + assert_eq! (::std::mem::align_of::<Element_MappedAttributeEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + Element_MappedAttributeEntry ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const Element_MappedAttributeEntry ) ) + . attribute as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + Element_MappedAttributeEntry ) , "::" , stringify + ! ( attribute ) )); } impl Clone for Element_MappedAttributeEntry { fn clone(&self) -> Self { *self } @@ -2120,8 +2448,22 @@ pub mod root { pub const Element_kDontCallAfterSetAttr: bool = false; #[test] fn bindgen_test_layout_Element() { - assert_eq!(::std::mem::size_of::<Element>() , 136usize); - assert_eq!(::std::mem::align_of::<Element>() , 8usize); + assert_eq!(::std::mem::size_of::<Element>() , 136usize , + concat ! ( "Size of: " , stringify ! ( Element ) + )); + assert_eq! (::std::mem::align_of::<Element>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( Element ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element ) ) . mState as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( Element ) , + "::" , stringify ! ( mState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element ) ) . mServoData as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( Element ) , + "::" , stringify ! ( mServoData ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2143,6 +2485,7 @@ pub mod root { NON_GET = 2, NON_E10S = 3, NOT_ONLY_TOPLEVEL_IN_TABGROUP = 4, + NON_WIN32 = 5, } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2175,9 +2518,13 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_cycleCollection() { assert_eq!(::std::mem::size_of::<CallbackObject_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<CallbackObject_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_cycleCollection ) )); } impl Clone for CallbackObject_cycleCollection { fn clone(&self) -> Self { *self } @@ -2197,9 +2544,21 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_JSObjectsDropper() { assert_eq!(::std::mem::size_of::<CallbackObject_JSObjectsDropper>() - , 8usize); - assert_eq!(::std::mem::align_of::<CallbackObject_JSObjectsDropper>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_JSObjectsDropper ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_JSObjectsDropper>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_JSObjectsDropper ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const CallbackObject_JSObjectsDropper ) + ) . mHolder as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_JSObjectsDropper ) , "::" , + stringify ! ( mHolder ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -2209,9 +2568,13 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_FastCallbackConstructor() { assert_eq!(::std::mem::size_of::<CallbackObject_FastCallbackConstructor>() - , 1usize); - assert_eq!(::std::mem::align_of::<CallbackObject_FastCallbackConstructor>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_FastCallbackConstructor ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_FastCallbackConstructor>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_FastCallbackConstructor ) )); } impl Clone for CallbackObject_FastCallbackConstructor { fn clone(&self) -> Self { *self } @@ -2234,9 +2597,90 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_CallSetup() { assert_eq!(::std::mem::size_of::<CallbackObject_CallSetup>() , - 400usize); - assert_eq!(::std::mem::align_of::<CallbackObject_CallSetup>() - , 8usize); + 400usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_CallSetup ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_CallSetup>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_CallSetup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mCx as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mCx ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mCompartment as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mCompartment ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAutoEntryScript as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAutoEntryScript ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAutoIncumbentScript as * const _ as usize } , + 184usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAutoIncumbentScript ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mRootedCallable as * const _ as usize } , + 232usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mRootedCallable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAsyncStack as * const _ as usize } , 264usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAsyncStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAsyncStackSetter as * const _ as usize } , + 296usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAsyncStackSetter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAc as * const _ as usize } , 352usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAc ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mErrorResult as * const _ as usize } , 384usize + , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mErrorResult ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mExceptionHandling as * const _ as usize } , + 392usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mExceptionHandling ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mIsMainThread as * const _ as usize } , 396usize + , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mIsMainThread ) )); } extern "C" { #[link_name = @@ -2246,8 +2690,54 @@ pub mod root { } #[test] fn bindgen_test_layout_CallbackObject() { - assert_eq!(::std::mem::size_of::<CallbackObject>() , 56usize); - assert_eq!(::std::mem::align_of::<CallbackObject>() , 8usize); + assert_eq!(::std::mem::size_of::<CallbackObject>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( CallbackObject ) )); + assert_eq! (::std::mem::align_of::<CallbackObject>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( CallbackObject ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . mRefCnt + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + _mOwningThread as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mCallback as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( mCallback + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mCreationStack as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + mCreationStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mIncumbentGlobal as * const _ as usize } , 40usize + , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + mIncumbentGlobal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mIncumbentJSGlobal as * const _ as usize } , + 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + mIncumbentJSGlobal ) )); } #[repr(C)] #[derive(Debug)] @@ -2264,9 +2754,13 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObjectHolderBase() { assert_eq!(::std::mem::size_of::<CallbackObjectHolderBase>() , - 1usize); - assert_eq!(::std::mem::align_of::<CallbackObjectHolderBase>() - , 1usize); + 1usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObjectHolderBase ) )); + assert_eq! (::std::mem::align_of::<CallbackObjectHolderBase>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObjectHolderBase ) )); } impl Clone for CallbackObjectHolderBase { fn clone(&self) -> Self { *self } @@ -2278,10 +2772,13 @@ pub mod root { } #[test] fn bindgen_test_layout_CallbackFunction() { - assert_eq!(::std::mem::size_of::<CallbackFunction>() , - 56usize); - assert_eq!(::std::mem::align_of::<CallbackFunction>() , - 8usize); + assert_eq!(::std::mem::size_of::<CallbackFunction>() , 56usize + , concat ! ( + "Size of: " , stringify ! ( CallbackFunction ) )); + assert_eq! (::std::mem::align_of::<CallbackFunction>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( CallbackFunction ) + )); } pub mod prototypes { #[allow(unused_imports)] @@ -2309,9 +2806,55 @@ pub mod root { #[test] fn bindgen_test_layout_OriginAttributesDictionary() { assert_eq!(::std::mem::size_of::<OriginAttributesDictionary>() - , 64usize); - assert_eq!(::std::mem::align_of::<OriginAttributesDictionary>() - , 8usize); + , 64usize , concat ! ( + "Size of: " , stringify ! ( + OriginAttributesDictionary ) )); + assert_eq! (::std::mem::align_of::<OriginAttributesDictionary>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OriginAttributesDictionary ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mAddonId as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mAddonId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mAppId as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mAppId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mFirstPartyDomain as * const _ as usize } , + 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mFirstPartyDomain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mInIsolatedMozBrowser as * const _ as usize } + , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mInIsolatedMozBrowser ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mPrivateBrowsingId as * const _ as usize } , + 52usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mPrivateBrowsingId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mUserContextId as * const _ as usize } , + 56usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mUserContextId ) )); } pub mod workers { #[allow(unused_imports)] @@ -2349,9 +2892,13 @@ pub mod root { #[test] fn bindgen_test_layout_NodeInfo_cycleCollection() { assert_eq!(::std::mem::size_of::<NodeInfo_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<NodeInfo_cycleCollection>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + NodeInfo_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<NodeInfo_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + NodeInfo_cycleCollection ) )); } impl Clone for NodeInfo_cycleCollection { fn clone(&self) -> Self { *self } @@ -2369,9 +2916,55 @@ pub mod root { #[test] fn bindgen_test_layout_NodeInfo_NodeInfoInner() { assert_eq!(::std::mem::size_of::<NodeInfo_NodeInfoInner>() , - 40usize); - assert_eq!(::std::mem::align_of::<NodeInfo_NodeInfoInner>() , - 8usize); + 40usize , concat ! ( + "Size of: " , stringify ! ( NodeInfo_NodeInfoInner + ) )); + assert_eq! (::std::mem::align_of::<NodeInfo_NodeInfoInner>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + NodeInfo_NodeInfoInner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mName as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mPrefix as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mPrefix ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mNamespaceID as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mNamespaceID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mNodeType as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mNodeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mNameString as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mNameString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mExtraName as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mExtraName ) )); } extern "C" { #[link_name = @@ -2381,8 +2974,52 @@ pub mod root { } #[test] fn bindgen_test_layout_NodeInfo() { - assert_eq!(::std::mem::size_of::<NodeInfo>() , 120usize); - assert_eq!(::std::mem::align_of::<NodeInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<NodeInfo>() , 120usize , + concat ! ( "Size of: " , stringify ! ( NodeInfo ) + )); + assert_eq! (::std::mem::align_of::<NodeInfo>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( NodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . _mOwningThread + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mDocument as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mInner as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mInner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mOwnerManager + as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mOwnerManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mQualifiedName + as * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mQualifiedName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mNodeName as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mNodeName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mLocalName as + * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mLocalName ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2418,9 +3055,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMRectReadOnly_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMRectReadOnly_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMRectReadOnly_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMRectReadOnly_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMRectReadOnly_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMRectReadOnly_cycleCollection ) )); } impl Clone for DOMRectReadOnly_cycleCollection { fn clone(&self) -> Self { *self } @@ -2433,10 +3074,13 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMRectReadOnly() { - assert_eq!(::std::mem::size_of::<DOMRectReadOnly>() , - 56usize); - assert_eq!(::std::mem::align_of::<DOMRectReadOnly>() , - 8usize); + assert_eq!(::std::mem::size_of::<DOMRectReadOnly>() , 56usize + , concat ! ( + "Size of: " , stringify ! ( DOMRectReadOnly ) )); + assert_eq! (::std::mem::align_of::<DOMRectReadOnly>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( DOMRectReadOnly ) + )); } #[repr(C)] #[derive(Debug)] @@ -2461,9 +3105,27 @@ pub mod root { #[test] fn bindgen_test_layout_OwningNodeOrString_Value() { assert_eq!(::std::mem::size_of::<OwningNodeOrString_Value>() , - 16usize); - assert_eq!(::std::mem::align_of::<OwningNodeOrString_Value>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + OwningNodeOrString_Value ) )); + assert_eq! (::std::mem::align_of::<OwningNodeOrString_Value>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OwningNodeOrString_Value ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString_Value ) ) + . mNode as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString_Value ) , "::" , stringify ! ( + mNode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString_Value ) ) + . mString as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString_Value ) , "::" , stringify ! ( + mString ) )); } impl Clone for OwningNodeOrString_Value { fn clone(&self) -> Self { *self } @@ -2471,9 +3133,27 @@ pub mod root { #[test] fn bindgen_test_layout_OwningNodeOrString() { assert_eq!(::std::mem::size_of::<OwningNodeOrString>() , - 24usize); - assert_eq!(::std::mem::align_of::<OwningNodeOrString>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( OwningNodeOrString ) + )); + assert_eq! (::std::mem::align_of::<OwningNodeOrString>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( OwningNodeOrString + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString ) ) . + mType as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString ) , "::" , stringify ! ( mType + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString ) ) . + mValue as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString ) , "::" , stringify ! ( mValue + ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2509,9 +3189,19 @@ pub mod root { #[test] fn bindgen_test_layout_ElementCreationOptions() { assert_eq!(::std::mem::size_of::<ElementCreationOptions>() , - 32usize); - assert_eq!(::std::mem::align_of::<ElementCreationOptions>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( ElementCreationOptions + ) )); + assert_eq! (::std::mem::align_of::<ElementCreationOptions>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + ElementCreationOptions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ElementCreationOptions ) ) . + mIs as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptions ) , "::" , stringify ! ( + mIs ) )); } #[repr(C)] #[derive(Debug)] @@ -2536,9 +3226,31 @@ pub mod root { #[test] fn bindgen_test_layout_ElementCreationOptionsOrString_Value() { assert_eq!(::std::mem::size_of::<ElementCreationOptionsOrString_Value>() - , 144usize); - assert_eq!(::std::mem::align_of::<ElementCreationOptionsOrString_Value>() - , 8usize); + , 144usize , concat ! ( + "Size of: " , stringify ! ( + ElementCreationOptionsOrString_Value ) )); + assert_eq! (::std::mem::align_of::<ElementCreationOptionsOrString_Value>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + ElementCreationOptionsOrString_Value ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const ElementCreationOptionsOrString_Value + ) ) . mElementCreationOptions as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString_Value ) , "::" , + stringify ! ( mElementCreationOptions ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const ElementCreationOptionsOrString_Value + ) ) . mString as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString_Value ) , "::" , + stringify ! ( mString ) )); } impl Clone for ElementCreationOptionsOrString_Value { fn clone(&self) -> Self { *self } @@ -2546,9 +3258,29 @@ pub mod root { #[test] fn bindgen_test_layout_ElementCreationOptionsOrString() { assert_eq!(::std::mem::size_of::<ElementCreationOptionsOrString>() - , 152usize); - assert_eq!(::std::mem::align_of::<ElementCreationOptionsOrString>() - , 8usize); + , 152usize , concat ! ( + "Size of: " , stringify ! ( + ElementCreationOptionsOrString ) )); + assert_eq! (::std::mem::align_of::<ElementCreationOptionsOrString>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + ElementCreationOptionsOrString ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const ElementCreationOptionsOrString ) + ) . mType as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString ) , "::" , + stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const ElementCreationOptionsOrString ) + ) . mValue as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString ) , "::" , + stringify ! ( mValue ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2574,9 +3306,13 @@ pub mod root { #[test] fn bindgen_test_layout_Attr_cycleCollection() { assert_eq!(::std::mem::size_of::<Attr_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<Attr_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( Attr_cycleCollection ) + )); + assert_eq! (::std::mem::align_of::<Attr_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + Attr_cycleCollection ) )); } impl Clone for Attr_cycleCollection { fn clone(&self) -> Self { *self } @@ -2592,8 +3328,10 @@ pub mod root { } #[test] fn bindgen_test_layout_Attr() { - assert_eq!(::std::mem::size_of::<Attr>() , 144usize); - assert_eq!(::std::mem::align_of::<Attr>() , 8usize); + assert_eq!(::std::mem::size_of::<Attr>() , 144usize , concat ! + ( "Size of: " , stringify ! ( Attr ) )); + assert_eq! (::std::mem::align_of::<Attr>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( Attr ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2642,9 +3380,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserver_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserver_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserver_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMIntersectionObserver_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserver_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserver_cycleCollection ) )); } impl Clone for DOMIntersectionObserver_cycleCollection { fn clone(&self) -> Self { *self } @@ -2665,9 +3407,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserver() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserver>() , - 208usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserver>() , - 8usize); + 208usize , concat ! ( + "Size of: " , stringify ! ( DOMIntersectionObserver + ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserver>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserver ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2686,9 +3432,13 @@ pub mod root { #[test] fn bindgen_test_layout_FrameRequestCallback() { assert_eq!(::std::mem::size_of::<FrameRequestCallback>() , - 56usize); - assert_eq!(::std::mem::align_of::<FrameRequestCallback>() , - 8usize); + 56usize , concat ! ( + "Size of: " , stringify ! ( FrameRequestCallback ) + )); + assert_eq! (::std::mem::align_of::<FrameRequestCallback>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FrameRequestCallback ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2790,10 +3540,25 @@ pub mod root { } #[test] fn bindgen_test_layout_BorrowedAttrInfo() { - assert_eq!(::std::mem::size_of::<BorrowedAttrInfo>() , - 16usize); - assert_eq!(::std::mem::align_of::<BorrowedAttrInfo>() , - 8usize); + assert_eq!(::std::mem::size_of::<BorrowedAttrInfo>() , 16usize + , concat ! ( + "Size of: " , stringify ! ( BorrowedAttrInfo ) )); + assert_eq! (::std::mem::align_of::<BorrowedAttrInfo>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( BorrowedAttrInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BorrowedAttrInfo ) ) . mName + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + BorrowedAttrInfo ) , "::" , stringify ! ( mName ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BorrowedAttrInfo ) ) . mValue + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + BorrowedAttrInfo ) , "::" , stringify ! ( mValue ) + )); } impl Clone for BorrowedAttrInfo { fn clone(&self) -> Self { *self } @@ -2823,8 +3588,19 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollOptions() { - assert_eq!(::std::mem::size_of::<ScrollOptions>() , 2usize); - assert_eq!(::std::mem::align_of::<ScrollOptions>() , 1usize); + assert_eq!(::std::mem::size_of::<ScrollOptions>() , 2usize , + concat ! ( + "Size of: " , stringify ! ( ScrollOptions ) )); + assert_eq! (::std::mem::align_of::<ScrollOptions>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( ScrollOptions ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollOptions ) ) . mBehavior + as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollOptions ) , "::" , stringify ! ( mBehavior ) + )); } impl Clone for ScrollOptions { fn clone(&self) -> Self { *self } @@ -2838,10 +3614,25 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollToOptions() { - assert_eq!(::std::mem::size_of::<ScrollToOptions>() , - 40usize); - assert_eq!(::std::mem::align_of::<ScrollToOptions>() , - 8usize); + assert_eq!(::std::mem::size_of::<ScrollToOptions>() , 40usize + , concat ! ( + "Size of: " , stringify ! ( ScrollToOptions ) )); + assert_eq! (::std::mem::align_of::<ScrollToOptions>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( ScrollToOptions ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollToOptions ) ) . mLeft + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollToOptions ) , "::" , stringify ! ( mLeft ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollToOptions ) ) . mTop as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollToOptions ) , "::" , stringify ! ( mTop ) + )); } #[repr(C)] #[derive(Debug)] @@ -2864,9 +3655,13 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement_cycleCollection() { assert_eq!(::std::mem::size_of::<FragmentOrElement_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FragmentOrElement_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FragmentOrElement_cycleCollection ) )); } impl Clone for FragmentOrElement_cycleCollection { fn clone(&self) -> Self { *self } @@ -2964,9 +3759,33 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement_nsDOMSlots__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_1>() - , 8usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_1>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_1>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) ) . + mBindingParent as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) , + "::" , stringify ! ( mBindingParent ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) ) . + mControllers as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) , + "::" , stringify ! ( mControllers ) )); } impl Clone for FragmentOrElement_nsDOMSlots__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -2974,9 +3793,125 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() { assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots>() - , 208usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots>() - , 8usize); + , 208usize , concat ! ( + "Size of: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement_nsDOMSlots>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FragmentOrElement_nsDOMSlots ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mStyle as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mStyle ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mDataset as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mDataset ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mSMILOverrideStyle as * const _ as usize } , + 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mSMILOverrideStyle ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mSMILOverrideStyleDeclaration as * const _ as + usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mSMILOverrideStyleDeclaration ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mAttributeMap as * const _ as usize } , 80usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mAttributeMap ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mChildrenList as * const _ as usize } , 96usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mChildrenList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mClassList as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mClassList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mShadowRoot as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mShadowRoot ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mContainingShadow as * const _ as usize } , + 120usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mContainingShadow ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mDestInsertionPoints as * const _ as usize } , + 128usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mDestInsertionPoints ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mXBLBinding as * const _ as usize } , 136usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mXBLBinding ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mXBLInsertionParent as * const _ as usize } , + 144usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mXBLInsertionParent ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mCustomElementData as * const _ as usize } , + 152usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mCustomElementData ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mRegisteredIntersectionObservers as * const _ as + usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mRegisteredIntersectionObservers ) )); } extern "C" { #[link_name = @@ -2987,9 +3922,33 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement() { assert_eq!(::std::mem::size_of::<FragmentOrElement>() , - 120usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement>() , - 8usize); + 120usize , concat ! ( + "Size of: " , stringify ! ( FragmentOrElement ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( FragmentOrElement + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FragmentOrElement ) ) . + mRefCnt as * const _ as usize } , 96usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement ) , "::" , stringify ! ( mRefCnt + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FragmentOrElement ) ) . + _mOwningThread as * const _ as usize } , 104usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FragmentOrElement ) ) . + mAttrsAndChildren as * const _ as usize } , + 112usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement ) , "::" , stringify ! ( + mAttrsAndChildren ) )); } #[repr(C)] #[derive(Debug)] @@ -3003,8 +3962,11 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMRect() { - assert_eq!(::std::mem::size_of::<DOMRect>() , 96usize); - assert_eq!(::std::mem::align_of::<DOMRect>() , 8usize); + assert_eq!(::std::mem::size_of::<DOMRect>() , 96usize , concat + ! ( "Size of: " , stringify ! ( DOMRect ) )); + assert_eq! (::std::mem::align_of::<DOMRect>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DOMRect ) )); } #[repr(C)] #[derive(Debug)] @@ -3026,9 +3988,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMRectList_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMRectList_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMRectList_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMRectList_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMRectList_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMRectList_cycleCollection ) )); } impl Clone for DOMRectList_cycleCollection { fn clone(&self) -> Self { *self } @@ -3041,8 +4007,12 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMRectList() { - assert_eq!(::std::mem::size_of::<DOMRectList>() , 64usize); - assert_eq!(::std::mem::align_of::<DOMRectList>() , 8usize); + assert_eq!(::std::mem::size_of::<DOMRectList>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( DOMRectList ) )); + assert_eq! (::std::mem::align_of::<DOMRectList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DOMRectList ) )); } pub type DOMTokenListSupportedToken = *const ::std::os::raw::c_char; @@ -3064,9 +4034,20 @@ pub mod root { #[test] fn bindgen_test_layout_ScrollIntoViewOptions() { assert_eq!(::std::mem::size_of::<ScrollIntoViewOptions>() , - 3usize); - assert_eq!(::std::mem::align_of::<ScrollIntoViewOptions>() , - 1usize); + 3usize , concat ! ( + "Size of: " , stringify ! ( ScrollIntoViewOptions ) + )); + assert_eq! (::std::mem::align_of::<ScrollIntoViewOptions>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + ScrollIntoViewOptions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollIntoViewOptions ) ) . + mBlock as * const _ as usize } , 2usize , concat ! + ( + "Alignment of field: " , stringify ! ( + ScrollIntoViewOptions ) , "::" , stringify ! ( + mBlock ) )); } impl Clone for ScrollIntoViewOptions { fn clone(&self) -> Self { *self } @@ -3096,9 +4077,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserverEntry_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserverEntry_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserverEntry_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMIntersectionObserverEntry_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserverEntry_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserverEntry_cycleCollection ) )); } impl Clone for DOMIntersectionObserverEntry_cycleCollection { fn clone(&self) -> Self { *self } @@ -3113,9 +4098,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserverEntry() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserverEntry>() - , 104usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserverEntry>() - , 8usize); + , 104usize , concat ! ( + "Size of: " , stringify ! ( + DOMIntersectionObserverEntry ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserverEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserverEntry ) )); } #[repr(C)] #[derive(Debug)] @@ -3125,9 +4114,13 @@ pub mod root { #[test] fn bindgen_test_layout_IntersectionCallback() { assert_eq!(::std::mem::size_of::<IntersectionCallback>() , - 56usize); - assert_eq!(::std::mem::align_of::<IntersectionCallback>() , - 8usize); + 56usize , concat ! ( + "Size of: " , stringify ! ( IntersectionCallback ) + )); + assert_eq! (::std::mem::align_of::<IntersectionCallback>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + IntersectionCallback ) )); } #[repr(C)] #[derive(Debug)] @@ -3152,9 +4145,31 @@ pub mod root { #[test] fn bindgen_test_layout_OwningDoubleOrDoubleSequence_Value() { assert_eq!(::std::mem::size_of::<OwningDoubleOrDoubleSequence_Value>() - , 8usize); - assert_eq!(::std::mem::align_of::<OwningDoubleOrDoubleSequence_Value>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) )); + assert_eq! (::std::mem::align_of::<OwningDoubleOrDoubleSequence_Value>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const OwningDoubleOrDoubleSequence_Value ) + ) . mDouble as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) , "::" , + stringify ! ( mDouble ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const OwningDoubleOrDoubleSequence_Value ) + ) . mDoubleSequence as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) , "::" , + stringify ! ( mDoubleSequence ) )); } impl Clone for OwningDoubleOrDoubleSequence_Value { fn clone(&self) -> Self { *self } @@ -3162,9 +4177,29 @@ pub mod root { #[test] fn bindgen_test_layout_OwningDoubleOrDoubleSequence() { assert_eq!(::std::mem::size_of::<OwningDoubleOrDoubleSequence>() - , 16usize); - assert_eq!(::std::mem::align_of::<OwningDoubleOrDoubleSequence>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + OwningDoubleOrDoubleSequence ) )); + assert_eq! (::std::mem::align_of::<OwningDoubleOrDoubleSequence>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OwningDoubleOrDoubleSequence ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const OwningDoubleOrDoubleSequence ) ) + . mType as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence ) , "::" , stringify + ! ( mType ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const OwningDoubleOrDoubleSequence ) ) + . mValue as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence ) , "::" , stringify + ! ( mValue ) )); } #[repr(C)] #[derive(Debug)] @@ -3177,9 +4212,34 @@ pub mod root { #[test] fn bindgen_test_layout_IntersectionObserverInit() { assert_eq!(::std::mem::size_of::<IntersectionObserverInit>() , - 48usize); - assert_eq!(::std::mem::align_of::<IntersectionObserverInit>() - , 8usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( + IntersectionObserverInit ) )); + assert_eq! (::std::mem::align_of::<IntersectionObserverInit>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + IntersectionObserverInit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionObserverInit ) ) + . mRoot as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + IntersectionObserverInit ) , "::" , stringify ! ( + mRoot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionObserverInit ) ) + . mRootMargin as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionObserverInit ) , "::" , stringify ! ( + mRootMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionObserverInit ) ) + . mThreshold as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionObserverInit ) , "::" , stringify ! ( + mThreshold ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3206,9 +4266,14 @@ pub mod root { #[test] fn bindgen_test_layout_DestinationInsertionPointList_cycleCollection() { assert_eq!(::std::mem::size_of::<DestinationInsertionPointList_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DestinationInsertionPointList_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DestinationInsertionPointList_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DestinationInsertionPointList_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DestinationInsertionPointList_cycleCollection ) + )); } impl Clone for DestinationInsertionPointList_cycleCollection { fn clone(&self) -> Self { *self } @@ -3223,9 +4288,45 @@ pub mod root { #[test] fn bindgen_test_layout_DestinationInsertionPointList() { assert_eq!(::std::mem::size_of::<DestinationInsertionPointList>() - , 64usize); - assert_eq!(::std::mem::align_of::<DestinationInsertionPointList>() - , 8usize); + , 64usize , concat ! ( + "Size of: " , stringify ! ( + DestinationInsertionPointList ) )); + assert_eq! (::std::mem::align_of::<DestinationInsertionPointList>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DestinationInsertionPointList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . mRefCnt as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . _mOwningThread as * const _ as usize } , 40usize + , concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . mParent as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( mParent ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . mDestinationPoints as * const _ as usize } , + 56usize , concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( mDestinationPoints ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3240,8 +4341,11 @@ pub mod root { root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::AssertAndSuppressCleanupPolicy>; #[test] fn bindgen_test_layout_ErrorResult() { - assert_eq!(::std::mem::size_of::<ErrorResult>() , 32usize); - assert_eq!(::std::mem::align_of::<ErrorResult>() , 8usize); + assert_eq!(::std::mem::size_of::<ErrorResult>() , 32usize , concat + ! ( "Size of: " , stringify ! ( ErrorResult ) )); + assert_eq! (::std::mem::align_of::<ErrorResult>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ErrorResult ) )); } impl Clone for ErrorResult { fn clone(&self) -> Self { *self } @@ -3253,8 +4357,11 @@ pub mod root { } #[test] fn bindgen_test_layout_OOMReporter() { - assert_eq!(::std::mem::size_of::<OOMReporter>() , 32usize); - assert_eq!(::std::mem::align_of::<OOMReporter>() , 8usize); + assert_eq!(::std::mem::size_of::<OOMReporter>() , 32usize , concat + ! ( "Size of: " , stringify ! ( OOMReporter ) )); + assert_eq! (::std::mem::align_of::<OOMReporter>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( OOMReporter ) )); } pub mod binding_danger { #[allow(unused_imports)] @@ -3323,9 +4430,13 @@ pub mod root { #[test] fn bindgen_test_layout_JustAssertCleanupPolicy() { assert_eq!(::std::mem::size_of::<JustAssertCleanupPolicy>() , - 1usize); - assert_eq!(::std::mem::align_of::<JustAssertCleanupPolicy>() , - 1usize); + 1usize , concat ! ( + "Size of: " , stringify ! ( JustAssertCleanupPolicy + ) )); + assert_eq! (::std::mem::align_of::<JustAssertCleanupPolicy>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + JustAssertCleanupPolicy ) )); } impl Clone for JustAssertCleanupPolicy { fn clone(&self) -> Self { *self } @@ -3341,9 +4452,13 @@ pub mod root { #[test] fn bindgen_test_layout_AssertAndSuppressCleanupPolicy() { assert_eq!(::std::mem::size_of::<AssertAndSuppressCleanupPolicy>() - , 1usize); - assert_eq!(::std::mem::align_of::<AssertAndSuppressCleanupPolicy>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + AssertAndSuppressCleanupPolicy ) )); + assert_eq! (::std::mem::align_of::<AssertAndSuppressCleanupPolicy>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + AssertAndSuppressCleanupPolicy ) )); } impl Clone for AssertAndSuppressCleanupPolicy { fn clone(&self) -> Self { *self } @@ -3387,8 +4502,12 @@ pub mod root { } #[test] fn bindgen_test_layout_OriginAttributes() { - assert_eq!(::std::mem::size_of::<OriginAttributes>() , 64usize); - assert_eq!(::std::mem::align_of::<OriginAttributes>() , 8usize); + assert_eq!(::std::mem::size_of::<OriginAttributes>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( OriginAttributes ) )); + assert_eq! (::std::mem::align_of::<OriginAttributes>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( OriginAttributes ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3417,8 +4536,10 @@ pub mod root { pub type Runnable_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_Runnable() { - assert_eq!(::std::mem::size_of::<Runnable>() , 40usize); - assert_eq!(::std::mem::align_of::<Runnable>() , 8usize); + assert_eq!(::std::mem::size_of::<Runnable>() , 40usize , concat ! + ( "Size of: " , stringify ! ( Runnable ) )); + assert_eq! (::std::mem::align_of::<Runnable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( Runnable ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3506,10 +4627,39 @@ pub mod root { } #[test] fn bindgen_test_layout_BlockingResourceBase() { - assert_eq!(::std::mem::size_of::<BlockingResourceBase>() , - 24usize); - assert_eq!(::std::mem::align_of::<BlockingResourceBase>() , - 8usize); + assert_eq!(::std::mem::size_of::<BlockingResourceBase>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( BlockingResourceBase ) )); + assert_eq! (::std::mem::align_of::<BlockingResourceBase>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( BlockingResourceBase ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BlockingResourceBase ) ) . + mChainPrev as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + BlockingResourceBase ) , "::" , stringify ! ( + mChainPrev ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const BlockingResourceBase ) ) . mName + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + BlockingResourceBase ) , "::" , stringify ! ( mName ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BlockingResourceBase ) ) . mType + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + BlockingResourceBase ) , "::" , stringify ! ( mType ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BlockingResourceBase ) ) . + mAcquired as * const _ as usize } , 20usize , concat ! + ( + "Alignment of field: " , stringify ! ( + BlockingResourceBase ) , "::" , stringify ! ( + mAcquired ) )); } /** * OffTheBooksMutex is identical to Mutex, except that OffTheBooksMutex doesn't @@ -3524,8 +4674,17 @@ pub mod root { } #[test] fn bindgen_test_layout_OffTheBooksMutex() { - assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 32usize); - assert_eq!(::std::mem::align_of::<OffTheBooksMutex>() , 8usize); + assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( OffTheBooksMutex ) )); + assert_eq! (::std::mem::align_of::<OffTheBooksMutex>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( OffTheBooksMutex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OffTheBooksMutex ) ) . mLock as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + OffTheBooksMutex ) , "::" , stringify ! ( mLock ) )); } /** * Mutex @@ -3539,8 +4698,10 @@ pub mod root { } #[test] fn bindgen_test_layout_Mutex() { - assert_eq!(::std::mem::size_of::<Mutex>() , 32usize); - assert_eq!(::std::mem::align_of::<Mutex>() , 8usize); + assert_eq!(::std::mem::size_of::<Mutex>() , 32usize , concat ! ( + "Size of: " , stringify ! ( Mutex ) )); + assert_eq! (::std::mem::align_of::<Mutex>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( Mutex ) )); } pub mod net { #[allow(unused_imports)] @@ -3588,8 +4749,23 @@ pub mod root { } #[test] fn bindgen_test_layout_ChangesToFlush() { - assert_eq!(::std::mem::size_of::<ChangesToFlush>() , 2usize); - assert_eq!(::std::mem::align_of::<ChangesToFlush>() , 1usize); + assert_eq!(::std::mem::size_of::<ChangesToFlush>() , 2usize , + concat ! ( "Size of: " , stringify ! ( ChangesToFlush ) + )); + assert_eq! (::std::mem::align_of::<ChangesToFlush>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( ChangesToFlush ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ChangesToFlush ) ) . mFlushType + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ChangesToFlush + ) , "::" , stringify ! ( mFlushType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ChangesToFlush ) ) . + mFlushAnimations as * const _ as usize } , 1usize , + concat ! ( + "Alignment of field: " , stringify ! ( ChangesToFlush + ) , "::" , stringify ! ( mFlushAnimations ) )); } impl Clone for ChangesToFlush { fn clone(&self) -> Self { *self } @@ -3610,8 +4786,16 @@ pub mod root { pub type EventStates_ServoType = u16; #[test] fn bindgen_test_layout_EventStates() { - assert_eq!(::std::mem::size_of::<EventStates>() , 8usize); - assert_eq!(::std::mem::align_of::<EventStates>() , 8usize); + assert_eq!(::std::mem::size_of::<EventStates>() , 8usize , concat + ! ( "Size of: " , stringify ! ( EventStates ) )); + assert_eq! (::std::mem::align_of::<EventStates>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( EventStates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EventStates ) ) . mStates as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( EventStates ) , + "::" , stringify ! ( mStates ) )); } impl Clone for EventStates { fn clone(&self) -> Self { *self } @@ -3676,8 +4860,62 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_URLValueData() { - assert_eq!(::std::mem::size_of::<URLValueData>() , 64usize); - assert_eq!(::std::mem::align_of::<URLValueData>() , 8usize); + assert_eq!(::std::mem::size_of::<URLValueData>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( URLValueData ) )); + assert_eq! (::std::mem::align_of::<URLValueData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( URLValueData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mRefCnt as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mURI as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mURI ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mBaseURI + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mBaseURI ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mString as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mString ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mReferrer + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mReferrer ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . + mOriginPrincipal as * const _ as usize } , 48usize + , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( + mOriginPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . + mURIResolved as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mURIResolved + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . + mIsLocalRef as * const _ as usize } , 57usize , + concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mIsLocalRef + ) )); } #[repr(C)] #[derive(Debug)] @@ -3686,8 +4924,12 @@ pub mod root { } #[test] fn bindgen_test_layout_URLValue() { - assert_eq!(::std::mem::size_of::<URLValue>() , 64usize); - assert_eq!(::std::mem::align_of::<URLValue>() , 8usize); + assert_eq!(::std::mem::size_of::<URLValue>() , 64usize , + concat ! ( "Size of: " , stringify ! ( URLValue ) + )); + assert_eq! (::std::mem::align_of::<URLValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( URLValue ) )); } #[repr(C)] #[derive(Debug)] @@ -3698,8 +4940,22 @@ pub mod root { } #[test] fn bindgen_test_layout_ImageValue() { - assert_eq!(::std::mem::size_of::<ImageValue>() , 120usize); - assert_eq!(::std::mem::align_of::<ImageValue>() , 8usize); + assert_eq!(::std::mem::size_of::<ImageValue>() , 120usize , + concat ! ( "Size of: " , stringify ! ( ImageValue ) + )); + assert_eq! (::std::mem::align_of::<ImageValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ImageValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageValue ) ) . mRequests as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( ImageValue + ) , "::" , stringify ! ( mRequests ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageValue ) ) . mInitialized + as * const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( ImageValue + ) , "::" , stringify ! ( mInitialized ) )); } #[repr(C)] #[derive(Debug)] @@ -3712,8 +4968,44 @@ pub mod root { } #[test] fn bindgen_test_layout_GridNamedArea() { - assert_eq!(::std::mem::size_of::<GridNamedArea>() , 32usize); - assert_eq!(::std::mem::align_of::<GridNamedArea>() , 8usize); + assert_eq!(::std::mem::size_of::<GridNamedArea>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( GridNamedArea ) )); + assert_eq! (::std::mem::align_of::<GridNamedArea>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GridNamedArea ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . mName as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . + mColumnStart as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( + mColumnStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . + mColumnEnd as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mColumnEnd + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . mRowStart + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mRowStart ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . mRowEnd + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mRowEnd ) + )); } #[repr(C)] #[derive(Debug)] @@ -3729,9 +5021,48 @@ pub mod root { #[test] fn bindgen_test_layout_GridTemplateAreasValue() { assert_eq!(::std::mem::size_of::<GridTemplateAreasValue>() , - 40usize); - assert_eq!(::std::mem::align_of::<GridTemplateAreasValue>() , - 8usize); + 40usize , concat ! ( + "Size of: " , stringify ! ( GridTemplateAreasValue + ) )); + assert_eq! (::std::mem::align_of::<GridTemplateAreasValue>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + GridTemplateAreasValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mNamedAreas as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mNamedAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mTemplates as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mTemplates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mNColumns as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mNColumns ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mRefCnt as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + _mOwningThread as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -3745,9 +5076,27 @@ pub mod root { #[test] fn bindgen_test_layout_FontFamilyListRefCnt() { assert_eq!(::std::mem::size_of::<FontFamilyListRefCnt>() , - 32usize); - assert_eq!(::std::mem::align_of::<FontFamilyListRefCnt>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( FontFamilyListRefCnt ) + )); + assert_eq! (::std::mem::align_of::<FontFamilyListRefCnt>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FontFamilyListRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyListRefCnt ) ) . + mRefCnt as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FontFamilyListRefCnt ) , "::" , stringify ! ( + mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyListRefCnt ) ) . + _mOwningThread as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FontFamilyListRefCnt ) , "::" , stringify ! ( + _mOwningThread ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -3759,8 +5108,33 @@ pub mod root { } #[test] fn bindgen_test_layout_RGBAColorData() { - assert_eq!(::std::mem::size_of::<RGBAColorData>() , 16usize); - assert_eq!(::std::mem::align_of::<RGBAColorData>() , 4usize); + assert_eq!(::std::mem::size_of::<RGBAColorData>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( RGBAColorData ) )); + assert_eq! (::std::mem::align_of::<RGBAColorData>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( RGBAColorData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mR as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mR ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mG as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mB as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mB ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mA as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mA ) )); } impl Clone for RGBAColorData { fn clone(&self) -> Self { *self } @@ -3773,10 +5147,26 @@ pub mod root { } #[test] fn bindgen_test_layout_ComplexColorData() { - assert_eq!(::std::mem::size_of::<ComplexColorData>() , - 20usize); - assert_eq!(::std::mem::align_of::<ComplexColorData>() , - 4usize); + assert_eq!(::std::mem::size_of::<ComplexColorData>() , 20usize + , concat ! ( + "Size of: " , stringify ! ( ComplexColorData ) )); + assert_eq! (::std::mem::align_of::<ComplexColorData>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( ComplexColorData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorData ) ) . mColor + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ComplexColorData ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorData ) ) . + mForegroundRatio as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ComplexColorData ) , "::" , stringify ! ( + mForegroundRatio ) )); } impl Clone for ComplexColorData { fn clone(&self) -> Self { *self } @@ -3793,9 +5183,26 @@ pub mod root { #[test] fn bindgen_test_layout_ComplexColorValue() { assert_eq!(::std::mem::size_of::<ComplexColorValue>() , - 40usize); - assert_eq!(::std::mem::align_of::<ComplexColorValue>() , - 8usize); + 40usize , concat ! ( + "Size of: " , stringify ! ( ComplexColorValue ) )); + assert_eq! (::std::mem::align_of::<ComplexColorValue>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( ComplexColorValue + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorValue ) ) . + mRefCnt as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + ComplexColorValue ) , "::" , stringify ! ( mRefCnt + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorValue ) ) . + _mOwningThread as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ComplexColorValue ) , "::" , stringify ! ( + _mOwningThread ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3831,9 +5238,13 @@ pub mod root { #[test] fn bindgen_test_layout_StyleSheet_cycleCollection() { assert_eq!(::std::mem::size_of::<StyleSheet_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<StyleSheet_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( StyleSheet_cycleCollection + ) )); + assert_eq! (::std::mem::align_of::<StyleSheet_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + StyleSheet_cycleCollection ) )); } impl Clone for StyleSheet_cycleCollection { fn clone(&self) -> Self { *self } @@ -3851,8 +5262,10 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleSheet() { - assert_eq!(::std::mem::size_of::<StyleSheet>() , 120usize); - assert_eq!(::std::mem::align_of::<StyleSheet>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleSheet>() , 120usize , concat + ! ( "Size of: " , stringify ! ( StyleSheet ) )); + assert_eq! (::std::mem::align_of::<StyleSheet>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( StyleSheet ) )); } #[repr(u8)] /** @@ -3904,47 +5317,61 @@ pub mod root { eUseCounter_OfflineResourceList_oncached_setter = 27, eUseCounter_OfflineResourceList_onobsolete_getter = 28, eUseCounter_OfflineResourceList_onobsolete_setter = 29, - eUseCounter_GetAttributeNode = 30, - eUseCounter_SetAttributeNode = 31, - eUseCounter_GetAttributeNodeNS = 32, - eUseCounter_SetAttributeNodeNS = 33, - eUseCounter_RemoveAttributeNode = 34, - eUseCounter_CreateAttribute = 35, - eUseCounter_CreateAttributeNS = 36, - eUseCounter_NodeValue = 37, - eUseCounter_TextContent = 38, - eUseCounter_EnablePrivilege = 39, - eUseCounter_DOMExceptionCode = 40, - eUseCounter_NoExposedProps = 41, - eUseCounter_MutationEvent = 42, - eUseCounter_Components = 43, - eUseCounter_PrefixedVisibilityAPI = 44, - eUseCounter_NodeIteratorDetach = 45, - eUseCounter_LenientThis = 46, - eUseCounter_GetPreventDefault = 47, - eUseCounter_GetSetUserData = 48, - eUseCounter_MozGetAsFile = 49, - eUseCounter_UseOfCaptureEvents = 50, - eUseCounter_UseOfReleaseEvents = 51, - eUseCounter_UseOfDOM3LoadMethod = 52, - eUseCounter_ChromeUseOfDOM3LoadMethod = 53, - eUseCounter_ShowModalDialog = 54, - eUseCounter_Window_Content = 55, - eUseCounter_SyncXMLHttpRequest = 56, - eUseCounter_DataContainerEvent = 57, - eUseCounter_Window_Controllers = 58, - eUseCounter_ImportXULIntoContent = 59, - eUseCounter_PannerNodeDoppler = 60, - eUseCounter_NavigatorGetUserMedia = 61, - eUseCounter_WebrtcDeprecatedPrefix = 62, - eUseCounter_RTCPeerConnectionGetStreams = 63, - eUseCounter_AppCache = 64, - eUseCounter_PrefixedImageSmoothingEnabled = 65, - eUseCounter_PrefixedFullscreenAPI = 66, - eUseCounter_LenientSetter = 67, - eUseCounter_FileLastModifiedDate = 68, - eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap = 69, - eUseCounter_Count = 70, + eUseCounter_DataTransfer_addElement = 30, + eUseCounter_DataTransfer_mozItemCount_getter = 31, + eUseCounter_DataTransfer_mozItemCount_setter = 32, + eUseCounter_DataTransfer_mozCursor_getter = 33, + eUseCounter_DataTransfer_mozCursor_setter = 34, + eUseCounter_DataTransfer_mozTypesAt = 35, + eUseCounter_DataTransfer_mozClearDataAt = 36, + eUseCounter_DataTransfer_mozSetDataAt = 37, + eUseCounter_DataTransfer_mozGetDataAt = 38, + eUseCounter_DataTransfer_mozUserCancelled_getter = 39, + eUseCounter_DataTransfer_mozUserCancelled_setter = 40, + eUseCounter_DataTransfer_mozSourceNode_getter = 41, + eUseCounter_DataTransfer_mozSourceNode_setter = 42, + eUseCounter_GetAttributeNode = 43, + eUseCounter_SetAttributeNode = 44, + eUseCounter_GetAttributeNodeNS = 45, + eUseCounter_SetAttributeNodeNS = 46, + eUseCounter_RemoveAttributeNode = 47, + eUseCounter_CreateAttribute = 48, + eUseCounter_CreateAttributeNS = 49, + eUseCounter_NodeValue = 50, + eUseCounter_TextContent = 51, + eUseCounter_EnablePrivilege = 52, + eUseCounter_DOMExceptionCode = 53, + eUseCounter_NoExposedProps = 54, + eUseCounter_MutationEvent = 55, + eUseCounter_Components = 56, + eUseCounter_PrefixedVisibilityAPI = 57, + eUseCounter_NodeIteratorDetach = 58, + eUseCounter_LenientThis = 59, + eUseCounter_GetPreventDefault = 60, + eUseCounter_GetSetUserData = 61, + eUseCounter_MozGetAsFile = 62, + eUseCounter_UseOfCaptureEvents = 63, + eUseCounter_UseOfReleaseEvents = 64, + eUseCounter_UseOfDOM3LoadMethod = 65, + eUseCounter_ChromeUseOfDOM3LoadMethod = 66, + eUseCounter_ShowModalDialog = 67, + eUseCounter_Window_Content = 68, + eUseCounter_SyncXMLHttpRequest = 69, + eUseCounter_DataContainerEvent = 70, + eUseCounter_Window_Controllers = 71, + eUseCounter_ImportXULIntoContent = 72, + eUseCounter_PannerNodeDoppler = 73, + eUseCounter_NavigatorGetUserMedia = 74, + eUseCounter_WebrtcDeprecatedPrefix = 75, + eUseCounter_RTCPeerConnectionGetStreams = 76, + eUseCounter_AppCache = 77, + eUseCounter_PrefixedImageSmoothingEnabled = 78, + eUseCounter_PrefixedFullscreenAPI = 79, + eUseCounter_LenientSetter = 80, + eUseCounter_FileLastModifiedDate = 81, + eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap = 82, + eUseCounter_URLCreateObjectURL_MediaStream = 83, + eUseCounter_Count = 84, } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -3999,16 +5426,36 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleSetHandle_Ptr() { - assert_eq!(::std::mem::size_of::<StyleSetHandle_Ptr>() , 8usize); - assert_eq!(::std::mem::align_of::<StyleSetHandle_Ptr>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleSetHandle_Ptr>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( StyleSetHandle_Ptr ) )); + assert_eq! (::std::mem::align_of::<StyleSetHandle_Ptr>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( StyleSetHandle_Ptr ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleSetHandle_Ptr ) ) . mValue + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleSetHandle_Ptr ) , "::" , stringify ! ( mValue ) + )); } impl Clone for StyleSetHandle_Ptr { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_StyleSetHandle() { - assert_eq!(::std::mem::size_of::<StyleSetHandle>() , 8usize); - assert_eq!(::std::mem::align_of::<StyleSetHandle>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleSetHandle>() , 8usize , + concat ! ( "Size of: " , stringify ! ( StyleSetHandle ) + )); + assert_eq! (::std::mem::align_of::<StyleSetHandle>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleSetHandle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleSetHandle ) ) . mPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleSetHandle + ) , "::" , stringify ! ( mPtr ) )); } impl Clone for StyleSetHandle { fn clone(&self) -> Self { *self } @@ -4048,8 +5495,32 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleComplexColor() { - assert_eq!(::std::mem::size_of::<StyleComplexColor>() , 8usize); - assert_eq!(::std::mem::align_of::<StyleComplexColor>() , 4usize); + assert_eq!(::std::mem::size_of::<StyleComplexColor>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( StyleComplexColor ) )); + assert_eq! (::std::mem::align_of::<StyleComplexColor>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( StyleComplexColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleComplexColor ) ) . mColor as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleComplexColor ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleComplexColor ) ) . + mForegroundRatio as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleComplexColor ) , "::" , stringify ! ( + mForegroundRatio ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleComplexColor ) ) . mIsAuto + as * const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleComplexColor ) , "::" , stringify ! ( mIsAuto ) + )); } impl Clone for StyleComplexColor { fn clone(&self) -> Self { *self } @@ -4102,8 +5573,22 @@ pub mod root { } #[test] fn bindgen_test_layout_FontFamilyName() { - assert_eq!(::std::mem::size_of::<FontFamilyName>() , 24usize); - assert_eq!(::std::mem::align_of::<FontFamilyName>() , 8usize); + assert_eq!(::std::mem::size_of::<FontFamilyName>() , 24usize , + concat ! ( "Size of: " , stringify ! ( FontFamilyName ) + )); + assert_eq! (::std::mem::align_of::<FontFamilyName>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( FontFamilyName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyName ) ) . mType as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyName + ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyName ) ) . mName as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyName + ) , "::" , stringify ! ( mName ) )); } /** * font family list, array of font families and a default font type. @@ -4118,8 +5603,23 @@ pub mod root { } #[test] fn bindgen_test_layout_FontFamilyList() { - assert_eq!(::std::mem::size_of::<FontFamilyList>() , 16usize); - assert_eq!(::std::mem::align_of::<FontFamilyList>() , 8usize); + assert_eq!(::std::mem::size_of::<FontFamilyList>() , 16usize , + concat ! ( "Size of: " , stringify ! ( FontFamilyList ) + )); + assert_eq! (::std::mem::align_of::<FontFamilyList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( FontFamilyList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyList ) ) . mFontlist as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyList + ) , "::" , stringify ! ( mFontlist ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyList ) ) . + mDefaultFontType as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyList + ) , "::" , stringify ! ( mDefaultFontType ) )); } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -4391,14 +5891,64 @@ pub mod root { #[test] fn bindgen_test_layout_CSSVariableValues_Variable() { assert_eq!(::std::mem::size_of::<CSSVariableValues_Variable>() , - 40usize); - assert_eq!(::std::mem::align_of::<CSSVariableValues_Variable>() , - 8usize); + 40usize , concat ! ( + "Size of: " , stringify ! ( CSSVariableValues_Variable + ) )); + assert_eq! (::std::mem::align_of::<CSSVariableValues_Variable>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + CSSVariableValues_Variable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mVariableName as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mVariableName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mValue as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mFirstToken as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mFirstToken ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mLastToken as * const _ as usize } , 36usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mLastToken ) )); } #[test] fn bindgen_test_layout_CSSVariableValues() { - assert_eq!(::std::mem::size_of::<CSSVariableValues>() , 56usize); - assert_eq!(::std::mem::align_of::<CSSVariableValues>() , 8usize); + assert_eq!(::std::mem::size_of::<CSSVariableValues>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( CSSVariableValues ) )); + assert_eq! (::std::mem::align_of::<CSSVariableValues>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CSSVariableValues ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues ) ) . + mVariableIDs as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues ) , "::" , stringify ! ( + mVariableIDs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues ) ) . + mVariables as * const _ as usize } , 48usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues ) , "::" , stringify ! ( mVariables + ) )); } /** * Additional data used in conjunction with an nsRestyleHint to control the @@ -4411,8 +5961,19 @@ pub mod root { } #[test] fn bindgen_test_layout_RestyleHintData() { - assert_eq!(::std::mem::size_of::<RestyleHintData>() , 8usize); - assert_eq!(::std::mem::align_of::<RestyleHintData>() , 8usize); + assert_eq!(::std::mem::size_of::<RestyleHintData>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( RestyleHintData ) )); + assert_eq! (::std::mem::align_of::<RestyleHintData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( RestyleHintData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RestyleHintData ) ) . + mSelectorsForDescendants as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( RestyleHintData + ) , "::" , stringify ! ( mSelectorsForDescendants ) + )); } #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -4518,9 +6079,27 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyDescriptorUntyped() { assert_eq!(::std::mem::size_of::<FramePropertyDescriptorUntyped>() - , 16usize); - assert_eq!(::std::mem::align_of::<FramePropertyDescriptorUntyped>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FramePropertyDescriptorUntyped ) )); + assert_eq! (::std::mem::align_of::<FramePropertyDescriptorUntyped>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyDescriptorUntyped ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyDescriptorUntyped ) + ) . mDestructor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyDescriptorUntyped ) , "::" , stringify ! + ( mDestructor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyDescriptorUntyped ) + ) . mDestructorWithFrame as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyDescriptorUntyped ) , "::" , stringify ! + ( mDestructorWithFrame ) )); } impl Clone for FramePropertyDescriptorUntyped { fn clone(&self) -> Self { *self } @@ -4564,9 +6143,28 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyTable_PropertyValue() { assert_eq!(::std::mem::size_of::<FramePropertyTable_PropertyValue>() - , 16usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable_PropertyValue>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FramePropertyTable_PropertyValue ) )); + assert_eq! (::std::mem::align_of::<FramePropertyTable_PropertyValue>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyTable_PropertyValue ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FramePropertyTable_PropertyValue ) ) + . mProperty as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable_PropertyValue ) , "::" , stringify + ! ( mProperty ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FramePropertyTable_PropertyValue ) ) + . mValue as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable_PropertyValue ) , "::" , stringify + ! ( mValue ) )); } impl Clone for FramePropertyTable_PropertyValue { fn clone(&self) -> Self { *self } @@ -4583,9 +6181,13 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyTable_PropertyComparator() { assert_eq!(::std::mem::size_of::<FramePropertyTable_PropertyComparator>() - , 1usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable_PropertyComparator>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + FramePropertyTable_PropertyComparator ) )); + assert_eq! (::std::mem::align_of::<FramePropertyTable_PropertyComparator>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyTable_PropertyComparator ) )); } impl Clone for FramePropertyTable_PropertyComparator { fn clone(&self) -> Self { *self } @@ -4603,14 +6205,49 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyTable_Entry() { assert_eq!(::std::mem::size_of::<FramePropertyTable_Entry>() , - 32usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable_Entry>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( FramePropertyTable_Entry ) + )); + assert_eq! (::std::mem::align_of::<FramePropertyTable_Entry>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyTable_Entry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable_Entry ) ) . + mProp as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable_Entry ) , "::" , stringify ! ( + mProp ) )); } #[test] fn bindgen_test_layout_FramePropertyTable() { - assert_eq!(::std::mem::size_of::<FramePropertyTable>() , 64usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable>() , 8usize); + assert_eq!(::std::mem::size_of::<FramePropertyTable>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( FramePropertyTable ) )); + assert_eq! (::std::mem::align_of::<FramePropertyTable>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( FramePropertyTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable ) ) . mEntries + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable ) , "::" , stringify ! ( mEntries ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable ) ) . + mLastFrame as * const _ as usize } , 48usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable ) , "::" , stringify ! ( mLastFrame + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable ) ) . + mLastEntry as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable ) , "::" , stringify ! ( mLastEntry + ) )); } #[repr(C)] #[derive(Debug)] @@ -4627,8 +6264,64 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollbarStyles() { - assert_eq!(::std::mem::size_of::<ScrollbarStyles>() , 64usize); - assert_eq!(::std::mem::align_of::<ScrollbarStyles>() , 8usize); + assert_eq!(::std::mem::size_of::<ScrollbarStyles>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( ScrollbarStyles ) )); + assert_eq! (::std::mem::align_of::<ScrollbarStyles>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ScrollbarStyles ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . mHorizontal + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mHorizontal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . mVertical + as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mVertical ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollBehavior as * const _ as usize } , 2usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollBehavior ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapTypeX as * const _ as usize } , 3usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapTypeY as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapPointsX as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapPointsX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapPointsY as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapPointsY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapDestinationX as * const _ as usize } , + 40usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapDestinationX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapDestinationY as * const _ as usize } , + 52usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapDestinationY ) )); } /** * A class for holding strong references to handle-managed objects. @@ -4661,19 +6354,38 @@ pub mod root { #[test] fn bindgen_test_layout_RestyleManagerHandle_Ptr() { assert_eq!(::std::mem::size_of::<RestyleManagerHandle_Ptr>() , - 8usize); - assert_eq!(::std::mem::align_of::<RestyleManagerHandle_Ptr>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( RestyleManagerHandle_Ptr ) + )); + assert_eq! (::std::mem::align_of::<RestyleManagerHandle_Ptr>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + RestyleManagerHandle_Ptr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RestyleManagerHandle_Ptr ) ) . + mValue as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RestyleManagerHandle_Ptr ) , "::" , stringify ! ( + mValue ) )); } impl Clone for RestyleManagerHandle_Ptr { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_RestyleManagerHandle() { - assert_eq!(::std::mem::size_of::<RestyleManagerHandle>() , - 8usize); - assert_eq!(::std::mem::align_of::<RestyleManagerHandle>() , - 8usize); + assert_eq!(::std::mem::size_of::<RestyleManagerHandle>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( RestyleManagerHandle ) )); + assert_eq! (::std::mem::align_of::<RestyleManagerHandle>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( RestyleManagerHandle ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RestyleManagerHandle ) ) . mPtr + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RestyleManagerHandle ) , "::" , stringify ! ( mPtr ) + )); } impl Clone for RestyleManagerHandle { fn clone(&self) -> Self { *self } @@ -4694,9 +6406,82 @@ pub mod root { } #[test] fn bindgen_test_layout_LangGroupFontPrefs() { - assert_eq!(::std::mem::size_of::<LangGroupFontPrefs>() , - 696usize); - assert_eq!(::std::mem::align_of::<LangGroupFontPrefs>() , 8usize); + assert_eq!(::std::mem::size_of::<LangGroupFontPrefs>() , 696usize + , concat ! ( + "Size of: " , stringify ! ( LangGroupFontPrefs ) )); + assert_eq! (::std::mem::align_of::<LangGroupFontPrefs>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( LangGroupFontPrefs ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mLangGroup as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( mLangGroup + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mMinimumFontSize as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mMinimumFontSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultVariableFont as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultVariableFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultFixedFont as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultFixedFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultSerifFont as * const _ as usize } , 208usize , + concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultSerifFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultSansSerifFont as * const _ as usize } , + 304usize , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultSansSerifFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultMonospaceFont as * const _ as usize } , + 400usize , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultMonospaceFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultCursiveFont as * const _ as usize } , 496usize + , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultCursiveFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultFantasyFont as * const _ as usize } , 592usize + , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultFantasyFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . mNext as + * const _ as usize } , 688usize , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( mNext ) + )); } /** * Some functionality that has historically lived on nsPresContext does not @@ -4713,8 +6498,30 @@ pub mod root { } #[test] fn bindgen_test_layout_StaticPresData() { - assert_eq!(::std::mem::size_of::<StaticPresData>() , 720usize); - assert_eq!(::std::mem::align_of::<StaticPresData>() , 8usize); + assert_eq!(::std::mem::size_of::<StaticPresData>() , 720usize , + concat ! ( "Size of: " , stringify ! ( StaticPresData ) + )); + assert_eq! (::std::mem::align_of::<StaticPresData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StaticPresData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StaticPresData ) ) . mLangService + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( StaticPresData + ) , "::" , stringify ! ( mLangService ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StaticPresData ) ) . + mBorderWidthTable as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( StaticPresData + ) , "::" , stringify ! ( mBorderWidthTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StaticPresData ) ) . + mStaticLangGroupFontPrefs as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StaticPresData + ) , "::" , stringify ! ( mStaticLangGroupFontPrefs ) + )); } #[repr(C)] #[derive(Debug)] @@ -4735,9 +6542,13 @@ pub mod root { #[test] fn bindgen_test_layout_EffectCompositor_cycleCollection() { assert_eq!(::std::mem::size_of::<EffectCompositor_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<EffectCompositor_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + EffectCompositor_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<EffectCompositor_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + EffectCompositor_cycleCollection ) )); } impl Clone for EffectCompositor_cycleCollection { fn clone(&self) -> Self { *self } @@ -4769,9 +6580,52 @@ pub mod root { #[test] fn bindgen_test_layout_EffectCompositor_AnimationStyleRuleProcessor() { assert_eq!(::std::mem::size_of::<EffectCompositor_AnimationStyleRuleProcessor>() - , 40usize); - assert_eq!(::std::mem::align_of::<EffectCompositor_AnimationStyleRuleProcessor>() - , 8usize); + , 40usize , concat ! ( + "Size of: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) )); + assert_eq! (::std::mem::align_of::<EffectCompositor_AnimationStyleRuleProcessor>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + mRefCnt as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + _mOwningThread as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + mCompositor as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( mCompositor ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + mCascadeLevel as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( mCascadeLevel ) )); } extern "C" { #[link_name = @@ -4782,8 +6636,46 @@ pub mod root { pub const EffectCompositor_kCascadeLevelCount: usize = 2; #[test] fn bindgen_test_layout_EffectCompositor() { - assert_eq!(::std::mem::size_of::<EffectCompositor>() , 152usize); - assert_eq!(::std::mem::align_of::<EffectCompositor>() , 8usize); + assert_eq!(::std::mem::size_of::<EffectCompositor>() , 152usize , + concat ! ( + "Size of: " , stringify ! ( EffectCompositor ) )); + assert_eq! (::std::mem::align_of::<EffectCompositor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( EffectCompositor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + _mOwningThread as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + mPresContext as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( mPresContext + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + mElementsToRestyle as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( + mElementsToRestyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + mRuleProcessors as * const _ as usize } , 120usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( + mRuleProcessors ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -4800,10 +6692,40 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_CounterStyleManager() { - assert_eq!(::std::mem::size_of::<CounterStyleManager>() , - 72usize); - assert_eq!(::std::mem::align_of::<CounterStyleManager>() , - 8usize); + assert_eq!(::std::mem::size_of::<CounterStyleManager>() , 72usize + , concat ! ( + "Size of: " , stringify ! ( CounterStyleManager ) )); + assert_eq! (::std::mem::align_of::<CounterStyleManager>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( CounterStyleManager ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . mRefCnt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . + _mOwningThread as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . + mPresContext as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( + mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . + mCacheTable as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( + mCacheTable ) )); } pub mod image { #[allow(unused_imports)] @@ -4831,8 +6753,50 @@ pub mod root { } #[test] fn bindgen_test_layout_ImageCacheKey() { - assert_eq!(::std::mem::size_of::<ImageCacheKey>() , 104usize); - assert_eq!(::std::mem::align_of::<ImageCacheKey>() , 8usize); + assert_eq!(::std::mem::size_of::<ImageCacheKey>() , 104usize , + concat ! ( + "Size of: " , stringify ! ( ImageCacheKey ) )); + assert_eq! (::std::mem::align_of::<ImageCacheKey>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ImageCacheKey ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . mURI as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mURI ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . + mBlobSerial as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mBlobSerial + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . + mOriginAttributes as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( + mOriginAttributes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . + mControlledDocument as * const _ as usize } , + 88usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( + mControlledDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . mHash as + * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . mIsChrome + as * const _ as usize } , 100usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mIsChrome ) + )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -4864,9 +6828,12 @@ pub mod root { #[test] fn bindgen_test_layout_IProgressObserver() { assert_eq!(::std::mem::size_of::<IProgressObserver>() , - 16usize); - assert_eq!(::std::mem::align_of::<IProgressObserver>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( IProgressObserver ) )); + assert_eq! (::std::mem::align_of::<IProgressObserver>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( IProgressObserver + ) )); } } pub type CounterValue = i32; @@ -4887,8 +6854,17 @@ pub mod root { } #[test] fn bindgen_test_layout_CounterStyle() { - assert_eq!(::std::mem::size_of::<CounterStyle>() , 16usize); - assert_eq!(::std::mem::align_of::<CounterStyle>() , 8usize); + assert_eq!(::std::mem::size_of::<CounterStyle>() , 16usize , + concat ! ( "Size of: " , stringify ! ( CounterStyle ) + )); + assert_eq! (::std::mem::align_of::<CounterStyle>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CounterStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyle ) ) . mStyle as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( CounterStyle ) + , "::" , stringify ! ( mStyle ) )); } impl Clone for CounterStyle { fn clone(&self) -> Self { *self } @@ -4902,8 +6878,20 @@ pub mod root { pub type Position_Coord = root::nsStyleCoord_CalcValue; #[test] fn bindgen_test_layout_Position() { - assert_eq!(::std::mem::size_of::<Position>() , 24usize); - assert_eq!(::std::mem::align_of::<Position>() , 4usize); + assert_eq!(::std::mem::size_of::<Position>() , 24usize , concat ! + ( "Size of: " , stringify ! ( Position ) )); + assert_eq! (::std::mem::align_of::<Position>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( Position ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Position ) ) . mXPosition as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Position ) , + "::" , stringify ! ( mXPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Position ) ) . mYPosition as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( Position ) , + "::" , stringify ! ( mYPosition ) )); } impl Clone for Position { fn clone(&self) -> Self { *self } @@ -4919,8 +6907,39 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleTransition() { - assert_eq!(::std::mem::size_of::<StyleTransition>() , 40usize); - assert_eq!(::std::mem::align_of::<StyleTransition>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleTransition>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( StyleTransition ) )); + assert_eq! (::std::mem::align_of::<StyleTransition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleTransition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . + mTimingFunction as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . mDuration + as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mDuration ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . mDelay as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mDelay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . mProperty + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . + mUnknownProperty as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mUnknownProperty ) )); } #[repr(C)] #[derive(Debug)] @@ -4936,8 +6955,54 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleAnimation() { - assert_eq!(::std::mem::size_of::<StyleAnimation>() , 56usize); - assert_eq!(::std::mem::align_of::<StyleAnimation>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleAnimation>() , 56usize , + concat ! ( "Size of: " , stringify ! ( StyleAnimation ) + )); + assert_eq! (::std::mem::align_of::<StyleAnimation>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleAnimation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . + mTimingFunction as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mDuration as + * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mDuration ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mDelay as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mDelay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mName as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mDirection + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mFillMode as + * const _ as usize } , 49usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mFillMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mPlayState + as * const _ as usize } , 50usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mPlayState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . + mIterationCount as * const _ as usize } , 52usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mIterationCount ) )); } #[repr(C)] #[derive(Debug)] @@ -4953,8 +7018,43 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_StyleBasicShape() { - assert_eq!(::std::mem::size_of::<StyleBasicShape>() , 120usize); - assert_eq!(::std::mem::align_of::<StyleBasicShape>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleBasicShape>() , 120usize , + concat ! ( + "Size of: " , stringify ! ( StyleBasicShape ) )); + assert_eq! (::std::mem::align_of::<StyleBasicShape>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleBasicShape ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mFillRule + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mFillRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . + mCoordinates as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mCoordinates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mPosition + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mRadius as + * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mRadius ) )); } #[repr(C)] #[derive(Debug)] @@ -4987,8 +7087,32 @@ pub mod root { } #[test] fn bindgen_test_layout_PropertyValuePair() { - assert_eq!(::std::mem::size_of::<PropertyValuePair>() , 32usize); - assert_eq!(::std::mem::align_of::<PropertyValuePair>() , 8usize); + assert_eq!(::std::mem::size_of::<PropertyValuePair>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( PropertyValuePair ) )); + assert_eq! (::std::mem::align_of::<PropertyValuePair>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PropertyValuePair ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyValuePair ) ) . mProperty + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PropertyValuePair ) , "::" , stringify ! ( mProperty ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyValuePair ) ) . mValue as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PropertyValuePair ) , "::" , stringify ! ( mValue ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyValuePair ) ) . + mServoDeclarationBlock as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + PropertyValuePair ) , "::" , stringify ! ( + mServoDeclarationBlock ) )); } /** * A single keyframe. @@ -5018,8 +7142,35 @@ pub mod root { pub const Keyframe_kComputedOffsetNotSet: f64 = -1.; #[test] fn bindgen_test_layout_Keyframe() { - assert_eq!(::std::mem::size_of::<Keyframe>() , 192usize); - assert_eq!(::std::mem::align_of::<Keyframe>() , 8usize); + assert_eq!(::std::mem::size_of::<Keyframe>() , 192usize , concat ! + ( "Size of: " , stringify ! ( Keyframe ) )); + assert_eq! (::std::mem::align_of::<Keyframe>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( Keyframe ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mOffset as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mComputedOffset as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mComputedOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mTimingFunction as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mComposite as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mComposite ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mPropertyValues as + * const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mPropertyValues ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -5058,8 +7209,24 @@ pub mod root { } #[test] fn bindgen_test_layout_ServoAttrSnapshot() { - assert_eq!(::std::mem::size_of::<ServoAttrSnapshot>() , 16usize); - assert_eq!(::std::mem::align_of::<ServoAttrSnapshot>() , 8usize); + assert_eq!(::std::mem::size_of::<ServoAttrSnapshot>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( ServoAttrSnapshot ) )); + assert_eq! (::std::mem::align_of::<ServoAttrSnapshot>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoAttrSnapshot ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoAttrSnapshot ) ) . mName as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoAttrSnapshot ) , "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoAttrSnapshot ) ) . mValue as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoAttrSnapshot ) , "::" , stringify ! ( mValue ) + )); } #[repr(u8)] /** @@ -5097,10 +7264,46 @@ pub mod root { as ServoElementSnapshot_Flags; #[test] fn bindgen_test_layout_ServoElementSnapshot() { - assert_eq!(::std::mem::size_of::<ServoElementSnapshot>() , - 24usize); - assert_eq!(::std::mem::align_of::<ServoElementSnapshot>() , - 8usize); + assert_eq!(::std::mem::size_of::<ServoElementSnapshot>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( ServoElementSnapshot ) )); + assert_eq! (::std::mem::align_of::<ServoElementSnapshot>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( ServoElementSnapshot ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . + mContains as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( + mContains ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . mAttrs + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( mAttrs ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . mState + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( mState ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . + mIsHTMLElementInHTMLDocument as * const _ as usize } , + 18usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( + mIsHTMLElementInHTMLDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . + mIsInChromeDocument as * const _ as usize } , 19usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( + mIsInChromeDocument ) )); } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -5135,29 +7338,60 @@ pub mod root { #[test] fn bindgen_test_layout_DisplayItemClip_RoundedRect() { assert_eq!(::std::mem::size_of::<DisplayItemClip_RoundedRect>() , - 48usize); - assert_eq!(::std::mem::align_of::<DisplayItemClip_RoundedRect>() , - 4usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( DisplayItemClip_RoundedRect + ) )); + assert_eq! (::std::mem::align_of::<DisplayItemClip_RoundedRect>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + DisplayItemClip_RoundedRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip_RoundedRect ) ) . + mRect as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + DisplayItemClip_RoundedRect ) , "::" , stringify ! ( + mRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip_RoundedRect ) ) . + mRadii as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + DisplayItemClip_RoundedRect ) , "::" , stringify ! ( + mRadii ) )); } impl Clone for DisplayItemClip_RoundedRect { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_DisplayItemClip() { - assert_eq!(::std::mem::size_of::<DisplayItemClip>() , 32usize); - assert_eq!(::std::mem::align_of::<DisplayItemClip>() , 8usize); + assert_eq!(::std::mem::size_of::<DisplayItemClip>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( DisplayItemClip ) )); + assert_eq! (::std::mem::align_of::<DisplayItemClip>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DisplayItemClip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip ) ) . mClipRect + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( DisplayItemClip + ) , "::" , stringify ! ( mClipRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip ) ) . + mRoundedClipRects as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( DisplayItemClip + ) , "::" , stringify ! ( mRoundedClipRects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip ) ) . + mHaveClipRect as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( DisplayItemClip + ) , "::" , stringify ! ( mHaveClipRect ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ContainerLayerParameters([u8; 0]); #[repr(C)] #[derive(Debug)] - pub struct AnimationValue { - pub mGecko: root::mozilla::StyleAnimationValue, - pub mServo: root::RefPtr<root::RawServoAnimationValue>, - } - #[repr(C)] - #[derive(Debug)] pub struct PropertyStyleAnimationValuePair { pub mProperty: root::nsCSSPropertyID, pub mValue: root::mozilla::AnimationValue, @@ -5165,16 +7399,40 @@ pub mod root { #[test] fn bindgen_test_layout_PropertyStyleAnimationValuePair() { assert_eq!(::std::mem::size_of::<PropertyStyleAnimationValuePair>() - , 32usize); - assert_eq!(::std::mem::align_of::<PropertyStyleAnimationValuePair>() - , 8usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + PropertyStyleAnimationValuePair ) )); + assert_eq! (::std::mem::align_of::<PropertyStyleAnimationValuePair>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + PropertyStyleAnimationValuePair ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyStyleAnimationValuePair ) + ) . mProperty as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + PropertyStyleAnimationValuePair ) , "::" , stringify ! + ( mProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyStyleAnimationValuePair ) + ) . mValue as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + PropertyStyleAnimationValuePair ) , "::" , stringify ! + ( mValue ) )); } #[test] fn __bindgen_test_layout_template_1() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::RawServoStyleSet>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::RawServoStyleSet> ) + )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::RawServoStyleSet>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! + ( root::mozilla::DefaultDelete<root::RawServoStyleSet> + ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -5243,9 +7501,114 @@ pub mod root { #[test] fn bindgen_test_layout_StyleAnimationValue__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<StyleAnimationValue__bindgen_ty_1>() - , 8usize); - assert_eq!(::std::mem::align_of::<StyleAnimationValue__bindgen_ty_1>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<StyleAnimationValue__bindgen_ty_1>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mInt as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mInt ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCoord as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCoord ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mFloat as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mFloat ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValue as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValue ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValuePair as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValuePair ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueTriplet as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueTriplet ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSRect as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSRect ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueArray as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueArray ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueList as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueSharedList as * const _ as usize } , 0usize + , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueSharedList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValuePairList as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValuePairList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mString as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mString ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mComplexColor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mComplexColor ) )); } impl Clone for StyleAnimationValue__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -5277,10 +7640,13 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleAnimationValue() { - assert_eq!(::std::mem::size_of::<StyleAnimationValue>() , - 16usize); - assert_eq!(::std::mem::align_of::<StyleAnimationValue>() , - 8usize); + assert_eq!(::std::mem::size_of::<StyleAnimationValue>() , 16usize + , concat ! ( + "Size of: " , stringify ! ( StyleAnimationValue ) )); + assert_eq! (::std::mem::align_of::<StyleAnimationValue>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( StyleAnimationValue ) + )); } impl Clone for StyleAnimationValue { fn clone(&self) -> Self { *self } @@ -5379,84 +7745,30 @@ pub mod root { NotPseudo = 81, MAX = 82, } - #[test] - fn __bindgen_test_layout_template_2() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_3() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_4() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_5() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_6() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_7() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_8() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_9() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_10() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_11() { - assert_eq!(::std::mem::size_of::<u32>() , 4usize); - assert_eq!(::std::mem::align_of::<u32>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_12() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_13() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_14() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_15() { - assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() - , 16usize); - assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() - , 8usize); + #[repr(C)] + #[derive(Debug)] + pub struct AnimationValue { + pub mGecko: root::mozilla::StyleAnimationValue, + pub mServo: root::RefPtr<root::RawServoAnimationValue>, } #[test] - fn __bindgen_test_layout_template_16() { - assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() - , 16usize); - assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() - , 8usize); + fn bindgen_test_layout_AnimationValue() { + assert_eq!(::std::mem::size_of::<AnimationValue>() , 24usize , + concat ! ( "Size of: " , stringify ! ( AnimationValue ) + )); + assert_eq! (::std::mem::align_of::<AnimationValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( AnimationValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const AnimationValue ) ) . mGecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( AnimationValue + ) , "::" , stringify ! ( mGecko ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const AnimationValue ) ) . mServo as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( AnimationValue + ) , "::" , stringify ! ( mServo ) )); } /** * <div rustbindgen="true" replaces="mozilla::UniquePtr"> @@ -5534,8 +7846,155 @@ pub mod root { } #[test] fn bindgen_test_layout__IO_FILE() { - assert_eq!(::std::mem::size_of::<_IO_FILE>() , 216usize); - assert_eq!(::std::mem::align_of::<_IO_FILE>() , 8usize); + assert_eq!(::std::mem::size_of::<_IO_FILE>() , 216usize , concat ! ( + "Size of: " , stringify ! ( _IO_FILE ) )); + assert_eq! (::std::mem::align_of::<_IO_FILE>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( _IO_FILE ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _flags as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _flags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_ptr as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_read_ptr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_end as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_read_end ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_base as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_read_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_base as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_write_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_ptr as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_write_ptr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_end as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_write_end ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_base as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_buf_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_end as * const + _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_buf_end ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_base as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_save_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_backup_base as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_backup_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_end as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_save_end ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _markers as * const _ + as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _markers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _chain as * const _ as + usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _chain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _fileno as * const _ + as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _fileno ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _flags2 as * const _ + as usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _flags2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _old_offset as * const + _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _old_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _cur_column as * const + _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _cur_column ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _vtable_offset as * + const _ as usize } , 130usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _vtable_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _shortbuf as * const _ + as usize } , 131usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _shortbuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _lock as * const _ as + usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _lock ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _offset as * const _ + as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad1 as * const _ as + usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad2 as * const _ as + usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad3 as * const _ as + usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad3 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad4 as * const _ as + usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad4 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad5 as * const _ as + usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad5 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _mode as * const _ as + usize } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _mode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _unused2 as * const _ + as usize } , 196usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _unused2 ) )); } impl Clone for _IO_FILE { fn clone(&self) -> Self { *self } @@ -5552,8 +8011,25 @@ pub mod root { } #[test] fn bindgen_test_layout__IO_marker() { - assert_eq!(::std::mem::size_of::<_IO_marker>() , 24usize); - assert_eq!(::std::mem::align_of::<_IO_marker>() , 8usize); + assert_eq!(::std::mem::size_of::<_IO_marker>() , 24usize , concat ! ( + "Size of: " , stringify ! ( _IO_marker ) )); + assert_eq! (::std::mem::align_of::<_IO_marker>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( _IO_marker ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_marker ) ) . _next as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_marker ) , "::" + , stringify ! ( _next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_marker ) ) . _sbuf as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_marker ) , "::" + , stringify ! ( _sbuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_marker ) ) . _pos as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_marker ) , "::" + , stringify ! ( _pos ) )); } impl Clone for _IO_marker { fn clone(&self) -> Self { *self } @@ -6062,6 +8538,7 @@ pub mod root { NS_ERROR_DOM_MEDIA_DEMUXER_ERR = 2154692620, NS_ERROR_DOM_MEDIA_CDM_ERR = 2154692621, NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER = 2154692622, + NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER = 2154692623, NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR = 2154692709, NS_ERROR_UC_UPDATE_UNKNOWN = 2154758145, NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX = 2154758146, @@ -6107,8 +8584,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCOMPtr_helper() { - assert_eq!(::std::mem::size_of::<nsCOMPtr_helper>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCOMPtr_helper>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCOMPtr_helper>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsCOMPtr_helper ) )); + assert_eq! (::std::mem::align_of::<nsCOMPtr_helper>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCOMPtr_helper ) )); } impl Clone for nsCOMPtr_helper { fn clone(&self) -> Self { *self } @@ -6158,9 +8638,19 @@ pub mod root { #[test] fn bindgen_test_layout_nsCycleCollectionTraversalCallback() { assert_eq!(::std::mem::size_of::<nsCycleCollectionTraversalCallback>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsCycleCollectionTraversalCallback>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsCycleCollectionTraversalCallback ) )); + assert_eq! (::std::mem::align_of::<nsCycleCollectionTraversalCallback>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCycleCollectionTraversalCallback ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectionTraversalCallback ) + ) . mFlags as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectionTraversalCallback ) , "::" , stringify ! + ( mFlags ) )); } impl Clone for nsCycleCollectionTraversalCallback { fn clone(&self) -> Self { *self } @@ -6224,49 +8714,22 @@ pub mod root { #[derive(Debug, Copy)] pub struct Value_layout__bindgen_ty_1 { pub _bitfield_1: u64, + pub __bindgen_align: [u64; 0usize], } #[test] fn bindgen_test_layout_Value_layout__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<Value_layout__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<Value_layout__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( Value_layout__bindgen_ty_1 + ) )); + assert_eq! (::std::mem::align_of::<Value_layout__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + Value_layout__bindgen_ty_1 ) )); } impl Clone for Value_layout__bindgen_ty_1 { fn clone(&self) -> Self { *self } } - impl Value_layout__bindgen_ty_1 { - #[inline] - pub fn payload47(&self) -> u64 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (140737488355327usize as u64)) - >> 0u32) as u64) - } - } - #[inline] - pub fn set_payload47(&mut self, val: u64) { - self._bitfield_1 &= !(140737488355327usize as u64); - self._bitfield_1 |= - ((val as u64 as u64) << 0u32) & - (140737488355327usize as u64); - } - #[inline] - pub fn tag(&self) -> root::JSValueTag { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (18446603336221196288usize as - u64)) >> 47u32) as u32) - } - } - #[inline] - pub fn set_tag(&mut self, val: root::JSValueTag) { - self._bitfield_1 &= !(18446603336221196288usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 47u32) & - (18446603336221196288usize as u64); - } - } #[repr(C)] #[derive(Debug, Copy)] pub struct Value_layout__bindgen_ty_2 { @@ -6283,9 +8746,40 @@ pub mod root { #[test] fn bindgen_test_layout_Value_layout__bindgen_ty_2__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>() - , 4usize); - assert_eq!(::std::mem::align_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>() - , 4usize); + , 4usize , concat ! ( + "Size of: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const Value_layout__bindgen_ty_2__bindgen_ty_1 + ) ) . i32 as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) , "::" , + stringify ! ( i32 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const Value_layout__bindgen_ty_2__bindgen_ty_1 + ) ) . u32 as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) , "::" , + stringify ! ( u32 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const Value_layout__bindgen_ty_2__bindgen_ty_1 + ) ) . why as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) , "::" , + stringify ! ( why ) )); } impl Clone for Value_layout__bindgen_ty_2__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -6293,21 +8787,81 @@ pub mod root { #[test] fn bindgen_test_layout_Value_layout__bindgen_ty_2() { assert_eq!(::std::mem::size_of::<Value_layout__bindgen_ty_2>() , - 4usize); - assert_eq!(::std::mem::align_of::<Value_layout__bindgen_ty_2>() , - 4usize); + 4usize , concat ! ( + "Size of: " , stringify ! ( Value_layout__bindgen_ty_2 + ) )); + assert_eq! (::std::mem::align_of::<Value_layout__bindgen_ty_2>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + Value_layout__bindgen_ty_2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout__bindgen_ty_2 ) ) . + payload as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2 ) , "::" , stringify ! ( + payload ) )); } impl Clone for Value_layout__bindgen_ty_2 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_Value_layout() { - assert_eq!(::std::mem::size_of::<Value_layout>() , 8usize); - assert_eq!(::std::mem::align_of::<Value_layout>() , 8usize); + assert_eq!(::std::mem::size_of::<Value_layout>() , 8usize , concat + ! ( "Size of: " , stringify ! ( Value_layout ) )); + assert_eq! (::std::mem::align_of::<Value_layout>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( Value_layout ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asBits as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asBits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . debugView as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( debugView ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . s as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( s ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asDouble as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asDouble ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asPtr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asWord as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asWord ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asUIntPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asUIntPtr ) )); } impl Clone for Value_layout { fn clone(&self) -> Self { *self } } + #[test] + fn bindgen_test_layout_Value() { + assert_eq!(::std::mem::size_of::<Value>() , 8usize , concat ! ( + "Size of: " , stringify ! ( Value ) )); + assert_eq! (::std::mem::align_of::<Value>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( Value ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value ) ) . data as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value ) , "::" + , stringify ! ( data ) )); + } impl Clone for Value { fn clone(&self) -> Self { *self } } @@ -6365,8 +8919,10 @@ pub mod root { } #[test] fn bindgen_test_layout_FreePolicy() { - assert_eq!(::std::mem::size_of::<FreePolicy>() , 1usize); - assert_eq!(::std::mem::align_of::<FreePolicy>() , 1usize); + assert_eq!(::std::mem::size_of::<FreePolicy>() , 1usize , concat ! + ( "Size of: " , stringify ! ( FreePolicy ) )); + assert_eq! (::std::mem::align_of::<FreePolicy>() , 1usize , concat + ! ( "Alignment of " , stringify ! ( FreePolicy ) )); } impl Clone for FreePolicy { fn clone(&self) -> Self { *self } @@ -6385,8 +8941,15 @@ pub mod root { } #[test] fn bindgen_test_layout_GCCellPtr() { - assert_eq!(::std::mem::size_of::<GCCellPtr>() , 8usize); - assert_eq!(::std::mem::align_of::<GCCellPtr>() , 8usize); + assert_eq!(::std::mem::size_of::<GCCellPtr>() , 8usize , concat ! + ( "Size of: " , stringify ! ( GCCellPtr ) )); + assert_eq! (::std::mem::align_of::<GCCellPtr>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GCCellPtr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GCCellPtr ) ) . ptr as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GCCellPtr ) , + "::" , stringify ! ( ptr ) )); } impl Clone for GCCellPtr { fn clone(&self) -> Self { *self } @@ -6411,9 +8974,29 @@ pub mod root { #[test] fn bindgen_test_layout_GarbageCollectionEvent_Collection() { assert_eq!(::std::mem::size_of::<GarbageCollectionEvent_Collection>() - , 16usize); - assert_eq!(::std::mem::align_of::<GarbageCollectionEvent_Collection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + GarbageCollectionEvent_Collection ) )); + assert_eq! (::std::mem::align_of::<GarbageCollectionEvent_Collection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + GarbageCollectionEvent_Collection ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const GarbageCollectionEvent_Collection + ) ) . startTimestamp as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent_Collection ) , "::" , + stringify ! ( startTimestamp ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const GarbageCollectionEvent_Collection + ) ) . endTimestamp as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent_Collection ) , "::" , + stringify ! ( endTimestamp ) )); } impl Clone for GarbageCollectionEvent_Collection { fn clone(&self) -> Self { *self } @@ -6424,9 +9007,41 @@ pub mod root { #[test] fn bindgen_test_layout_GarbageCollectionEvent() { assert_eq!(::std::mem::size_of::<GarbageCollectionEvent>() , - 72usize); - assert_eq!(::std::mem::align_of::<GarbageCollectionEvent>() , - 8usize); + 72usize , concat ! ( + "Size of: " , stringify ! ( GarbageCollectionEvent + ) )); + assert_eq! (::std::mem::align_of::<GarbageCollectionEvent>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + GarbageCollectionEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + majorGCNumber_ as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + majorGCNumber_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + reason as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + reason ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + nonincrementalReason as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + nonincrementalReason ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + collections as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + collections ) )); } } /** @@ -6497,48 +9112,6 @@ pub mod root { #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum TenuredHeap__bindgen_ty_1 { maskBits = 0, } - #[test] - fn __bindgen_test_layout_template_17() { - assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_18() { - assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_19() { - assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_20() { - assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_21() { - assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize); - assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_22() { - assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], - root::JS::FreePolicy>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], - root::JS::FreePolicy>>() - , 8usize); - } } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -6559,8 +9132,15 @@ pub mod root { } #[test] fn bindgen_test_layout_jsid() { - assert_eq!(::std::mem::size_of::<jsid>() , 8usize); - assert_eq!(::std::mem::align_of::<jsid>() , 8usize); + assert_eq!(::std::mem::size_of::<jsid>() , 8usize , concat ! ( + "Size of: " , stringify ! ( jsid ) )); + assert_eq! (::std::mem::align_of::<jsid>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( jsid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const jsid ) ) . asBits as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( jsid ) , "::" , + stringify ! ( asBits ) )); } impl Clone for jsid { fn clone(&self) -> Self { *self } @@ -6635,8 +9215,10 @@ pub mod root { } #[test] fn bindgen_test_layout_SourceHook() { - assert_eq!(::std::mem::size_of::<SourceHook>() , 8usize); - assert_eq!(::std::mem::align_of::<SourceHook>() , 8usize); + assert_eq!(::std::mem::size_of::<SourceHook>() , 8usize , concat ! + ( "Size of: " , stringify ! ( SourceHook ) )); + assert_eq! (::std::mem::align_of::<SourceHook>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( SourceHook ) )); } } #[repr(C)] @@ -6663,8 +9245,30 @@ pub mod root { } #[test] fn bindgen_test_layout_JSTracer() { - assert_eq!(::std::mem::size_of::<JSTracer>() , 24usize); - assert_eq!(::std::mem::align_of::<JSTracer>() , 8usize); + assert_eq!(::std::mem::size_of::<JSTracer>() , 24usize , concat ! ( + "Size of: " , stringify ! ( JSTracer ) )); + assert_eq! (::std::mem::align_of::<JSTracer>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( JSTracer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . runtime_ as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( runtime_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . weakMapAction_ as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( weakMapAction_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . checkEdges_ as * const + _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( checkEdges_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . tag_ as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( tag_ ) )); } impl Clone for JSTracer { fn clone(&self) -> Self { *self } @@ -6780,8 +9384,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAString_internal() { - assert_eq!(::std::mem::size_of::<nsAString_internal>() , 16usize); - assert_eq!(::std::mem::align_of::<nsAString_internal>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAString_internal>() , 16usize , + concat ! ( "Size of: " , stringify ! ( nsAString_internal ) + )); + assert_eq! (::std::mem::align_of::<nsAString_internal>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAString_internal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAString_internal ) ) . mData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAString_internal + ) , "::" , stringify ! ( mData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAString_internal ) ) . mLength as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAString_internal + ) , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAString_internal ) ) . mFlags as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAString_internal + ) , "::" , stringify ! ( mFlags ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -6798,8 +9421,27 @@ pub mod root { pub type nsSubstringTuple_size_type = u32; #[test] fn bindgen_test_layout_nsSubstringTuple() { - assert_eq!(::std::mem::size_of::<nsSubstringTuple>() , 24usize); - assert_eq!(::std::mem::align_of::<nsSubstringTuple>() , 8usize); + assert_eq!(::std::mem::size_of::<nsSubstringTuple>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsSubstringTuple ) + )); + assert_eq! (::std::mem::align_of::<nsSubstringTuple>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsSubstringTuple ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSubstringTuple ) ) . mHead as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSubstringTuple ) + , "::" , stringify ! ( mHead ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSubstringTuple ) ) . mFragA as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSubstringTuple ) + , "::" , stringify ! ( mFragA ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSubstringTuple ) ) . mFragB as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSubstringTuple ) + , "::" , stringify ! ( mFragB ) )); } impl Clone for nsSubstringTuple { fn clone(&self) -> Self { *self } @@ -6818,8 +9460,15 @@ pub mod root { pub enum nsAutoString__bindgen_ty_1 { kDefaultStorageSize = 64, } #[test] fn bindgen_test_layout_nsAutoString() { - assert_eq!(::std::mem::size_of::<nsAutoString>() , 160usize); - assert_eq!(::std::mem::align_of::<nsAutoString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAutoString>() , 160usize , concat ! + ( "Size of: " , stringify ! ( nsAutoString ) )); + assert_eq! (::std::mem::align_of::<nsAutoString>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsAutoString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAutoString ) ) . mStorage as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAutoString ) , + "::" , stringify ! ( mStorage ) )); } #[repr(C)] pub struct nsStringComparator__bindgen_vtable { @@ -6832,8 +9481,12 @@ pub mod root { pub type nsStringComparator_char_type = u16; #[test] fn bindgen_test_layout_nsStringComparator() { - assert_eq!(::std::mem::size_of::<nsStringComparator>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStringComparator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStringComparator>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsStringComparator ) + )); + assert_eq! (::std::mem::align_of::<nsStringComparator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStringComparator ) )); } impl Clone for nsStringComparator { fn clone(&self) -> Self { *self } @@ -6908,8 +9561,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsACString_internal() { - assert_eq!(::std::mem::size_of::<nsACString_internal>() , 16usize); - assert_eq!(::std::mem::align_of::<nsACString_internal>() , 8usize); + assert_eq!(::std::mem::size_of::<nsACString_internal>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsACString_internal ) )); + assert_eq! (::std::mem::align_of::<nsACString_internal>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsACString_internal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsACString_internal ) ) . mData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsACString_internal + ) , "::" , stringify ! ( mData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsACString_internal ) ) . mLength as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsACString_internal + ) , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsACString_internal ) ) . mFlags as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsACString_internal + ) , "::" , stringify ! ( mFlags ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -6927,8 +9599,27 @@ pub mod root { pub type nsCSubstringTuple_size_type = u32; #[test] fn bindgen_test_layout_nsCSubstringTuple() { - assert_eq!(::std::mem::size_of::<nsCSubstringTuple>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSubstringTuple>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSubstringTuple>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsCSubstringTuple ) + )); + assert_eq! (::std::mem::align_of::<nsCSubstringTuple>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSubstringTuple ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringTuple ) ) . mHead as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSubstringTuple ) + , "::" , stringify ! ( mHead ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringTuple ) ) . mFragA as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSubstringTuple ) + , "::" , stringify ! ( mFragA ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringTuple ) ) . mFragB as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSubstringTuple ) + , "::" , stringify ! ( mFragB ) )); } impl Clone for nsCSubstringTuple { fn clone(&self) -> Self { *self } @@ -6947,16 +9638,32 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCString_Segment() { - assert_eq!(::std::mem::size_of::<nsCString_Segment>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCString_Segment>() , 4usize); + assert_eq!(::std::mem::size_of::<nsCString_Segment>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsCString_Segment ) + )); + assert_eq! (::std::mem::align_of::<nsCString_Segment>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsCString_Segment ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCString_Segment ) ) . mBegin as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCString_Segment ) + , "::" , stringify ! ( mBegin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCString_Segment ) ) . mLength as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCString_Segment ) + , "::" , stringify ! ( mLength ) )); } impl Clone for nsCString_Segment { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCString() { - assert_eq!(::std::mem::size_of::<nsCString>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCString>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsCString ) )); + assert_eq! (::std::mem::align_of::<nsCString>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCString ) )); } #[repr(C)] pub struct nsCStringComparator__bindgen_vtable { @@ -6969,8 +9676,12 @@ pub mod root { pub type nsCStringComparator_char_type = ::std::os::raw::c_char; #[test] fn bindgen_test_layout_nsCStringComparator() { - assert_eq!(::std::mem::size_of::<nsCStringComparator>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCStringComparator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCStringComparator>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsCStringComparator ) )); + assert_eq! (::std::mem::align_of::<nsCStringComparator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCStringComparator ) )); } impl Clone for nsCStringComparator { fn clone(&self) -> Self { *self } @@ -7003,8 +9714,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISupports() { - assert_eq!(::std::mem::size_of::<nsISupports>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISupports>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISupports>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsISupports ) )); + assert_eq! (::std::mem::align_of::<nsISupports>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsISupports ) )); } impl Clone for nsISupports { fn clone(&self) -> Self { *self } @@ -7025,9 +9738,26 @@ pub mod root { #[test] fn bindgen_test_layout_nsCycleCollectionParticipant() { assert_eq!(::std::mem::size_of::<nsCycleCollectionParticipant>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsCycleCollectionParticipant>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsCycleCollectionParticipant ) + )); + assert_eq! (::std::mem::align_of::<nsCycleCollectionParticipant>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCycleCollectionParticipant ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectionParticipant ) ) . + mMightSkip as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectionParticipant ) , "::" , stringify ! ( + mMightSkip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectionParticipant ) ) . + mTraverseShouldTrace as * const _ as usize } , 9usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectionParticipant ) , "::" , stringify ! ( + mTraverseShouldTrace ) )); } impl Clone for nsCycleCollectionParticipant { fn clone(&self) -> Self { *self } @@ -7040,9 +9770,20 @@ pub mod root { #[test] fn bindgen_test_layout_nsCycleCollectingAutoRefCnt() { assert_eq!(::std::mem::size_of::<nsCycleCollectingAutoRefCnt>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsCycleCollectingAutoRefCnt>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsCycleCollectingAutoRefCnt ) + )); + assert_eq! (::std::mem::align_of::<nsCycleCollectingAutoRefCnt>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCycleCollectingAutoRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectingAutoRefCnt ) ) . + mRefCntAndFlags as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectingAutoRefCnt ) , "::" , stringify ! ( + mRefCntAndFlags ) )); } impl Clone for nsCycleCollectingAutoRefCnt { fn clone(&self) -> Self { *self } @@ -7058,12 +9799,9 @@ pub mod root { ** A type for representing the size of objects. ************************************************************************/ pub type PRSize = usize; - pub const PR_FAILURE: root::_bindgen_ty_126 = _bindgen_ty_126::PR_FAILURE; - pub const PR_SUCCESS: root::_bindgen_ty_126 = _bindgen_ty_126::PR_SUCCESS; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_126 { PR_FAILURE = -1, PR_SUCCESS = 0, } - pub use self::super::root::_bindgen_ty_126 as PRStatus; + pub enum PRStatus { PR_FAILURE = -1, PR_SUCCESS = 0, } pub type PRUword = ::std::os::raw::c_ulong; pub type PRTime = root::PRInt64; #[repr(C)] @@ -7073,17 +9811,26 @@ pub mod root { pub _phantom_0: ::std::marker::PhantomData<CharT>, } #[test] - fn __bindgen_test_layout_template_23() { - assert_eq!(::std::mem::size_of::<root::nsCharTraits<u16>>() , 1usize); - assert_eq!(::std::mem::align_of::<root::nsCharTraits<u16>>() , - 1usize); + fn __bindgen_test_layout_template_2() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits<u16>>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits<u16>>() , 1usize + , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits<u16> ) )); } #[test] - fn __bindgen_test_layout_template_24() { + fn __bindgen_test_layout_template_3() { assert_eq!(::std::mem::size_of::<root::nsCharTraits<::std::os::raw::c_char>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits<::std::os::raw::c_char> ) )); assert_eq!(::std::mem::align_of::<root::nsCharTraits<::std::os::raw::c_char>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits<::std::os::raw::c_char> ) )); } /** * @see nsTAString @@ -7137,9 +9884,31 @@ pub mod root { #[test] fn bindgen_test_layout_nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter() { assert_eq!(::std::mem::size_of::<nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) )); + assert_eq! (::std::mem::align_of::<nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) ) . + mObj as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) , "::" + , stringify ! ( mObj ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) ) . + mPos as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) , "::" + , stringify ! ( mPos ) )); } impl Clone for nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter { fn clone(&self) -> Self { *self } @@ -7147,9 +9916,37 @@ pub mod root { #[test] fn bindgen_test_layout_nsTSubstringSplitter_CharT() { assert_eq!(::std::mem::size_of::<nsTSubstringSplitter_CharT>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsTSubstringSplitter_CharT>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( nsTSubstringSplitter_CharT ) + )); + assert_eq! (::std::mem::align_of::<nsTSubstringSplitter_CharT>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsTSubstringSplitter_CharT + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . mStr + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( mStr ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . + mArray as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( mArray + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . + mArraySize as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( + mArraySize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . + mDelim as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( mDelim + ) )); } #[repr(C)] #[derive(Debug)] @@ -7169,17 +9966,62 @@ pub mod root { #[test] fn bindgen_test_layout_nsCSubstringSplitter_nsTSubstringSplit_Iter() { assert_eq!(::std::mem::size_of::<nsCSubstringSplitter_nsTSubstringSplit_Iter>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsCSubstringSplitter_nsTSubstringSplit_Iter>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) )); + assert_eq! (::std::mem::align_of::<nsCSubstringSplitter_nsTSubstringSplit_Iter>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCSubstringSplitter_nsTSubstringSplit_Iter ) + ) . mObj as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) , "::" , + stringify ! ( mObj ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCSubstringSplitter_nsTSubstringSplit_Iter ) + ) . mPos as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) , "::" , + stringify ! ( mPos ) )); } impl Clone for nsCSubstringSplitter_nsTSubstringSplit_Iter { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCSubstringSplitter() { - assert_eq!(::std::mem::size_of::<nsCSubstringSplitter>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSubstringSplitter>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSubstringSplitter>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsCSubstringSplitter ) )); + assert_eq! (::std::mem::align_of::<nsCSubstringSplitter>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSubstringSplitter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mStr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mStr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mArray as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mArray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mArraySize + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mArraySize ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mDelim as + * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mDelim ) )); } #[repr(C)] #[derive(Debug)] @@ -7192,8 +10034,20 @@ pub mod root { pub type nsFixedString_fixed_string_type = root::nsFixedString; #[test] fn bindgen_test_layout_nsFixedString() { - assert_eq!(::std::mem::size_of::<nsFixedString>() , 32usize); - assert_eq!(::std::mem::align_of::<nsFixedString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsFixedString>() , 32usize , concat ! + ( "Size of: " , stringify ! ( nsFixedString ) )); + assert_eq! (::std::mem::align_of::<nsFixedString>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsFixedString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFixedString ) ) . mFixedCapacity as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFixedString ) , + "::" , stringify ! ( mFixedCapacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFixedString ) ) . mFixedBuf as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFixedString ) , + "::" , stringify ! ( mFixedBuf ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -7205,8 +10059,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLHashEntry() { - assert_eq!(::std::mem::size_of::<PLHashEntry>() , 32usize); - assert_eq!(::std::mem::align_of::<PLHashEntry>() , 8usize); + assert_eq!(::std::mem::size_of::<PLHashEntry>() , 32usize , concat ! ( + "Size of: " , stringify ! ( PLHashEntry ) )); + assert_eq! (::std::mem::align_of::<PLHashEntry>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLHashEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . next as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . keyHash as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( keyHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . key as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( key ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . value as * const _ + as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( value ) )); } impl Clone for PLHashEntry { fn clone(&self) -> Self { *self } @@ -7225,8 +10101,50 @@ pub mod root { } #[test] fn bindgen_test_layout_PLHashTable() { - assert_eq!(::std::mem::size_of::<PLHashTable>() , 56usize); - assert_eq!(::std::mem::align_of::<PLHashTable>() , 8usize); + assert_eq!(::std::mem::size_of::<PLHashTable>() , 56usize , concat ! ( + "Size of: " , stringify ! ( PLHashTable ) )); + assert_eq! (::std::mem::align_of::<PLHashTable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLHashTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . buckets as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( buckets ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . nentries as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( nentries ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . shift as * const _ + as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( shift ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . keyHash as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( keyHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . keyCompare as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( keyCompare ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . valueCompare as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( valueCompare ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . allocOps as * const + _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( allocOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . allocPriv as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( allocPriv ) )); } impl Clone for PLHashTable { fn clone(&self) -> Self { *self } @@ -7269,8 +10187,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLHashAllocOps() { - assert_eq!(::std::mem::size_of::<PLHashAllocOps>() , 32usize); - assert_eq!(::std::mem::align_of::<PLHashAllocOps>() , 8usize); + assert_eq!(::std::mem::size_of::<PLHashAllocOps>() , 32usize , concat + ! ( "Size of: " , stringify ! ( PLHashAllocOps ) )); + assert_eq! (::std::mem::align_of::<PLHashAllocOps>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( PLHashAllocOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . allocTable as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( allocTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . freeTable as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( freeTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . allocEntry as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( allocEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . freeEntry as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( freeEntry ) )); } impl Clone for PLHashAllocOps { fn clone(&self) -> Self { *self } @@ -7288,8 +10228,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsID() { - assert_eq!(::std::mem::size_of::<nsID>() , 16usize); - assert_eq!(::std::mem::align_of::<nsID>() , 4usize); + assert_eq!(::std::mem::size_of::<nsID>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsID ) )); + assert_eq! (::std::mem::align_of::<nsID>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m0 as * const _ as usize } + , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m0 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m1 as * const _ as usize } + , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m2 as * const _ as usize } + , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m3 as * const _ as usize } + , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m3 ) )); } impl Clone for nsID { fn clone(&self) -> Self { *self } @@ -7307,8 +10269,17 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAutoOwningThread() { - assert_eq!(::std::mem::size_of::<nsAutoOwningThread>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAutoOwningThread>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAutoOwningThread>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsAutoOwningThread ) + )); + assert_eq! (::std::mem::align_of::<nsAutoOwningThread>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAutoOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAutoOwningThread ) ) . mThread as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAutoOwningThread + ) , "::" , stringify ! ( mThread ) )); } impl Clone for nsAutoOwningThread { fn clone(&self) -> Self { *self } @@ -7321,8 +10292,15 @@ pub mod root { pub const nsAutoRefCnt_isThreadSafe: bool = false; #[test] fn bindgen_test_layout_nsAutoRefCnt() { - assert_eq!(::std::mem::size_of::<nsAutoRefCnt>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAutoRefCnt>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAutoRefCnt>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsAutoRefCnt ) )); + assert_eq! (::std::mem::align_of::<nsAutoRefCnt>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsAutoRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAutoRefCnt ) ) . mValue as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAutoRefCnt ) , + "::" , stringify ! ( mValue ) )); } impl Clone for nsAutoRefCnt { fn clone(&self) -> Self { *self } @@ -7367,16 +10345,51 @@ pub mod root { } #[test] fn bindgen_test_layout_nsRegion_RectIterator() { - assert_eq!(::std::mem::size_of::<nsRegion_RectIterator>() , 32usize); - assert_eq!(::std::mem::align_of::<nsRegion_RectIterator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsRegion_RectIterator>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsRegion_RectIterator ) )); + assert_eq! (::std::mem::align_of::<nsRegion_RectIterator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsRegion_RectIterator ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mCurrent + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mCurrent ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mLimit as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mLimit ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mTmp as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mTmp ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mBoxes as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mBoxes ) + )); } impl Clone for nsRegion_RectIterator { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsRegion() { - assert_eq!(::std::mem::size_of::<nsRegion>() , 24usize); - assert_eq!(::std::mem::align_of::<nsRegion>() , 8usize); + assert_eq!(::std::mem::size_of::<nsRegion>() , 24usize , concat ! ( + "Size of: " , stringify ! ( nsRegion ) )); + assert_eq! (::std::mem::align_of::<nsRegion>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsRegion ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion ) ) . mImpl as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRegion ) , "::" , + stringify ! ( mImpl ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -7390,42 +10403,19 @@ pub mod root { } #[test] fn bindgen_test_layout_nsTArrayHeader() { - assert_eq!(::std::mem::size_of::<nsTArrayHeader>() , 8usize); - assert_eq!(::std::mem::align_of::<nsTArrayHeader>() , 4usize); + assert_eq!(::std::mem::size_of::<nsTArrayHeader>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsTArrayHeader ) )); + assert_eq! (::std::mem::align_of::<nsTArrayHeader>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( nsTArrayHeader ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTArrayHeader ) ) . mLength as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsTArrayHeader ) , + "::" , stringify ! ( mLength ) )); } impl Clone for nsTArrayHeader { fn clone(&self) -> Self { *self } } - impl nsTArrayHeader { - #[inline] - pub fn mCapacity(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483647usize as u32)) >> 0u32) - as u32) - } - } - #[inline] - pub fn set_mCapacity(&mut self, val: u32) { - self._bitfield_1 &= !(2147483647usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 0u32) & (2147483647usize as u32); - } - #[inline] - pub fn mIsAutoArray(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u32)) >> - 31u32) as u32) - } - } - #[inline] - pub fn set_mIsAutoArray(&mut self, val: u32) { - self._bitfield_1 &= !(2147483648usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 31u32) & (2147483648usize as u32); - } - } #[repr(C)] #[derive(Debug)] pub struct nsCOMPtr<T> { @@ -7439,8 +10429,16 @@ pub mod root { } #[test] fn bindgen_test_layout_nsQueryInterface() { - assert_eq!(::std::mem::size_of::<nsQueryInterface>() , 8usize); - assert_eq!(::std::mem::align_of::<nsQueryInterface>() , 8usize); + assert_eq!(::std::mem::size_of::<nsQueryInterface>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsQueryInterface ) )); + assert_eq! (::std::mem::align_of::<nsQueryInterface>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsQueryInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsQueryInterface ) ) . mRawPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsQueryInterface ) + , "::" , stringify ! ( mRawPtr ) )); } impl Clone for nsQueryInterface { fn clone(&self) -> Self { *self } @@ -7454,9 +10452,24 @@ pub mod root { #[test] fn bindgen_test_layout_nsQueryInterfaceWithError() { assert_eq!(::std::mem::size_of::<nsQueryInterfaceWithError>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsQueryInterfaceWithError>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsQueryInterfaceWithError ) )); + assert_eq! (::std::mem::align_of::<nsQueryInterfaceWithError>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsQueryInterfaceWithError + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsQueryInterfaceWithError ) ) . + mRawPtr as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsQueryInterfaceWithError ) , "::" , stringify ! ( mRawPtr + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsQueryInterfaceWithError ) ) . + mErrorPtr as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsQueryInterfaceWithError ) , "::" , stringify ! ( + mErrorPtr ) )); } impl Clone for nsQueryInterfaceWithError { fn clone(&self) -> Self { *self } @@ -7466,11 +10479,21 @@ pub mod root { #[derive(Debug, Copy)] pub struct nsGetServiceByCID { pub mCID: *const root::nsCID, + pub __bindgen_align: [u64; 0usize], } #[test] fn bindgen_test_layout_nsGetServiceByCID() { - assert_eq!(::std::mem::size_of::<nsGetServiceByCID>() , 8usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByCID>() , 8usize); + assert_eq!(::std::mem::size_of::<nsGetServiceByCID>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsGetServiceByCID ) + )); + assert_eq! (::std::mem::align_of::<nsGetServiceByCID>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsGetServiceByCID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByCID ) ) . mCID as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsGetServiceByCID ) + , "::" , stringify ! ( mCID ) )); } impl Clone for nsGetServiceByCID { fn clone(&self) -> Self { *self } @@ -7484,9 +10507,25 @@ pub mod root { #[test] fn bindgen_test_layout_nsGetServiceByCIDWithError() { assert_eq!(::std::mem::size_of::<nsGetServiceByCIDWithError>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByCIDWithError>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsGetServiceByCIDWithError ) + )); + assert_eq! (::std::mem::align_of::<nsGetServiceByCIDWithError>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsGetServiceByCIDWithError + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByCIDWithError ) ) . mCID + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByCIDWithError ) , "::" , stringify ! ( mCID ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByCIDWithError ) ) . + mErrorPtr as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByCIDWithError ) , "::" , stringify ! ( + mErrorPtr ) )); } impl Clone for nsGetServiceByCIDWithError { fn clone(&self) -> Self { *self } @@ -7498,10 +10537,19 @@ pub mod root { } #[test] fn bindgen_test_layout_nsGetServiceByContractID() { - assert_eq!(::std::mem::size_of::<nsGetServiceByContractID>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByContractID>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsGetServiceByContractID>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( nsGetServiceByContractID ) )); + assert_eq! (::std::mem::align_of::<nsGetServiceByContractID>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsGetServiceByContractID ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByContractID ) ) . + mContractID as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByContractID ) , "::" , stringify ! ( + mContractID ) )); } impl Clone for nsGetServiceByContractID { fn clone(&self) -> Self { *self } @@ -7515,9 +10563,26 @@ pub mod root { #[test] fn bindgen_test_layout_nsGetServiceByContractIDWithError() { assert_eq!(::std::mem::size_of::<nsGetServiceByContractIDWithError>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByContractIDWithError>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsGetServiceByContractIDWithError ) )); + assert_eq! (::std::mem::align_of::<nsGetServiceByContractIDWithError>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsGetServiceByContractIDWithError ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByContractIDWithError ) ) + . mContractID as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsGetServiceByContractIDWithError ) , "::" , stringify ! ( + mContractID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByContractIDWithError ) ) + . mErrorPtr as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByContractIDWithError ) , "::" , stringify ! ( + mErrorPtr ) )); } impl Clone for nsGetServiceByContractIDWithError { fn clone(&self) -> Self { *self } @@ -7537,11 +10602,27 @@ pub mod root { pub mRawPtr: *mut root::nsISupports, } #[test] - fn __bindgen_test_layout_template_25() { + fn bindgen_test_layout_nsCOMPtr_base() { + assert_eq!(::std::mem::size_of::<nsCOMPtr_base>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsCOMPtr_base ) )); + assert_eq! (::std::mem::align_of::<nsCOMPtr_base>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCOMPtr_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCOMPtr_base ) ) . mRawPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCOMPtr_base ) , + "::" , stringify ! ( mRawPtr ) )); + } + #[test] + fn __bindgen_test_layout_template_4() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsISupports> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsISupports> ) )); } #[repr(C)] #[derive(Debug)] @@ -7579,8 +10660,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStringBuffer() { - assert_eq!(::std::mem::size_of::<nsStringBuffer>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStringBuffer>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStringBuffer>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsStringBuffer ) )); + assert_eq! (::std::mem::align_of::<nsStringBuffer>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( nsStringBuffer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStringBuffer ) ) . mRefCount as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStringBuffer ) , + "::" , stringify ! ( mRefCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStringBuffer ) ) . mStorageSize as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStringBuffer ) , + "::" , stringify ! ( mStorageSize ) )); } impl Clone for nsStringBuffer { fn clone(&self) -> Self { *self } @@ -7607,42 +10700,24 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIAtom() { - assert_eq!(::std::mem::size_of::<nsIAtom>() , 24usize); - assert_eq!(::std::mem::align_of::<nsIAtom>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIAtom>() , 24usize , concat ! ( + "Size of: " , stringify ! ( nsIAtom ) )); + assert_eq! (::std::mem::align_of::<nsIAtom>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIAtom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIAtom ) ) . mHash as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIAtom ) , "::" , + stringify ! ( mHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIAtom ) ) . mString as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIAtom ) , "::" , + stringify ! ( mString ) )); } impl Clone for nsIAtom { fn clone(&self) -> Self { *self } } - impl nsIAtom { - #[inline] - pub fn mLength(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483647usize as u32)) >> 0u32) - as u32) - } - } - #[inline] - pub fn set_mLength(&mut self, val: u32) { - self._bitfield_1 &= !(2147483647usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 0u32) & (2147483647usize as u32); - } - #[inline] - pub fn mIsStatic(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u32)) >> - 31u32) as u32) - } - } - #[inline] - pub fn set_mIsStatic(&mut self, val: u32) { - self._bitfield_1 &= !(2147483648usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 31u32) & (2147483648usize as u32); - } - } #[repr(C)] #[derive(Debug, Copy)] pub struct nsIPrincipal { @@ -7677,8 +10752,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPrincipal() { - assert_eq!(::std::mem::size_of::<nsIPrincipal>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIPrincipal>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIPrincipal>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIPrincipal ) )); + assert_eq! (::std::mem::align_of::<nsIPrincipal>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIPrincipal ) )); } impl Clone for nsIPrincipal { fn clone(&self) -> Self { *self } @@ -7772,8 +10849,20 @@ pub mod root { pub enum nsWrapperCache__bindgen_ty_3 { kWrapperFlagsMask = 3, } #[test] fn bindgen_test_layout_nsWrapperCache() { - assert_eq!(::std::mem::size_of::<nsWrapperCache>() , 24usize); - assert_eq!(::std::mem::align_of::<nsWrapperCache>() , 8usize); + assert_eq!(::std::mem::size_of::<nsWrapperCache>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsWrapperCache ) )); + assert_eq! (::std::mem::align_of::<nsWrapperCache>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsWrapperCache ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsWrapperCache ) ) . mWrapper as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsWrapperCache ) , + "::" , stringify ! ( mWrapper ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsWrapperCache ) ) . mFlags as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsWrapperCache ) , + "::" , stringify ! ( mFlags ) )); } #[repr(C)] pub struct TraceCallbacks__bindgen_vtable { @@ -7785,8 +10874,10 @@ pub mod root { } #[test] fn bindgen_test_layout_TraceCallbacks() { - assert_eq!(::std::mem::size_of::<TraceCallbacks>() , 8usize); - assert_eq!(::std::mem::align_of::<TraceCallbacks>() , 8usize); + assert_eq!(::std::mem::size_of::<TraceCallbacks>() , 8usize , concat ! + ( "Size of: " , stringify ! ( TraceCallbacks ) )); + assert_eq! (::std::mem::align_of::<TraceCallbacks>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( TraceCallbacks ) )); } impl Clone for TraceCallbacks { fn clone(&self) -> Self { *self } @@ -7798,8 +10889,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsScriptObjectTracer() { - assert_eq!(::std::mem::size_of::<nsScriptObjectTracer>() , 16usize); - assert_eq!(::std::mem::align_of::<nsScriptObjectTracer>() , 8usize); + assert_eq!(::std::mem::size_of::<nsScriptObjectTracer>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsScriptObjectTracer ) )); + assert_eq! (::std::mem::align_of::<nsScriptObjectTracer>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsScriptObjectTracer ) )); } impl Clone for nsScriptObjectTracer { fn clone(&self) -> Self { *self } @@ -7819,9 +10914,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsXPCOMCycleCollectionParticipant() { assert_eq!(::std::mem::size_of::<nsXPCOMCycleCollectionParticipant>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsXPCOMCycleCollectionParticipant>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsXPCOMCycleCollectionParticipant ) )); + assert_eq! (::std::mem::align_of::<nsXPCOMCycleCollectionParticipant>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsXPCOMCycleCollectionParticipant ) )); } impl Clone for nsXPCOMCycleCollectionParticipant { fn clone(&self) -> Self { *self } @@ -7856,8 +10955,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIEventTarget() { - assert_eq!(::std::mem::size_of::<nsIEventTarget>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIEventTarget>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIEventTarget>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsIEventTarget ) )); + assert_eq! (::std::mem::align_of::<nsIEventTarget>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsIEventTarget ) )); } impl Clone for nsIEventTarget { fn clone(&self) -> Self { *self } @@ -7876,8 +10977,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIRunnable() { - assert_eq!(::std::mem::size_of::<nsIRunnable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIRunnable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIRunnable>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIRunnable ) )); + assert_eq! (::std::mem::align_of::<nsIRunnable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIRunnable ) )); } impl Clone for nsIRunnable { fn clone(&self) -> Self { *self } @@ -7899,8 +11002,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIGlobalObject() { - assert_eq!(::std::mem::size_of::<nsIGlobalObject>() , 32usize); - assert_eq!(::std::mem::align_of::<nsIGlobalObject>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIGlobalObject>() , 32usize , concat + ! ( "Size of: " , stringify ! ( nsIGlobalObject ) )); + assert_eq! (::std::mem::align_of::<nsIGlobalObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIGlobalObject ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -7922,8 +11028,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISerializable() { - assert_eq!(::std::mem::size_of::<nsISerializable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISerializable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISerializable>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsISerializable ) )); + assert_eq! (::std::mem::align_of::<nsISerializable>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsISerializable ) )); } impl Clone for nsISerializable { fn clone(&self) -> Self { *self } @@ -7942,8 +11051,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIURI() { - assert_eq!(::std::mem::size_of::<nsIURI>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIURI>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIURI>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIURI ) )); + assert_eq! (::std::mem::align_of::<nsIURI>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIURI ) )); } impl Clone for nsIURI { fn clone(&self) -> Self { *self } @@ -7968,8 +11079,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPIDOMWindowInner() { - assert_eq!(::std::mem::size_of::<nsPIDOMWindowInner>() , 232usize); - assert_eq!(::std::mem::align_of::<nsPIDOMWindowInner>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPIDOMWindowInner>() , 232usize , + concat ! ( "Size of: " , stringify ! ( nsPIDOMWindowInner ) + )); + assert_eq! (::std::mem::align_of::<nsPIDOMWindowInner>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPIDOMWindowInner ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -7992,8 +11107,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScriptContext() { - assert_eq!(::std::mem::size_of::<nsIScriptContext>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIScriptContext>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScriptContext>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIScriptContext ) )); + assert_eq! (::std::mem::align_of::<nsIScriptContext>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScriptContext ) )); } impl Clone for nsIScriptContext { fn clone(&self) -> Self { *self } @@ -8040,7 +11158,12 @@ pub mod root { pub mExtraPropertyTables: root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>, pub mChildrenCollection: root::nsCOMPtr<root::nsIHTMLCollection>, pub mFontFaceSet: root::RefPtr<root::mozilla::dom::FontFaceSet>, - pub _bitfield_1: u64, + pub _bitfield_1: u8, + pub _bitfield_2: u8, + pub _bitfield_3: u8, + pub _bitfield_4: u8, + pub _bitfield_5: u8, + pub _bitfield_6: u8, pub mCompatMode: root::nsCompatibility, pub mReadyState: root::nsIDocument_ReadyState, pub mStyleBackendType: root::mozilla::StyleBackendType, @@ -8093,7 +11216,7 @@ pub mod root { pub mXPathEvaluator: root::RefPtr<root::mozilla::dom::XPathEvaluator>, pub mAnonymousContents: root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>, pub mBlockDOMContentLoaded: u32, - pub _bitfield_2: u8, + pub _bitfield_7: u8, pub mDOMMediaQueryLists: root::PRCList, pub mUseCounters: [u64; 2usize], pub mChildDocumentUseCounters: [u64; 2usize], @@ -8125,9 +11248,28 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_PageUnloadingEventTimeStamp() { assert_eq!(::std::mem::size_of::<nsIDocument_PageUnloadingEventTimeStamp>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsIDocument_PageUnloadingEventTimeStamp>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) )); + assert_eq! (::std::mem::align_of::<nsIDocument_PageUnloadingEventTimeStamp>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsIDocument_PageUnloadingEventTimeStamp ) + ) . mDocument as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) , "::" , + stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsIDocument_PageUnloadingEventTimeStamp ) + ) . mSet as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) , "::" , + stringify ! ( mSet ) )); } /** * This gets fired when the element that an id refers to changes. @@ -8154,9 +11296,25 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_SelectorCacheKey() { assert_eq!(::std::mem::size_of::<nsIDocument_SelectorCacheKey>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsIDocument_SelectorCacheKey>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( nsIDocument_SelectorCacheKey ) + )); + assert_eq! (::std::mem::align_of::<nsIDocument_SelectorCacheKey>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIDocument_SelectorCacheKey ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIDocument_SelectorCacheKey ) ) . + mKey as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_SelectorCacheKey ) , "::" , stringify ! ( mKey + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIDocument_SelectorCacheKey ) ) . + mState as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_SelectorCacheKey ) , "::" , stringify ! ( + mState ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -8169,9 +11327,12 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_SelectorCache() { assert_eq!(::std::mem::size_of::<nsIDocument_SelectorCache>() , - 128usize); - assert_eq!(::std::mem::align_of::<nsIDocument_SelectorCache>() , - 8usize); + 128usize , concat ! ( + "Size of: " , stringify ! ( nsIDocument_SelectorCache ) )); + assert_eq! (::std::mem::align_of::<nsIDocument_SelectorCache>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIDocument_SelectorCache + ) )); } impl Clone for nsIDocument_SelectorCache { fn clone(&self) -> Self { *self } @@ -8229,9 +11390,19 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_ExternalResourceLoad() { assert_eq!(::std::mem::size_of::<nsIDocument_ExternalResourceLoad>() , - 88usize); - assert_eq!(::std::mem::align_of::<nsIDocument_ExternalResourceLoad>() - , 8usize); + 88usize , concat ! ( + "Size of: " , stringify ! ( + nsIDocument_ExternalResourceLoad ) )); + assert_eq! (::std::mem::align_of::<nsIDocument_ExternalResourceLoad>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIDocument_ExternalResourceLoad ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIDocument_ExternalResourceLoad ) ) + . mObservers as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_ExternalResourceLoad ) , "::" , stringify ! ( + mObservers ) )); } pub type nsIDocument_ActivityObserverEnumerator = ::std::option::Option<unsafe extern "C" fn(arg1: @@ -8295,7 +11466,8 @@ pub mod root { eLenientSetter = 37, eFileLastModifiedDate = 38, eImageBitmapRenderingContext_TransferImageBitmap = 39, - eDeprecatedOperationCount = 40, + eURLCreateObjectURL_MediaStream = 40, + eDeprecatedOperationCount = 41, } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -8312,6 +11484,14 @@ pub mod root { eDetached = 2, eAttributeChanged = 3, } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsIDocument_FlashClassification { + Unclassified = 0, + Unknown = 1, + Allowed = 2, + Denied = 3, + } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsIDocument_Type { @@ -8330,622 +11510,10 @@ pub mod root { pub struct nsIDocument_FrameRequest([u8; 0]); #[test] fn bindgen_test_layout_nsIDocument() { - assert_eq!(::std::mem::size_of::<nsIDocument>() , 1032usize); - assert_eq!(::std::mem::align_of::<nsIDocument>() , 8usize); - } - impl nsIDocument { - #[inline] - pub fn mBidiEnabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u64)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mBidiEnabled(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 0u32) & (1usize as u64); - } - #[inline] - pub fn mMathMLEnabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u64)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mMathMLEnabled(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 1u32) & (2usize as u64); - } - #[inline] - pub fn mIsInitialDocumentInWindow(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u64)) >> - 2u32) as u8) - } - } - #[inline] - pub fn set_mIsInitialDocumentInWindow(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 2u32) & (4usize as u64); - } - #[inline] - pub fn mLoadedAsData(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u64)) >> - 3u32) as u8) - } - } - #[inline] - pub fn set_mLoadedAsData(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 3u32) & (8usize as u64); - } - #[inline] - pub fn mLoadedAsInteractiveData(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u64)) - >> 4u32) as u8) - } - } - #[inline] - pub fn set_mLoadedAsInteractiveData(&mut self, val: bool) { - self._bitfield_1 &= !(16usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 4u32) & (16usize as u64); - } - #[inline] - pub fn mMayStartLayout(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u64)) - >> 5u32) as u8) - } - } - #[inline] - pub fn set_mMayStartLayout(&mut self, val: bool) { - self._bitfield_1 &= !(32usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 5u32) & (32usize as u64); - } - #[inline] - pub fn mHaveFiredTitleChange(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (64usize as u64)) - >> 6u32) as u8) - } - } - #[inline] - pub fn set_mHaveFiredTitleChange(&mut self, val: bool) { - self._bitfield_1 &= !(64usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 6u32) & (64usize as u64); - } - #[inline] - pub fn mIsShowing(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (128usize as u64)) - >> 7u32) as u8) - } - } - #[inline] - pub fn set_mIsShowing(&mut self, val: bool) { - self._bitfield_1 &= !(128usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 7u32) & (128usize as u64); - } - #[inline] - pub fn mVisible(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (256usize as u64)) - >> 8u32) as u8) - } - } - #[inline] - pub fn set_mVisible(&mut self, val: bool) { - self._bitfield_1 &= !(256usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 8u32) & (256usize as u64); - } - #[inline] - pub fn mHasReferrerPolicyCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (512usize as u64)) - >> 9u32) as u8) - } - } - #[inline] - pub fn set_mHasReferrerPolicyCSP(&mut self, val: bool) { - self._bitfield_1 &= !(512usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 9u32) & (512usize as u64); - } - #[inline] - pub fn mRemovedFromDocShell(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1024usize as u64)) - >> 10u32) as u8) - } - } - #[inline] - pub fn set_mRemovedFromDocShell(&mut self, val: bool) { - self._bitfield_1 &= !(1024usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 10u32) & (1024usize as u64); - } - #[inline] - pub fn mAllowDNSPrefetch(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2048usize as u64)) - >> 11u32) as u8) - } - } - #[inline] - pub fn set_mAllowDNSPrefetch(&mut self, val: bool) { - self._bitfield_1 &= !(2048usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 11u32) & (2048usize as u64); - } - #[inline] - pub fn mIsStaticDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4096usize as u64)) - >> 12u32) as u8) - } - } - #[inline] - pub fn set_mIsStaticDocument(&mut self, val: bool) { - self._bitfield_1 &= !(4096usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 12u32) & (4096usize as u64); - } - #[inline] - pub fn mCreatingStaticClone(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8192usize as u64)) - >> 13u32) as u8) - } - } - #[inline] - pub fn set_mCreatingStaticClone(&mut self, val: bool) { - self._bitfield_1 &= !(8192usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 13u32) & (8192usize as u64); - } - #[inline] - pub fn mInUnlinkOrDeletion(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16384usize as u64)) >> 14u32) as - u8) - } - } - #[inline] - pub fn set_mInUnlinkOrDeletion(&mut self, val: bool) { - self._bitfield_1 &= !(16384usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 14u32) & (16384usize as u64); - } - #[inline] - pub fn mHasHadScriptHandlingObject(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (32768usize as u64)) >> 15u32) as - u8) - } - } - #[inline] - pub fn set_mHasHadScriptHandlingObject(&mut self, val: bool) { - self._bitfield_1 &= !(32768usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 15u32) & (32768usize as u64); - } - #[inline] - pub fn mIsBeingUsedAsImage(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (65536usize as u64)) >> 16u32) as - u8) - } - } - #[inline] - pub fn set_mIsBeingUsedAsImage(&mut self, val: bool) { - self._bitfield_1 &= !(65536usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 16u32) & (65536usize as u64); - } - #[inline] - pub fn mIsSyntheticDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (131072usize as u64)) >> 17u32) as - u8) - } - } - #[inline] - pub fn set_mIsSyntheticDocument(&mut self, val: bool) { - self._bitfield_1 &= !(131072usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 17u32) & (131072usize as u64); - } - #[inline] - pub fn mHasLinksToUpdate(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (262144usize as u64)) >> 18u32) as - u8) - } - } - #[inline] - pub fn set_mHasLinksToUpdate(&mut self, val: bool) { - self._bitfield_1 &= !(262144usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 18u32) & (262144usize as u64); - } - #[inline] - pub fn mNeedLayoutFlush(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (524288usize as u64)) >> 19u32) as - u8) - } - } - #[inline] - pub fn set_mNeedLayoutFlush(&mut self, val: bool) { - self._bitfield_1 &= !(524288usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 19u32) & (524288usize as u64); - } - #[inline] - pub fn mNeedStyleFlush(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1048576usize as u64)) >> 20u32) - as u8) - } - } - #[inline] - pub fn set_mNeedStyleFlush(&mut self, val: bool) { - self._bitfield_1 &= !(1048576usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 20u32) & (1048576usize as u64); - } - #[inline] - pub fn mMayHaveDOMMutationObservers(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2097152usize as u64)) >> 21u32) - as u8) - } - } - #[inline] - pub fn set_mMayHaveDOMMutationObservers(&mut self, val: bool) { - self._bitfield_1 &= !(2097152usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 21u32) & (2097152usize as u64); - } - #[inline] - pub fn mMayHaveAnimationObservers(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4194304usize as u64)) >> 22u32) - as u8) - } - } - #[inline] - pub fn set_mMayHaveAnimationObservers(&mut self, val: bool) { - self._bitfield_1 &= !(4194304usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 22u32) & (4194304usize as u64); - } - #[inline] - pub fn mHasMixedActiveContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8388608usize as u64)) >> 23u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedActiveContentLoaded(&mut self, val: bool) { - self._bitfield_1 &= !(8388608usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 23u32) & (8388608usize as u64); - } - #[inline] - pub fn mHasMixedActiveContentBlocked(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16777216usize as u64)) >> 24u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedActiveContentBlocked(&mut self, val: bool) { - self._bitfield_1 &= !(16777216usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 24u32) & (16777216usize as u64); - } - #[inline] - pub fn mHasMixedDisplayContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (33554432usize as u64)) >> 25u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedDisplayContentLoaded(&mut self, val: bool) { - self._bitfield_1 &= !(33554432usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 25u32) & (33554432usize as u64); - } - #[inline] - pub fn mHasMixedDisplayContentBlocked(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (67108864usize as u64)) >> 26u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedDisplayContentBlocked(&mut self, val: bool) { - self._bitfield_1 &= !(67108864usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 26u32) & (67108864usize as u64); - } - #[inline] - pub fn mHasMixedContentObjectSubrequest(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (134217728usize as u64)) >> 27u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedContentObjectSubrequest(&mut self, val: bool) { - self._bitfield_1 &= !(134217728usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 27u32) & (134217728usize as u64); - } - #[inline] - pub fn mHasCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (268435456usize as u64)) >> 28u32) - as u8) - } - } - #[inline] - pub fn set_mHasCSP(&mut self, val: bool) { - self._bitfield_1 &= !(268435456usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 28u32) & (268435456usize as u64); - } - #[inline] - pub fn mHasUnsafeEvalCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (536870912usize as u64)) >> 29u32) - as u8) - } - } - #[inline] - pub fn set_mHasUnsafeEvalCSP(&mut self, val: bool) { - self._bitfield_1 &= !(536870912usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 29u32) & (536870912usize as u64); - } - #[inline] - pub fn mHasUnsafeInlineCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1073741824usize as u64)) >> - 30u32) as u8) - } - } - #[inline] - pub fn set_mHasUnsafeInlineCSP(&mut self, val: bool) { - self._bitfield_1 &= !(1073741824usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 30u32) & (1073741824usize as u64); - } - #[inline] - pub fn mHasTrackingContentBlocked(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u64)) >> - 31u32) as u8) - } - } - #[inline] - pub fn set_mHasTrackingContentBlocked(&mut self, val: bool) { - self._bitfield_1 &= !(2147483648usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 31u32) & (2147483648usize as u64); - } - #[inline] - pub fn mHasTrackingContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4294967296usize as u64)) >> - 32u32) as u8) - } - } - #[inline] - pub fn set_mHasTrackingContentLoaded(&mut self, val: bool) { - self._bitfield_1 &= !(4294967296usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 32u32) & (4294967296usize as u64); - } - #[inline] - pub fn mBFCacheDisallowed(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8589934592usize as u64)) >> - 33u32) as u8) - } - } - #[inline] - pub fn set_mBFCacheDisallowed(&mut self, val: bool) { - self._bitfield_1 &= !(8589934592usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 33u32) & (8589934592usize as u64); - } - #[inline] - pub fn mHasHadDefaultView(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (17179869184usize as u64)) >> - 34u32) as u8) - } - } - #[inline] - pub fn set_mHasHadDefaultView(&mut self, val: bool) { - self._bitfield_1 &= !(17179869184usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 34u32) & (17179869184usize as u64); - } - #[inline] - pub fn mStyleSheetChangeEventsEnabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (34359738368usize as u64)) >> - 35u32) as u8) - } - } - #[inline] - pub fn set_mStyleSheetChangeEventsEnabled(&mut self, val: bool) { - self._bitfield_1 &= !(34359738368usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 35u32) & (34359738368usize as u64); - } - #[inline] - pub fn mIsSrcdocDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (68719476736usize as u64)) >> - 36u32) as u8) - } - } - #[inline] - pub fn set_mIsSrcdocDocument(&mut self, val: bool) { - self._bitfield_1 &= !(68719476736usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 36u32) & (68719476736usize as u64); - } - #[inline] - pub fn mDidDocumentOpen(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (137438953472usize as u64)) >> - 37u32) as u8) - } - } - #[inline] - pub fn set_mDidDocumentOpen(&mut self, val: bool) { - self._bitfield_1 &= !(137438953472usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 37u32) & (137438953472usize as u64); - } - #[inline] - pub fn mHasDisplayDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (274877906944usize as u64)) >> - 38u32) as u8) - } - } - #[inline] - pub fn set_mHasDisplayDocument(&mut self, val: bool) { - self._bitfield_1 &= !(274877906944usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 38u32) & (274877906944usize as u64); - } - #[inline] - pub fn mFontFaceSetDirty(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (549755813888usize as u64)) >> - 39u32) as u8) - } - } - #[inline] - pub fn set_mFontFaceSetDirty(&mut self, val: bool) { - self._bitfield_1 &= !(549755813888usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 39u32) & (549755813888usize as u64); - } - #[inline] - pub fn mGetUserFontSetCalled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1099511627776usize as u64)) >> - 40u32) as u8) - } - } - #[inline] - pub fn set_mGetUserFontSetCalled(&mut self, val: bool) { - self._bitfield_1 &= !(1099511627776usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 40u32) & (1099511627776usize as u64); - } - #[inline] - pub fn mPostedFlushUserFontSet(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2199023255552usize as u64)) >> - 41u32) as u8) - } - } - #[inline] - pub fn set_mPostedFlushUserFontSet(&mut self, val: bool) { - self._bitfield_1 &= !(2199023255552usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 41u32) & (2199023255552usize as u64); - } - #[inline] - pub fn mEverInForeground(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4398046511104usize as u64)) >> - 42u32) as u8) - } - } - #[inline] - pub fn set_mEverInForeground(&mut self, val: bool) { - self._bitfield_1 &= !(4398046511104usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 42u32) & (4398046511104usize as u64); - } - #[inline] - pub fn mDidFireDOMContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_2 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mDidFireDOMContentLoaded(&mut self, val: bool) { - self._bitfield_2 &= !(1usize as u8); - self._bitfield_2 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mHasScrollLinkedEffect(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_2 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mHasScrollLinkedEffect(&mut self, val: bool) { - self._bitfield_2 &= !(2usize as u8); - self._bitfield_2 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } + assert_eq!(::std::mem::size_of::<nsIDocument>() , 1032usize , concat ! + ( "Size of: " , stringify ! ( nsIDocument ) )); + assert_eq! (::std::mem::align_of::<nsIDocument>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIDocument ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -8970,8 +11538,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScriptGlobalObject() { - assert_eq!(::std::mem::size_of::<nsIScriptGlobalObject>() , 32usize); - assert_eq!(::std::mem::align_of::<nsIScriptGlobalObject>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScriptGlobalObject>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsIScriptGlobalObject ) )); + assert_eq! (::std::mem::align_of::<nsIScriptGlobalObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScriptGlobalObject ) + )); } #[repr(u32)] /** @@ -8998,8 +11571,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIObserver() { - assert_eq!(::std::mem::size_of::<nsIObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIObserver>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIObserver ) )); + assert_eq! (::std::mem::align_of::<nsIObserver>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIObserver ) )); } impl Clone for nsIObserver { fn clone(&self) -> Self { *self } @@ -9018,8 +11593,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIVariant() { - assert_eq!(::std::mem::size_of::<nsIVariant>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIVariant>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIVariant>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIVariant ) )); + assert_eq! (::std::mem::align_of::<nsIVariant>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIVariant ) )); } impl Clone for nsIVariant { fn clone(&self) -> Self { *self } @@ -9041,8 +11618,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINamed() { - assert_eq!(::std::mem::size_of::<nsINamed>() , 8usize); - assert_eq!(::std::mem::align_of::<nsINamed>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINamed>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsINamed ) )); + assert_eq! (::std::mem::align_of::<nsINamed>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsINamed ) )); } impl Clone for nsINamed { fn clone(&self) -> Self { *self } @@ -9067,8 +11646,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMAttr() { - assert_eq!(::std::mem::size_of::<nsIDOMAttr>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMAttr>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMAttr>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIDOMAttr ) )); + assert_eq! (::std::mem::align_of::<nsIDOMAttr>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIDOMAttr ) )); } impl Clone for nsIDOMAttr { fn clone(&self) -> Self { *self } @@ -9087,8 +11668,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMElement() { - assert_eq!(::std::mem::size_of::<nsIDOMElement>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMElement>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMElement>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsIDOMElement ) )); + assert_eq! (::std::mem::align_of::<nsIDOMElement>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsIDOMElement ) )); } impl Clone for nsIDOMElement { fn clone(&self) -> Self { *self } @@ -9178,8 +11761,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMNode() { - assert_eq!(::std::mem::size_of::<nsIDOMNode>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMNode>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMNode>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIDOMNode ) )); + assert_eq! (::std::mem::align_of::<nsIDOMNode>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIDOMNode ) )); } impl Clone for nsIDOMNode { fn clone(&self) -> Self { *self } @@ -9198,8 +11783,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMNodeList() { - assert_eq!(::std::mem::size_of::<nsIDOMNodeList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMNodeList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMNodeList>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsIDOMNodeList ) )); + assert_eq! (::std::mem::align_of::<nsIDOMNodeList>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsIDOMNodeList ) )); } impl Clone for nsIDOMNodeList { fn clone(&self) -> Self { *self } @@ -9218,8 +11805,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMClientRect() { - assert_eq!(::std::mem::size_of::<nsIDOMClientRect>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMClientRect>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMClientRect>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIDOMClientRect ) )); + assert_eq! (::std::mem::align_of::<nsIDOMClientRect>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMClientRect ) )); } impl Clone for nsIDOMClientRect { fn clone(&self) -> Self { *self } @@ -9238,8 +11828,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMClientRectList() { - assert_eq!(::std::mem::size_of::<nsIDOMClientRectList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMClientRectList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMClientRectList>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMClientRectList ) )); + assert_eq! (::std::mem::align_of::<nsIDOMClientRectList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMClientRectList ) )); } impl Clone for nsIDOMClientRectList { fn clone(&self) -> Self { *self } @@ -9258,8 +11852,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMStyleSheet() { - assert_eq!(::std::mem::size_of::<nsIDOMStyleSheet>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMStyleSheet>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMStyleSheet>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIDOMStyleSheet ) )); + assert_eq! (::std::mem::align_of::<nsIDOMStyleSheet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMStyleSheet ) )); } impl Clone for nsIDOMStyleSheet { fn clone(&self) -> Self { *self } @@ -9278,8 +11875,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMMediaList() { - assert_eq!(::std::mem::size_of::<nsIDOMMediaList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMMediaList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMMediaList>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) )); + assert_eq! (::std::mem::align_of::<nsIDOMMediaList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMMediaList ) )); } impl Clone for nsIDOMMediaList { fn clone(&self) -> Self { *self } @@ -9301,8 +11901,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMEventTarget() { - assert_eq!(::std::mem::size_of::<nsIDOMEventTarget>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMEventTarget>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMEventTarget>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIDOMEventTarget ) + )); + assert_eq! (::std::mem::align_of::<nsIDOMEventTarget>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMEventTarget ) )); } impl Clone for nsIDOMEventTarget { fn clone(&self) -> Self { *self } @@ -9324,8 +11928,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMHTMLCollection() { - assert_eq!(::std::mem::size_of::<nsIDOMHTMLCollection>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMHTMLCollection>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMHTMLCollection>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMHTMLCollection ) )); + assert_eq! (::std::mem::align_of::<nsIDOMHTMLCollection>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMHTMLCollection ) )); } impl Clone for nsIDOMHTMLCollection { fn clone(&self) -> Self { *self } @@ -9350,8 +11958,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMCSSStyleSheet() { - assert_eq!(::std::mem::size_of::<nsIDOMCSSStyleSheet>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMCSSStyleSheet>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMCSSStyleSheet>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMCSSStyleSheet ) )); + assert_eq! (::std::mem::align_of::<nsIDOMCSSStyleSheet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMCSSStyleSheet ) )); } impl Clone for nsIDOMCSSStyleSheet { fn clone(&self) -> Self { *self } @@ -9376,8 +11988,12 @@ pub mod root { } #[test] fn bindgen_test_layout_mozIDOMWindowProxy() { - assert_eq!(::std::mem::size_of::<mozIDOMWindowProxy>() , 8usize); - assert_eq!(::std::mem::align_of::<mozIDOMWindowProxy>() , 8usize); + assert_eq!(::std::mem::size_of::<mozIDOMWindowProxy>() , 8usize , + concat ! ( "Size of: " , stringify ! ( mozIDOMWindowProxy ) + )); + assert_eq! (::std::mem::align_of::<mozIDOMWindowProxy>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( mozIDOMWindowProxy ) )); } impl Clone for mozIDOMWindowProxy { fn clone(&self) -> Self { *self } @@ -9453,7 +12069,8 @@ pub mod root { pub mFirstScrollTime: root::mozilla::TimeStamp, pub mInteractionTimeEnabled: bool, pub mLastStyleUpdateForAllAnimations: root::mozilla::TimeStamp, - pub _bitfield_1: u64, + pub _bitfield_1: [u8; 4usize], + pub _bitfield_2: [u8; 2usize], pub mRestyleLoggingEnabled: bool, pub mInitialized: bool, pub mLayoutPhaseCount: [u32; 3usize], @@ -9473,9 +12090,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsPresContext_cycleCollection() { assert_eq!(::std::mem::size_of::<nsPresContext_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsPresContext_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsPresContext_cycleCollection ) + )); + assert_eq! (::std::mem::align_of::<nsPresContext_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsPresContext_cycleCollection ) )); } impl Clone for nsPresContext_cycleCollection { fn clone(&self) -> Self { *self } @@ -9509,9 +12130,33 @@ pub mod root { #[test] fn bindgen_test_layout_nsPresContext_InterruptPreventer() { assert_eq!(::std::mem::size_of::<nsPresContext_InterruptPreventer>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsPresContext_InterruptPreventer>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + nsPresContext_InterruptPreventer ) )); + assert_eq! (::std::mem::align_of::<nsPresContext_InterruptPreventer>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsPresContext_InterruptPreventer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) + . mCtx as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresContext_InterruptPreventer ) , "::" , stringify ! ( + mCtx ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) + . mInterruptsEnabled as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsPresContext_InterruptPreventer ) , "::" , stringify ! ( + mInterruptsEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) + . mHasPendingInterrupt as * const _ as usize } , 9usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsPresContext_InterruptPreventer ) , "::" , stringify ! ( + mHasPendingInterrupt ) )); } extern "C" { #[link_name = "_ZN13nsPresContext21_cycleCollectorGlobalE"] @@ -9520,676 +12165,379 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPresContext() { - assert_eq!(::std::mem::size_of::<nsPresContext>() , 1296usize); - assert_eq!(::std::mem::align_of::<nsPresContext>() , 8usize); - } - impl nsPresContext { - #[inline] - pub fn mHasPendingInterrupt(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u64)) >> - 0u32) as u32) - } - } - #[inline] - pub fn set_mHasPendingInterrupt(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 0u32) & (1usize as u64); - } - #[inline] - pub fn mPendingInterruptFromTest(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u64)) >> - 1u32) as u32) - } - } - #[inline] - pub fn set_mPendingInterruptFromTest(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 1u32) & (2usize as u64); - } - #[inline] - pub fn mInterruptsEnabled(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u64)) >> - 2u32) as u32) - } - } - #[inline] - pub fn set_mInterruptsEnabled(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 2u32) & (4usize as u64); - } - #[inline] - pub fn mUseDocumentFonts(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u64)) >> - 3u32) as u32) - } - } - #[inline] - pub fn set_mUseDocumentFonts(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 3u32) & (8usize as u64); - } - #[inline] - pub fn mUseDocumentColors(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u64)) - >> 4u32) as u32) - } - } - #[inline] - pub fn set_mUseDocumentColors(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(16usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 4u32) & (16usize as u64); - } - #[inline] - pub fn mUnderlineLinks(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u64)) - >> 5u32) as u32) - } - } - #[inline] - pub fn set_mUnderlineLinks(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(32usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 5u32) & (32usize as u64); - } - #[inline] - pub fn mSendAfterPaintToContent(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (64usize as u64)) - >> 6u32) as u32) - } - } - #[inline] - pub fn set_mSendAfterPaintToContent(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(64usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 6u32) & (64usize as u64); - } - #[inline] - pub fn mUseFocusColors(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (128usize as u64)) - >> 7u32) as u32) - } - } - #[inline] - pub fn set_mUseFocusColors(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(128usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 7u32) & (128usize as u64); - } - #[inline] - pub fn mFocusRingOnAnything(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (256usize as u64)) - >> 8u32) as u32) - } - } - #[inline] - pub fn set_mFocusRingOnAnything(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(256usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 8u32) & (256usize as u64); - } - #[inline] - pub fn mFocusRingStyle(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (512usize as u64)) - >> 9u32) as u32) - } - } - #[inline] - pub fn set_mFocusRingStyle(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(512usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 9u32) & (512usize as u64); - } - #[inline] - pub fn mDrawImageBackground(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1024usize as u64)) - >> 10u32) as u32) - } - } - #[inline] - pub fn set_mDrawImageBackground(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1024usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 10u32) & (1024usize as u64); - } - #[inline] - pub fn mDrawColorBackground(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2048usize as u64)) - >> 11u32) as u32) - } - } - #[inline] - pub fn set_mDrawColorBackground(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2048usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 11u32) & (2048usize as u64); - } - #[inline] - pub fn mNeverAnimate(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4096usize as u64)) - >> 12u32) as u32) - } - } - #[inline] - pub fn set_mNeverAnimate(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4096usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 12u32) & (4096usize as u64); - } - #[inline] - pub fn mIsRenderingOnlySelection(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8192usize as u64)) - >> 13u32) as u32) - } - } - #[inline] - pub fn set_mIsRenderingOnlySelection(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8192usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 13u32) & (8192usize as u64); - } - #[inline] - pub fn mPaginated(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16384usize as u64)) >> 14u32) as - u32) - } - } - #[inline] - pub fn set_mPaginated(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(16384usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 14u32) & (16384usize as u64); - } - #[inline] - pub fn mCanPaginatedScroll(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (32768usize as u64)) >> 15u32) as - u32) - } - } - #[inline] - pub fn set_mCanPaginatedScroll(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(32768usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 15u32) & (32768usize as u64); - } - #[inline] - pub fn mDoScaledTwips(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (65536usize as u64)) >> 16u32) as - u32) - } - } - #[inline] - pub fn set_mDoScaledTwips(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(65536usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 16u32) & (65536usize as u64); - } - #[inline] - pub fn mIsRootPaginatedDocument(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (131072usize as u64)) >> 17u32) as - u32) - } - } - #[inline] - pub fn set_mIsRootPaginatedDocument(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(131072usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 17u32) & (131072usize as u64); - } - #[inline] - pub fn mPrefBidiDirection(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (262144usize as u64)) >> 18u32) as - u32) - } - } - #[inline] - pub fn set_mPrefBidiDirection(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(262144usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 18u32) & (262144usize as u64); - } - #[inline] - pub fn mPrefScrollbarSide(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1572864usize as u64)) >> 19u32) - as u32) - } - } - #[inline] - pub fn set_mPrefScrollbarSide(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1572864usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 19u32) & (1572864usize as u64); - } - #[inline] - pub fn mPendingSysColorChanged(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2097152usize as u64)) >> 21u32) - as u32) - } - } - #[inline] - pub fn set_mPendingSysColorChanged(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2097152usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 21u32) & (2097152usize as u64); - } - #[inline] - pub fn mPendingThemeChanged(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4194304usize as u64)) >> 22u32) - as u32) - } - } - #[inline] - pub fn set_mPendingThemeChanged(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4194304usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 22u32) & (4194304usize as u64); - } - #[inline] - pub fn mPendingUIResolutionChanged(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8388608usize as u64)) >> 23u32) - as u32) - } - } - #[inline] - pub fn set_mPendingUIResolutionChanged(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8388608usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 23u32) & (8388608usize as u64); - } - #[inline] - pub fn mPendingMediaFeatureValuesChanged(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16777216usize as u64)) >> 24u32) - as u32) - } - } - #[inline] - pub fn set_mPendingMediaFeatureValuesChanged(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(16777216usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 24u32) & (16777216usize as u64); - } - #[inline] - pub fn mPrefChangePendingNeedsReflow(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (33554432usize as u64)) >> 25u32) - as u32) - } - } - #[inline] - pub fn set_mPrefChangePendingNeedsReflow(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(33554432usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 25u32) & (33554432usize as u64); - } - #[inline] - pub fn mIsEmulatingMedia(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (67108864usize as u64)) >> 26u32) - as u32) - } - } - #[inline] - pub fn set_mIsEmulatingMedia(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(67108864usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 26u32) & (67108864usize as u64); - } - #[inline] - pub fn mAllInvalidated(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (134217728usize as u64)) >> 27u32) - as u32) - } - } - #[inline] - pub fn set_mAllInvalidated(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(134217728usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 27u32) & (134217728usize as u64); - } - #[inline] - pub fn mIsGlyph(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (268435456usize as u64)) >> 28u32) - as u32) - } - } - #[inline] - pub fn set_mIsGlyph(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(268435456usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 28u32) & (268435456usize as u64); - } - #[inline] - pub fn mUsesRootEMUnits(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (536870912usize as u64)) >> 29u32) - as u32) - } - } - #[inline] - pub fn set_mUsesRootEMUnits(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(536870912usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 29u32) & (536870912usize as u64); - } - #[inline] - pub fn mUsesExChUnits(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1073741824usize as u64)) >> - 30u32) as u32) - } - } - #[inline] - pub fn set_mUsesExChUnits(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1073741824usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 30u32) & (1073741824usize as u64); - } - #[inline] - pub fn mUsesViewportUnits(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u64)) >> - 31u32) as u32) - } - } - #[inline] - pub fn set_mUsesViewportUnits(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2147483648usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 31u32) & (2147483648usize as u64); - } - #[inline] - pub fn mPendingViewportChange(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4294967296usize as u64)) >> - 32u32) as u32) - } - } - #[inline] - pub fn set_mPendingViewportChange(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4294967296usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 32u32) & (4294967296usize as u64); - } - #[inline] - pub fn mCounterStylesDirty(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8589934592usize as u64)) >> - 33u32) as u32) - } - } - #[inline] - pub fn set_mCounterStylesDirty(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8589934592usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 33u32) & (8589934592usize as u64); - } - #[inline] - pub fn mPostedFlushCounterStyles(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (17179869184usize as u64)) >> - 34u32) as u32) - } - } - #[inline] - pub fn set_mPostedFlushCounterStyles(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(17179869184usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 34u32) & (17179869184usize as u64); - } - #[inline] - pub fn mSuppressResizeReflow(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (34359738368usize as u64)) >> - 35u32) as u32) - } - } - #[inline] - pub fn set_mSuppressResizeReflow(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(34359738368usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 35u32) & (34359738368usize as u64); - } - #[inline] - pub fn mIsVisual(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (68719476736usize as u64)) >> - 36u32) as u32) - } - } - #[inline] - pub fn set_mIsVisual(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(68719476736usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 36u32) & (68719476736usize as u64); - } - #[inline] - pub fn mFireAfterPaintEvents(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (137438953472usize as u64)) >> - 37u32) as u32) - } - } - #[inline] - pub fn set_mFireAfterPaintEvents(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(137438953472usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 37u32) & (137438953472usize as u64); - } - #[inline] - pub fn mIsChrome(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (274877906944usize as u64)) >> - 38u32) as u32) - } - } - #[inline] - pub fn set_mIsChrome(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(274877906944usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 38u32) & (274877906944usize as u64); - } - #[inline] - pub fn mIsChromeOriginImage(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (549755813888usize as u64)) >> - 39u32) as u32) - } - } - #[inline] - pub fn set_mIsChromeOriginImage(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(549755813888usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 39u32) & (549755813888usize as u64); - } - #[inline] - pub fn mPaintFlashing(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1099511627776usize as u64)) >> - 40u32) as u32) - } - } - #[inline] - pub fn set_mPaintFlashing(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1099511627776usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 40u32) & (1099511627776usize as u64); - } - #[inline] - pub fn mPaintFlashingInitialized(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2199023255552usize as u64)) >> - 41u32) as u32) - } - } - #[inline] - pub fn set_mPaintFlashingInitialized(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2199023255552usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 41u32) & (2199023255552usize as u64); - } - #[inline] - pub fn mHasWarnedAboutPositionedTableParts(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4398046511104usize as u64)) >> - 42u32) as u32) - } - } - #[inline] - pub fn set_mHasWarnedAboutPositionedTableParts(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4398046511104usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 42u32) & (4398046511104usize as u64); - } - #[inline] - pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8796093022208usize as u64)) >> - 43u32) as u32) - } - } - #[inline] - pub fn set_mHasWarnedAboutTooLargeDashedOrDottedRadius(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8796093022208usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 43u32) & (8796093022208usize as u64); - } - #[inline] - pub fn mQuirkSheetAdded(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (17592186044416usize as u64)) >> - 44u32) as u32) - } - } - #[inline] - pub fn set_mQuirkSheetAdded(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(17592186044416usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 44u32) & (17592186044416usize as u64); - } - #[inline] - pub fn mNeedsPrefUpdate(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (35184372088832usize as u64)) >> - 45u32) as u32) - } - } - #[inline] - pub fn set_mNeedsPrefUpdate(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(35184372088832usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 45u32) & (35184372088832usize as u64); - } - #[inline] - pub fn mHadNonBlankPaint(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (70368744177664usize as u64)) >> - 46u32) as u32) - } - } - #[inline] - pub fn set_mHadNonBlankPaint(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(70368744177664usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 46u32) & (70368744177664usize as u64); - } + assert_eq!(::std::mem::size_of::<nsPresContext>() , 1296usize , concat + ! ( "Size of: " , stringify ! ( nsPresContext ) )); + assert_eq! (::std::mem::align_of::<nsPresContext>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mRefCnt as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . _mOwningThread as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mType as * const + _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mShell as * const + _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mShell ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mDocument as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mDeviceContext as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mDeviceContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mEventManager as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mEventManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mRefreshDriver as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRefreshDriver ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mEffectCompositor + as * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mEffectCompositor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mTransitionManager as * const _ as usize } , 88usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTransitionManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mAnimationManager + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mAnimationManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mRestyleManager + as * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRestyleManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mCounterStyleManager as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mCounterStyleManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mMedium as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mMedium ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mMediaEmulated as + * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mMediaEmulated ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLinkHandler as * + const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLinkHandler ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLanguage as * + const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLanguage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInflationDisabledForShrinkWrap as * const _ as usize } , + 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInflationDisabledForShrinkWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mContainer as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mContainer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBaseMinFontSize + as * const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBaseMinFontSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mTextZoom as * + const _ as usize } , 172usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTextZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFullZoom as * + const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFullZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mOverrideDPPX as + * const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mOverrideDPPX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mLastFontInflationScreenSize as * const _ as usize } , + 184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLastFontInflationScreenSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mCurAppUnitsPerDevPixel as * const _ as usize } , 200usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mCurAppUnitsPerDevPixel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mAutoQualityMinFontSizePixelsPref as * const _ as usize } + , 204usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mAutoQualityMinFontSizePixelsPref ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mTheme as * const + _ as usize } , 208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTheme ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLangService as * + const _ as usize } , 216usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLangService ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPrintSettings as + * const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPrintSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPrefChangedTimer + as * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPrefChangedTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPropertyTable as + * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPropertyTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInvalidateRequestsSinceLastPaint as * const _ as usize } + , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInvalidateRequestsSinceLastPaint ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mUndeliveredInvalidateRequestsBeforeLastPaint as * const _ + as usize } , 312usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( + mUndeliveredInvalidateRequestsBeforeLastPaint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mTextPerf as * + const _ as usize } , 320usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTextPerf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mMissingFonts as + * const _ as usize } , 328usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mMissingFonts ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mVisibleArea as * + const _ as usize } , 336usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mVisibleArea ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPageSize as * + const _ as usize } , 352usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPageSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPageScale as * + const _ as usize } , 360usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPageScale ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPPScale as * + const _ as usize } , 364usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPPScale ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mDefaultColor as + * const _ as usize } , 368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mDefaultColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBackgroundColor + as * const _ as usize } , 372usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBackgroundColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLinkColor as * + const _ as usize } , 376usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLinkColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mActiveLinkColor + as * const _ as usize } , 380usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mActiveLinkColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mVisitedLinkColor + as * const _ as usize } , 384usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mVisitedLinkColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFocusBackgroundColor as * const _ as usize } , 388usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFocusBackgroundColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFocusTextColor + as * const _ as usize } , 392usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFocusTextColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBodyTextColor as + * const _ as usize } , 396usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBodyTextColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mViewportStyleScrollbar as * const _ as usize } , 400usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mViewportStyleScrollbar ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFocusRingWidth + as * const _ as usize } , 464usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFocusRingWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mExistThrottledUpdates as * const _ as usize } , 465usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mExistThrottledUpdates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mImageAnimationMode as * const _ as usize } , 466usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mImageAnimationMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mImageAnimationModePref as * const _ as usize } , 468usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mImageAnimationModePref ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mLangGroupFontPrefs as * const _ as usize } , 472usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLangGroupFontPrefs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBorderWidthTable + as * const _ as usize } , 1168usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBorderWidthTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInterruptChecksToSkip as * const _ as usize } , 1180usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInterruptChecksToSkip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mElementsRestyled + as * const _ as usize } , 1184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mElementsRestyled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFramesConstructed as * const _ as usize } , 1192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFramesConstructed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFramesReflowed + as * const _ as usize } , 1200usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFramesReflowed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mReflowStartTime + as * const _ as usize } , 1208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mReflowStartTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstPaintTime + as * const _ as usize } , 1216usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstPaintTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstClickTime + as * const _ as usize } , 1224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstClickTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstKeyTime as + * const _ as usize } , 1232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstKeyTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFirstMouseMoveTime as * const _ as usize } , 1240usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstMouseMoveTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstScrollTime + as * const _ as usize } , 1248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstScrollTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInteractionTimeEnabled as * const _ as usize } , + 1256usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInteractionTimeEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mLastStyleUpdateForAllAnimations as * const _ as usize } , + 1264usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLastStyleUpdateForAllAnimations ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mRestyleLoggingEnabled as * const _ as usize } , 1278usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRestyleLoggingEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mInitialized as * + const _ as usize } , 1279usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInitialized ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLayoutPhaseCount + as * const _ as usize } , 1280usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLayoutPhaseCount ) )); } #[repr(C)] #[derive(Debug)] @@ -10205,8 +12553,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPIDOMWindowOuter() { - assert_eq!(::std::mem::size_of::<nsPIDOMWindowOuter>() , 232usize); - assert_eq!(::std::mem::align_of::<nsPIDOMWindowOuter>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPIDOMWindowOuter>() , 232usize , + concat ! ( "Size of: " , stringify ! ( nsPIDOMWindowOuter ) + )); + assert_eq! (::std::mem::align_of::<nsPIDOMWindowOuter>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPIDOMWindowOuter ) )); } pub type PLDHashNumber = u32; #[repr(C)] @@ -10228,10 +12580,25 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashTable_EntryStore() { - assert_eq!(::std::mem::size_of::<PLDHashTable_EntryStore>() , - 16usize); - assert_eq!(::std::mem::align_of::<PLDHashTable_EntryStore>() , - 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTable_EntryStore>() , 16usize + , concat ! ( + "Size of: " , stringify ! ( PLDHashTable_EntryStore ) )); + assert_eq! (::std::mem::align_of::<PLDHashTable_EntryStore>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( PLDHashTable_EntryStore ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_EntryStore ) ) . + mEntryStore as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_EntryStore ) , "::" , stringify ! ( + mEntryStore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_EntryStore ) ) . + mGeneration as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_EntryStore ) , "::" , stringify ! ( + mGeneration ) )); } #[repr(C)] #[derive(Debug)] @@ -10246,8 +12613,56 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashTable_Iterator() { - assert_eq!(::std::mem::size_of::<PLDHashTable_Iterator>() , 48usize); - assert_eq!(::std::mem::align_of::<PLDHashTable_Iterator>() , 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTable_Iterator>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( PLDHashTable_Iterator ) )); + assert_eq! (::std::mem::align_of::<PLDHashTable_Iterator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PLDHashTable_Iterator ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mTable as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mStart as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mStart ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mLimit as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mLimit ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mCurrent + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mCurrent ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mNexts as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mNexts ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . + mNextsLimit as * const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mNextsLimit + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . + mHaveRemoved as * const _ as usize } , 40usize , concat ! + ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( + mHaveRemoved ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -10261,8 +12676,45 @@ pub mod root { pub const PLDHashTable_kCollisionFlag: root::PLDHashNumber = 1; #[test] fn bindgen_test_layout_PLDHashTable() { - assert_eq!(::std::mem::size_of::<PLDHashTable>() , 48usize); - assert_eq!(::std::mem::align_of::<PLDHashTable>() , 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTable>() , 48usize , concat ! + ( "Size of: " , stringify ! ( PLDHashTable ) )); + assert_eq! (::std::mem::align_of::<PLDHashTable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLDHashTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mOps as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mHashShift as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mHashShift ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mEntrySize as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mEntrySize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mEntryCount as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mEntryCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mRemovedCount as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mRemovedCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mEntryStore as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mEntryStore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mChecker as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mChecker ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -10275,8 +12727,36 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashTableOps() { - assert_eq!(::std::mem::size_of::<PLDHashTableOps>() , 40usize); - assert_eq!(::std::mem::align_of::<PLDHashTableOps>() , 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTableOps>() , 40usize , concat + ! ( "Size of: " , stringify ! ( PLDHashTableOps ) )); + assert_eq! (::std::mem::align_of::<PLDHashTableOps>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PLDHashTableOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . hashKey as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( hashKey ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . matchEntry as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( matchEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . moveEntry as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( moveEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . clearEntry as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( clearEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . initEntry as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( initEntry ) )); } impl Clone for PLDHashTableOps { fn clone(&self) -> Self { *self } @@ -10288,8 +12768,16 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashEntryHdr() { - assert_eq!(::std::mem::size_of::<PLDHashEntryHdr>() , 4usize); - assert_eq!(::std::mem::align_of::<PLDHashEntryHdr>() , 4usize); + assert_eq!(::std::mem::size_of::<PLDHashEntryHdr>() , 4usize , concat + ! ( "Size of: " , stringify ! ( PLDHashEntryHdr ) )); + assert_eq! (::std::mem::align_of::<PLDHashEntryHdr>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( PLDHashEntryHdr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashEntryHdr ) ) . mKeyHash as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashEntryHdr ) , + "::" , stringify ! ( mKeyHash ) )); } impl Clone for PLDHashEntryHdr { fn clone(&self) -> Self { *self } @@ -10306,8 +12794,20 @@ pub mod root { pub const Checker_kWrite: u32 = 10000; #[test] fn bindgen_test_layout_Checker() { - assert_eq!(::std::mem::size_of::<Checker>() , 8usize); - assert_eq!(::std::mem::align_of::<Checker>() , 4usize); + assert_eq!(::std::mem::size_of::<Checker>() , 8usize , concat ! ( + "Size of: " , stringify ! ( Checker ) )); + assert_eq! (::std::mem::align_of::<Checker>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( Checker ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Checker ) ) . mState as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Checker ) , "::" , + stringify ! ( mState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Checker ) ) . mIsWritable as * const + _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( Checker ) , "::" , + stringify ! ( mIsWritable ) )); } impl Clone for Checker { fn clone(&self) -> Self { *self } @@ -10444,8 +12944,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIContent() { - assert_eq!(::std::mem::size_of::<nsIContent>() , 96usize); - assert_eq!(::std::mem::align_of::<nsIContent>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIContent>() , 96usize , concat ! ( + "Size of: " , stringify ! ( nsIContent ) )); + assert_eq! (::std::mem::align_of::<nsIContent>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIContent ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -10473,8 +12975,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIWeakReference() { - assert_eq!(::std::mem::size_of::<nsIWeakReference>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIWeakReference>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIWeakReference>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIWeakReference ) )); + assert_eq! (::std::mem::align_of::<nsIWeakReference>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIWeakReference ) )); } impl Clone for nsIWeakReference { fn clone(&self) -> Self { *self } @@ -10492,8 +12997,25 @@ pub mod root { } #[test] fn bindgen_test_layout_PRCallOnceType() { - assert_eq!(::std::mem::size_of::<PRCallOnceType>() , 12usize); - assert_eq!(::std::mem::align_of::<PRCallOnceType>() , 4usize); + assert_eq!(::std::mem::size_of::<PRCallOnceType>() , 12usize , concat + ! ( "Size of: " , stringify ! ( PRCallOnceType ) )); + assert_eq! (::std::mem::align_of::<PRCallOnceType>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( PRCallOnceType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCallOnceType ) ) . initialized as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCallOnceType ) , + "::" , stringify ! ( initialized ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCallOnceType ) ) . inProgress as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCallOnceType ) , + "::" , stringify ! ( inProgress ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCallOnceType ) ) . status as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCallOnceType ) , + "::" , stringify ! ( status ) )); } impl Clone for PRCallOnceType { fn clone(&self) -> Self { *self } @@ -10563,8 +13085,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIChannel() { - assert_eq!(::std::mem::size_of::<nsIChannel>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIChannel>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIChannel>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIChannel ) )); + assert_eq! (::std::mem::align_of::<nsIChannel>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIChannel ) )); } impl Clone for nsIChannel { fn clone(&self) -> Self { *self } @@ -10583,8 +13107,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILoadContext() { - assert_eq!(::std::mem::size_of::<nsILoadContext>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILoadContext>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILoadContext>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsILoadContext ) )); + assert_eq! (::std::mem::align_of::<nsILoadContext>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsILoadContext ) )); } impl Clone for nsILoadContext { fn clone(&self) -> Self { *self } @@ -10603,8 +13129,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIInterfaceRequestor() { - assert_eq!(::std::mem::size_of::<nsIInterfaceRequestor>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIInterfaceRequestor>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIInterfaceRequestor>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIInterfaceRequestor ) )); + assert_eq! (::std::mem::align_of::<nsIInterfaceRequestor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIInterfaceRequestor ) + )); } impl Clone for nsIInterfaceRequestor { fn clone(&self) -> Self { *self } @@ -10623,8 +13154,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILoadGroup() { - assert_eq!(::std::mem::size_of::<nsILoadGroup>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILoadGroup>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILoadGroup>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsILoadGroup ) )); + assert_eq! (::std::mem::align_of::<nsILoadGroup>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsILoadGroup ) )); } impl Clone for nsILoadGroup { fn clone(&self) -> Self { *self } @@ -10690,8 +13223,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIRequest() { - assert_eq!(::std::mem::size_of::<nsIRequest>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIRequest>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIRequest>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIRequest ) )); + assert_eq! (::std::mem::align_of::<nsIRequest>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIRequest ) )); } impl Clone for nsIRequest { fn clone(&self) -> Self { *self } @@ -10726,6 +13261,7 @@ pub mod root { root::mozilla::dom::OwningNodeOrString; pub type nsINode_TextOrElementOrDocument = root::mozilla::dom::TextOrElementOrDocument; + pub use self::super::root::mozilla::dom::CallerType as nsINode_CallerType; pub type nsINode_ErrorResult = root::mozilla::ErrorResult; #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -10807,8 +13343,33 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINode_nsSlots() { - assert_eq!(::std::mem::size_of::<nsINode_nsSlots>() , 48usize); - assert_eq!(::std::mem::align_of::<nsINode_nsSlots>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINode_nsSlots>() , 48usize , concat + ! ( "Size of: " , stringify ! ( nsINode_nsSlots ) )); + assert_eq! (::std::mem::align_of::<nsINode_nsSlots>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsINode_nsSlots ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . + mMutationObservers as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mMutationObservers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . mChildNodes as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mChildNodes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . mWeakReference + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mWeakReference ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . + mEditableDescendantCount as * const _ as usize } , 40usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mEditableDescendantCount ) )); } #[repr(u32)] /** @@ -10859,16 +13420,71 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINode__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_1>() , 8usize); - assert_eq!(::std::mem::align_of::<nsINode__bindgen_ty_1>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_1>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsINode__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsINode__bindgen_ty_1>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsINode__bindgen_ty_1 ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode__bindgen_ty_1 ) ) . + mPrimaryFrame as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsINode__bindgen_ty_1 ) , "::" , stringify ! ( + mPrimaryFrame ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode__bindgen_ty_1 ) ) . + mSubtreeRoot as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsINode__bindgen_ty_1 ) , "::" , stringify ! ( + mSubtreeRoot ) )); } impl Clone for nsINode__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsINode() { - assert_eq!(::std::mem::size_of::<nsINode>() , 96usize); - assert_eq!(::std::mem::align_of::<nsINode>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINode>() , 96usize , concat ! ( + "Size of: " , stringify ! ( nsINode ) )); + assert_eq! (::std::mem::align_of::<nsINode>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsINode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mNodeInfo as * const _ + as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mParent as * const _ as + usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mParent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mBoolFlags as * const _ + as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mBoolFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mNextSibling as * const + _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mNextSibling ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mPreviousSibling as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mPreviousSibling ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mFirstChild as * const + _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mFirstChild ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mSlots as * const _ as + usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mSlots ) )); } pub type nsSecurityFlags = u32; #[repr(C)] @@ -10969,8 +13585,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILoadInfo() { - assert_eq!(::std::mem::size_of::<nsILoadInfo>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILoadInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILoadInfo>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsILoadInfo ) )); + assert_eq! (::std::mem::align_of::<nsILoadInfo>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsILoadInfo ) )); } impl Clone for nsILoadInfo { fn clone(&self) -> Self { *self } @@ -10992,8 +13610,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIStreamListener() { - assert_eq!(::std::mem::size_of::<nsIStreamListener>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIStreamListener>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIStreamListener>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIStreamListener ) + )); + assert_eq! (::std::mem::align_of::<nsIStreamListener>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIStreamListener ) )); } impl Clone for nsIStreamListener { fn clone(&self) -> Self { *self } @@ -11026,17 +13648,46 @@ pub mod root { #[test] fn bindgen_test_layout_nsCOMArray_base_nsCOMArrayComparatorContext() { assert_eq!(::std::mem::size_of::<nsCOMArray_base_nsCOMArrayComparatorContext>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsCOMArray_base_nsCOMArrayComparatorContext>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) )); + assert_eq! (::std::mem::align_of::<nsCOMArray_base_nsCOMArrayComparatorContext>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCOMArray_base_nsCOMArrayComparatorContext ) + ) . mComparatorFunc as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) , "::" , + stringify ! ( mComparatorFunc ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCOMArray_base_nsCOMArrayComparatorContext ) + ) . mData as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) , "::" , + stringify ! ( mData ) )); } impl Clone for nsCOMArray_base_nsCOMArrayComparatorContext { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCOMArray_base() { - assert_eq!(::std::mem::size_of::<nsCOMArray_base>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCOMArray_base>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCOMArray_base>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsCOMArray_base ) )); + assert_eq! (::std::mem::align_of::<nsCOMArray_base>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCOMArray_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCOMArray_base ) ) . mArray as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCOMArray_base ) , + "::" , stringify ! ( mArray ) )); } #[repr(C)] #[derive(Debug)] @@ -11082,9 +13733,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaList_cycleCollection() { assert_eq!(::std::mem::size_of::<nsMediaList_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsMediaList_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsMediaList_cycleCollection ) + )); + assert_eq! (::std::mem::align_of::<nsMediaList_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaList_cycleCollection ) )); } impl Clone for nsMediaList_cycleCollection { fn clone(&self) -> Self { *self } @@ -11096,8 +13751,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMediaList() { - assert_eq!(::std::mem::size_of::<nsMediaList>() , 64usize); - assert_eq!(::std::mem::align_of::<nsMediaList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaList>() , 64usize , concat ! ( + "Size of: " , stringify ! ( nsMediaList ) )); + assert_eq! (::std::mem::align_of::<nsMediaList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsMediaList ) )); } #[repr(C)] #[derive(Debug)] @@ -11160,8 +13817,23 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrValue_EnumTable() { - assert_eq!(::std::mem::size_of::<nsAttrValue_EnumTable>() , 16usize); - assert_eq!(::std::mem::align_of::<nsAttrValue_EnumTable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrValue_EnumTable>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsAttrValue_EnumTable ) )); + assert_eq! (::std::mem::align_of::<nsAttrValue_EnumTable>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAttrValue_EnumTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . tag as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrValue_EnumTable ) , "::" , stringify ! ( tag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . value as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrValue_EnumTable ) , "::" , stringify ! ( value ) )); } impl Clone for nsAttrValue_EnumTable { fn clone(&self) -> Self { *self } @@ -11181,8 +13853,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrValue() { - assert_eq!(::std::mem::size_of::<nsAttrValue>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAttrValue>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrValue>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsAttrValue ) )); + assert_eq! (::std::mem::align_of::<nsAttrValue>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsAttrValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrValue ) ) . mBits as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAttrValue ) , + "::" , stringify ! ( mBits ) )); } /** * Information details about a characterdata change. Basically, we @@ -11248,19 +13927,69 @@ pub mod root { #[test] fn bindgen_test_layout_CharacterDataChangeInfo_Details() { assert_eq!(::std::mem::size_of::<CharacterDataChangeInfo_Details>() , - 16usize); - assert_eq!(::std::mem::align_of::<CharacterDataChangeInfo_Details>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( CharacterDataChangeInfo_Details + ) )); + assert_eq! (::std::mem::align_of::<CharacterDataChangeInfo_Details>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CharacterDataChangeInfo_Details ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo_Details ) ) . + mType as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo_Details ) , "::" , stringify ! ( + mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo_Details ) ) . + mNextSibling as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo_Details ) , "::" , stringify ! ( + mNextSibling ) )); } impl Clone for CharacterDataChangeInfo_Details { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_CharacterDataChangeInfo() { - assert_eq!(::std::mem::size_of::<CharacterDataChangeInfo>() , - 24usize); - assert_eq!(::std::mem::align_of::<CharacterDataChangeInfo>() , - 8usize); + assert_eq!(::std::mem::size_of::<CharacterDataChangeInfo>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( CharacterDataChangeInfo ) )); + assert_eq! (::std::mem::align_of::<CharacterDataChangeInfo>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( CharacterDataChangeInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . mAppend + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( mAppend ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mChangeStart as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( + mChangeStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mChangeEnd as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( + mChangeEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mReplaceLength as * const _ as usize } , 12usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( + mReplaceLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mDetails as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( mDetails + ) )); } impl Clone for CharacterDataChangeInfo { fn clone(&self) -> Self { *self } @@ -11293,8 +14022,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIMutationObserver() { - assert_eq!(::std::mem::size_of::<nsIMutationObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIMutationObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIMutationObserver>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIMutationObserver ) )); + assert_eq! (::std::mem::align_of::<nsIMutationObserver>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIMutationObserver ) )); } impl Clone for nsIMutationObserver { fn clone(&self) -> Self { *self } @@ -11314,8 +14047,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDocumentObserver() { - assert_eq!(::std::mem::size_of::<nsIDocumentObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDocumentObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDocumentObserver>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDocumentObserver ) )); + assert_eq! (::std::mem::align_of::<nsIDocumentObserver>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDocumentObserver ) )); } impl Clone for nsIDocumentObserver { fn clone(&self) -> Self { *self } @@ -11334,8 +14071,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIRequestObserver() { - assert_eq!(::std::mem::size_of::<nsIRequestObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIRequestObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIRequestObserver>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIRequestObserver ) + )); + assert_eq! (::std::mem::align_of::<nsIRequestObserver>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIRequestObserver ) )); } impl Clone for nsIRequestObserver { fn clone(&self) -> Self { *self } @@ -11364,9 +14105,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsNodeInfoManager_cycleCollection() { assert_eq!(::std::mem::size_of::<nsNodeInfoManager_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsNodeInfoManager_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsNodeInfoManager_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<nsNodeInfoManager_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsNodeInfoManager_cycleCollection ) )); } impl Clone for nsNodeInfoManager_cycleCollection { fn clone(&self) -> Self { *self } @@ -11379,8 +14124,73 @@ pub mod root { } #[test] fn bindgen_test_layout_nsNodeInfoManager() { - assert_eq!(::std::mem::size_of::<nsNodeInfoManager>() , 88usize); - assert_eq!(::std::mem::align_of::<nsNodeInfoManager>() , 8usize); + assert_eq!(::std::mem::size_of::<nsNodeInfoManager>() , 88usize , + concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) + )); + assert_eq! (::std::mem::align_of::<nsNodeInfoManager>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsNodeInfoManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + _mOwningThread as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mNodeInfoHash + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mNodeInfoHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocument as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mNonDocumentNodeInfos as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mNonDocumentNodeInfos ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mPrincipal as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mDefaultPrincipal as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mDefaultPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mTextNodeInfo + as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mTextNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mCommentNodeInfo as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mCommentNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mDocumentNodeInfo as * const _ as usize } , 72usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mDocumentNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mBindingManager as * const _ as usize } , 80usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mBindingManager ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -11411,8 +14221,16 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPropertyOwner() { - assert_eq!(::std::mem::size_of::<nsPropertyOwner>() , 8usize); - assert_eq!(::std::mem::align_of::<nsPropertyOwner>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPropertyOwner>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsPropertyOwner ) )); + assert_eq! (::std::mem::align_of::<nsPropertyOwner>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPropertyOwner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPropertyOwner ) ) . mObject as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPropertyOwner ) , + "::" , stringify ! ( mObject ) )); } impl Clone for nsPropertyOwner { fn clone(&self) -> Self { *self } @@ -11427,8 +14245,16 @@ pub mod root { pub struct nsPropertyTable_PropertyList([u8; 0]); #[test] fn bindgen_test_layout_nsPropertyTable() { - assert_eq!(::std::mem::size_of::<nsPropertyTable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsPropertyTable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPropertyTable>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsPropertyTable ) )); + assert_eq! (::std::mem::align_of::<nsPropertyTable>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPropertyTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPropertyTable ) ) . mPropertyList + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPropertyTable ) , + "::" , stringify ! ( mPropertyList ) )); } #[repr(C)] #[derive(Debug)] @@ -11446,9 +14272,25 @@ pub mod root { #[test] fn bindgen_test_layout_nsAttrAndChildArray_InternalAttr() { assert_eq!(::std::mem::size_of::<nsAttrAndChildArray_InternalAttr>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsAttrAndChildArray_InternalAttr>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) )); + assert_eq! (::std::mem::align_of::<nsAttrAndChildArray_InternalAttr>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) + . mName as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( + mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) + . mValue as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( + mValue ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -11460,18 +14302,55 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrAndChildArray_Impl() { - assert_eq!(::std::mem::size_of::<nsAttrAndChildArray_Impl>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsAttrAndChildArray_Impl>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsAttrAndChildArray_Impl>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( nsAttrAndChildArray_Impl ) )); + assert_eq! (::std::mem::align_of::<nsAttrAndChildArray_Impl>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsAttrAndChildArray_Impl ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mAttrAndChildCount as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( + mAttrAndChildCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mBufferSize as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( + mBufferSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mMappedAttrs as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( + mMappedAttrs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mBuffer as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mBuffer + ) )); } impl Clone for nsAttrAndChildArray_Impl { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsAttrAndChildArray() { - assert_eq!(::std::mem::size_of::<nsAttrAndChildArray>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAttrAndChildArray>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrAndChildArray>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsAttrAndChildArray ) )); + assert_eq! (::std::mem::align_of::<nsAttrAndChildArray>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAttrAndChildArray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray ) ) . mImpl as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAttrAndChildArray + ) , "::" , stringify ! ( mImpl ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -11504,9 +14383,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsDOMAttributeMap_cycleCollection() { assert_eq!(::std::mem::size_of::<nsDOMAttributeMap_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsDOMAttributeMap_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsDOMAttributeMap_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<nsDOMAttributeMap_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsDOMAttributeMap_cycleCollection ) )); } impl Clone for nsDOMAttributeMap_cycleCollection { fn clone(&self) -> Self { *self } @@ -11519,8 +14402,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsDOMAttributeMap() { - assert_eq!(::std::mem::size_of::<nsDOMAttributeMap>() , 104usize); - assert_eq!(::std::mem::align_of::<nsDOMAttributeMap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsDOMAttributeMap>() , 104usize , + concat ! ( "Size of: " , stringify ! ( nsDOMAttributeMap ) + )); + assert_eq! (::std::mem::align_of::<nsDOMAttributeMap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsDOMAttributeMap ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -11546,8 +14433,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINodeList() { - assert_eq!(::std::mem::size_of::<nsINodeList>() , 32usize); - assert_eq!(::std::mem::align_of::<nsINodeList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINodeList>() , 32usize , concat ! ( + "Size of: " , stringify ! ( nsINodeList ) )); + assert_eq! (::std::mem::align_of::<nsINodeList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsINodeList ) )); } /** * Presentation shell interface. Presentation shells are the @@ -11585,7 +14474,8 @@ pub mod root { pub mResolution: [u64; 2usize], pub mSelectionFlags: i16, pub mRenderFlags: root::nsIPresShell_RenderFlags, - pub _bitfield_1: u16, + pub _bitfield_1: u8, + pub _bitfield_2: u8, pub mPresShellId: u32, pub mChangedScopeStyleRoots: [u64; 3usize], pub mFontSizeInflationEmPerLine: u32, @@ -11680,9 +14570,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPresShell_ScrollAxis() { - assert_eq!(::std::mem::size_of::<nsIPresShell_ScrollAxis>() , 4usize); - assert_eq!(::std::mem::align_of::<nsIPresShell_ScrollAxis>() , - 4usize); + assert_eq!(::std::mem::size_of::<nsIPresShell_ScrollAxis>() , 4usize , + concat ! ( + "Size of: " , stringify ! ( nsIPresShell_ScrollAxis ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell_ScrollAxis>() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( nsIPresShell_ScrollAxis ) + )); } impl Clone for nsIPresShell_ScrollAxis { fn clone(&self) -> Self { *self } @@ -11811,9 +14705,27 @@ pub mod root { #[test] fn bindgen_test_layout_nsIPresShell_PointerCaptureInfo() { assert_eq!(::std::mem::size_of::<nsIPresShell_PointerCaptureInfo>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsIPresShell_PointerCaptureInfo>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsIPresShell_PointerCaptureInfo + ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell_PointerCaptureInfo>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIPresShell_PointerCaptureInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerCaptureInfo ) ) . + mPendingContent as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerCaptureInfo ) , "::" , stringify ! ( + mPendingContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerCaptureInfo ) ) . + mOverrideContent as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerCaptureInfo ) , "::" , stringify ! ( + mOverrideContent ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -11825,10 +14737,39 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPresShell_PointerInfo() { - assert_eq!(::std::mem::size_of::<nsIPresShell_PointerInfo>() , - 6usize); - assert_eq!(::std::mem::align_of::<nsIPresShell_PointerInfo>() , - 2usize); + assert_eq!(::std::mem::size_of::<nsIPresShell_PointerInfo>() , 6usize + , concat ! ( + "Size of: " , stringify ! ( nsIPresShell_PointerInfo ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell_PointerInfo>() , + 2usize , concat ! ( + "Alignment of " , stringify ! ( nsIPresShell_PointerInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mPointerType as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mPointerType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mActiveState as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mActiveState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mPrimaryState as * const _ as usize } , 3usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mPrimaryState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mPreventMouseEventByContent as * const _ as usize } , + 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mPreventMouseEventByContent ) )); } impl Clone for nsIPresShell_PointerInfo { fn clone(&self) -> Self { *self } @@ -11863,180 +14804,188 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPresShell() { - assert_eq!(::std::mem::size_of::<nsIPresShell>() , 416usize); - assert_eq!(::std::mem::align_of::<nsIPresShell>() , 8usize); - } - impl nsIPresShell { - #[inline] - pub fn mStylesHaveChanged(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u16)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mStylesHaveChanged(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 0u32) & (1usize as u16); - } - #[inline] - pub fn mDidInitialize(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u16)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mDidInitialize(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 1u32) & (2usize as u16); - } - #[inline] - pub fn mIsDestroying(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u16)) >> - 2u32) as u8) - } - } - #[inline] - pub fn set_mIsDestroying(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 2u32) & (4usize as u16); - } - #[inline] - pub fn mIsReflowing(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u16)) >> - 3u32) as u8) - } - } - #[inline] - pub fn set_mIsReflowing(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 3u32) & (8usize as u16); - } - #[inline] - pub fn mPaintingSuppressed(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u16)) - >> 4u32) as u8) - } - } - #[inline] - pub fn set_mPaintingSuppressed(&mut self, val: bool) { - self._bitfield_1 &= !(16usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 4u32) & (16usize as u16); - } - #[inline] - pub fn mIsThemeSupportDisabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u16)) - >> 5u32) as u8) - } - } - #[inline] - pub fn set_mIsThemeSupportDisabled(&mut self, val: bool) { - self._bitfield_1 &= !(32usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 5u32) & (32usize as u16); - } - #[inline] - pub fn mIsActive(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (64usize as u16)) - >> 6u32) as u8) - } - } - #[inline] - pub fn set_mIsActive(&mut self, val: bool) { - self._bitfield_1 &= !(64usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 6u32) & (64usize as u16); - } - #[inline] - pub fn mFrozen(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (128usize as u16)) - >> 7u32) as u8) - } - } - #[inline] - pub fn set_mFrozen(&mut self, val: bool) { - self._bitfield_1 &= !(128usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 7u32) & (128usize as u16); - } - #[inline] - pub fn mIsFirstPaint(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (256usize as u16)) - >> 8u32) as u8) - } - } - #[inline] - pub fn set_mIsFirstPaint(&mut self, val: bool) { - self._bitfield_1 &= !(256usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 8u32) & (256usize as u16); - } - #[inline] - pub fn mObservesMutationsForPrint(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (512usize as u16)) - >> 9u32) as u8) - } - } - #[inline] - pub fn set_mObservesMutationsForPrint(&mut self, val: bool) { - self._bitfield_1 &= !(512usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 9u32) & (512usize as u16); - } - #[inline] - pub fn mReflowScheduled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1024usize as u16)) - >> 10u32) as u8) - } - } - #[inline] - pub fn set_mReflowScheduled(&mut self, val: bool) { - self._bitfield_1 &= !(1024usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 10u32) & (1024usize as u16); - } - #[inline] - pub fn mSuppressInterruptibleReflows(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2048usize as u16)) - >> 11u32) as u8) - } - } - #[inline] - pub fn set_mSuppressInterruptibleReflows(&mut self, val: bool) { - self._bitfield_1 &= !(2048usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 11u32) & (2048usize as u16); - } - #[inline] - pub fn mScrollPositionClampingScrollPortSizeSet(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4096usize as u16)) - >> 12u32) as u8) - } - } - #[inline] - pub fn set_mScrollPositionClampingScrollPortSizeSet(&mut self, - val: bool) { - self._bitfield_1 &= !(4096usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 12u32) & (4096usize as u16); - } + assert_eq!(::std::mem::size_of::<nsIPresShell>() , 416usize , concat ! + ( "Size of: " , stringify ! ( nsIPresShell ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIPresShell ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mDocument as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPresContext as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mStyleSet as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mStyleSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mFrameConstructor + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFrameConstructor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mViewManager as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mViewManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mFrameArena as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFrameArena ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mSelection as * + const _ as usize } , 200usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mSelection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mFrameManager as * + const _ as usize } , 208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFrameManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mForwardingContainer as * const _ as usize } , 216usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mForwardingContainer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mHiddenInvalidationObserverRefreshDriver as * const _ as + usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( + mHiddenInvalidationObserverRefreshDriver ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mDocAccessible as + * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mDocAccessible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mReflowContinueTimer as * const _ as usize } , 240usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mReflowContinueTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mDrawEventTargetFrame as * const _ as usize } , 248usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mDrawEventTargetFrame ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mAllocatedPointers + as * const _ as usize } , 256usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mAllocatedPointers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPaintCount as * + const _ as usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPaintCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mScrollPositionClampingScrollPortSize as * const _ as + usize } , 312usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mScrollPositionClampingScrollPortSize + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mWeakFrames as * + const _ as usize } , 320usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mWeakFrames ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mCanvasBackgroundColor as * const _ as usize } , 328usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mCanvasBackgroundColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mResolution as * + const _ as usize } , 336usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mSelectionFlags as + * const _ as usize } , 352usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mSelectionFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mRenderFlags as * + const _ as usize } , 354usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mRenderFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPresShellId as * + const _ as usize } , 360usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPresShellId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mChangedScopeStyleRoots as * const _ as usize } , 368usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mChangedScopeStyleRoots ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationEmPerLine as * const _ as usize } , + 392usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationEmPerLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationMinTwips as * const _ as usize } , + 396usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationMinTwips ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationLineThreshold as * const _ as usize } , + 400usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationLineThreshold ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationForceEnabled as * const _ as usize } , + 404usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationForceEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationDisabledInMasterProcess as * const _ as + usize } , 405usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( + mFontSizeInflationDisabledInMasterProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationEnabled as * const _ as usize } , + 406usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPaintingIsFrozen + as * const _ as usize } , 407usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPaintingIsFrozen ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationEnabledIsDirty as * const _ as usize } , + 408usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationEnabledIsDirty ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mIsNeverPainting + as * const _ as usize } , 409usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mIsNeverPainting ) )); } /** * A class that implements nsIWeakReference @@ -12053,69 +15002,89 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsNodeWeakReference() { - assert_eq!(::std::mem::size_of::<nsNodeWeakReference>() , 32usize); - assert_eq!(::std::mem::align_of::<nsNodeWeakReference>() , 8usize); + assert_eq!(::std::mem::size_of::<nsNodeWeakReference>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsNodeWeakReference ) )); + assert_eq! (::std::mem::align_of::<nsNodeWeakReference>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsNodeWeakReference ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeWeakReference ) ) . mRefCnt as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeWeakReference + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeWeakReference ) ) . + _mOwningThread as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsNodeWeakReference + ) , "::" , stringify ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeWeakReference ) ) . mNode as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeWeakReference + ) , "::" , stringify ! ( mNode ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct nsDOMMutationObserver([u8; 0]); - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_IS_EDITABLE; - pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_MAY_HAVE_CLASS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_SHARED_RESTYLE_BIT_2; - pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_137 = - _bindgen_ty_137::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_IS_EDITABLE; + pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_MAY_HAVE_CLASS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_SHARED_RESTYLE_BIT_2; + pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_110 = + _bindgen_ty_110::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_137 { + pub enum _bindgen_ty_110 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -12158,8 +15127,10 @@ pub mod root { pub type gfxSize_Super = [u64; 2usize]; #[test] fn bindgen_test_layout_gfxSize() { - assert_eq!(::std::mem::size_of::<gfxSize>() , 16usize); - assert_eq!(::std::mem::align_of::<gfxSize>() , 8usize); + assert_eq!(::std::mem::size_of::<gfxSize>() , 16usize , concat ! ( + "Size of: " , stringify ! ( gfxSize ) )); + assert_eq! (::std::mem::align_of::<gfxSize>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( gfxSize ) )); } impl Clone for gfxSize { fn clone(&self) -> Self { *self } @@ -12174,8 +15145,23 @@ pub mod root { } #[test] fn bindgen_test_layout_pixman_region32_data() { - assert_eq!(::std::mem::size_of::<pixman_region32_data>() , 16usize); - assert_eq!(::std::mem::align_of::<pixman_region32_data>() , 8usize); + assert_eq!(::std::mem::size_of::<pixman_region32_data>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( pixman_region32_data ) )); + assert_eq! (::std::mem::align_of::<pixman_region32_data>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( pixman_region32_data ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32_data ) ) . size as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + pixman_region32_data ) , "::" , stringify ! ( size ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32_data ) ) . numRects + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + pixman_region32_data ) , "::" , stringify ! ( numRects ) + )); } impl Clone for pixman_region32_data { fn clone(&self) -> Self { *self } @@ -12191,8 +15177,30 @@ pub mod root { } #[test] fn bindgen_test_layout_pixman_box32() { - assert_eq!(::std::mem::size_of::<pixman_box32>() , 16usize); - assert_eq!(::std::mem::align_of::<pixman_box32>() , 4usize); + assert_eq!(::std::mem::size_of::<pixman_box32>() , 16usize , concat ! + ( "Size of: " , stringify ! ( pixman_box32 ) )); + assert_eq! (::std::mem::align_of::<pixman_box32>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( pixman_box32 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . x1 as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( x1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . y1 as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( y1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . x2 as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( x2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . y2 as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( y2 ) )); } impl Clone for pixman_box32 { fn clone(&self) -> Self { *self } @@ -12206,8 +15214,21 @@ pub mod root { } #[test] fn bindgen_test_layout_pixman_region32() { - assert_eq!(::std::mem::size_of::<pixman_region32>() , 24usize); - assert_eq!(::std::mem::align_of::<pixman_region32>() , 8usize); + assert_eq!(::std::mem::size_of::<pixman_region32>() , 24usize , concat + ! ( "Size of: " , stringify ! ( pixman_region32 ) )); + assert_eq! (::std::mem::align_of::<pixman_region32>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( pixman_region32 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32 ) ) . extents as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_region32 ) , + "::" , stringify ! ( extents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32 ) ) . data as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_region32 ) , + "::" , stringify ! ( data ) )); } impl Clone for pixman_region32 { fn clone(&self) -> Self { *self } @@ -12258,8 +15279,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsITimer() { - assert_eq!(::std::mem::size_of::<nsITimer>() , 8usize); - assert_eq!(::std::mem::align_of::<nsITimer>() , 8usize); + assert_eq!(::std::mem::size_of::<nsITimer>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsITimer ) )); + assert_eq! (::std::mem::align_of::<nsITimer>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsITimer ) )); } impl Clone for nsITimer { fn clone(&self) -> Self { *self } @@ -12304,8 +15327,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsITimerCallback() { - assert_eq!(::std::mem::size_of::<nsITimerCallback>() , 8usize); - assert_eq!(::std::mem::align_of::<nsITimerCallback>() , 8usize); + assert_eq!(::std::mem::size_of::<nsITimerCallback>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsITimerCallback ) )); + assert_eq! (::std::mem::align_of::<nsITimerCallback>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsITimerCallback ) )); } impl Clone for nsITimerCallback { fn clone(&self) -> Self { *self } @@ -12319,6 +15345,7 @@ pub mod root { #[derive(Debug, Copy)] pub struct nsExpirationState { pub _bitfield_1: u32, + pub __bindgen_align: [u32; 0usize], } pub const nsExpirationState_NOT_TRACKED: root::nsExpirationState__bindgen_ty_1 = @@ -12334,41 +15361,16 @@ pub mod root { } #[test] fn bindgen_test_layout_nsExpirationState() { - assert_eq!(::std::mem::size_of::<nsExpirationState>() , 4usize); - assert_eq!(::std::mem::align_of::<nsExpirationState>() , 4usize); + assert_eq!(::std::mem::size_of::<nsExpirationState>() , 4usize , + concat ! ( "Size of: " , stringify ! ( nsExpirationState ) + )); + assert_eq! (::std::mem::align_of::<nsExpirationState>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsExpirationState ) )); } impl Clone for nsExpirationState { fn clone(&self) -> Self { *self } } - impl nsExpirationState { - #[inline] - pub fn mGeneration(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (15usize as u32)) - >> 0u32) as u32) - } - } - #[inline] - pub fn set_mGeneration(&mut self, val: u32) { - self._bitfield_1 &= !(15usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 0u32) & (15usize as u32); - } - #[inline] - pub fn mIndexInGeneration(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4294967280usize as u32)) >> 4u32) - as u32) - } - } - #[inline] - pub fn set_mIndexInGeneration(&mut self, val: u32) { - self._bitfield_1 &= !(4294967280usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 4u32) & (4294967280usize as u32); - } - } #[repr(C)] #[derive(Debug, Copy)] pub struct PRCListStr { @@ -12377,8 +15379,20 @@ pub mod root { } #[test] fn bindgen_test_layout_PRCListStr() { - assert_eq!(::std::mem::size_of::<PRCListStr>() , 16usize); - assert_eq!(::std::mem::align_of::<PRCListStr>() , 8usize); + assert_eq!(::std::mem::size_of::<PRCListStr>() , 16usize , concat ! ( + "Size of: " , stringify ! ( PRCListStr ) )); + assert_eq! (::std::mem::align_of::<PRCListStr>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( PRCListStr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCListStr ) ) . next as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCListStr ) , "::" + , stringify ! ( next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCListStr ) ) . prev as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCListStr ) , "::" + , stringify ! ( prev ) )); } impl Clone for PRCListStr { fn clone(&self) -> Self { *self } @@ -12449,8 +15463,10 @@ pub mod root { } #[test] fn bindgen_test_layout_imgIRequest() { - assert_eq!(::std::mem::size_of::<imgIRequest>() , 8usize); - assert_eq!(::std::mem::align_of::<imgIRequest>() , 8usize); + assert_eq!(::std::mem::size_of::<imgIRequest>() , 8usize , concat ! ( + "Size of: " , stringify ! ( imgIRequest ) )); + assert_eq! (::std::mem::align_of::<imgIRequest>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( imgIRequest ) )); } impl Clone for imgIRequest { fn clone(&self) -> Self { *self } @@ -12499,8 +15515,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIHTMLCollection() { - assert_eq!(::std::mem::size_of::<nsIHTMLCollection>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIHTMLCollection>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIHTMLCollection>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIHTMLCollection ) + )); + assert_eq! (::std::mem::align_of::<nsIHTMLCollection>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIHTMLCollection ) )); } impl Clone for nsIHTMLCollection { fn clone(&self) -> Self { *self } @@ -13121,718 +16141,715 @@ pub mod root { eCSSKeyword__moz_inline_box = 44, eCSSKeyword__moz_inline_grid = 45, eCSSKeyword__moz_inline_stack = 46, - eCSSKeyword__moz_isolate = 47, - eCSSKeyword__moz_isolate_override = 48, - eCSSKeyword__moz_left = 49, - eCSSKeyword__moz_list = 50, - eCSSKeyword__moz_mac_buttonactivetext = 51, - eCSSKeyword__moz_mac_chrome_active = 52, - eCSSKeyword__moz_mac_chrome_inactive = 53, - eCSSKeyword__moz_mac_defaultbuttontext = 54, - eCSSKeyword__moz_mac_focusring = 55, - eCSSKeyword__moz_mac_fullscreen_button = 56, - eCSSKeyword__moz_mac_menuselect = 57, - eCSSKeyword__moz_mac_menushadow = 58, - eCSSKeyword__moz_mac_menutextdisable = 59, - eCSSKeyword__moz_mac_menutextselect = 60, - eCSSKeyword__moz_mac_disabledtoolbartext = 61, - eCSSKeyword__moz_mac_secondaryhighlight = 62, - eCSSKeyword__moz_max_content = 63, - eCSSKeyword__moz_menuhover = 64, - eCSSKeyword__moz_menuhovertext = 65, - eCSSKeyword__moz_menubartext = 66, - eCSSKeyword__moz_menubarhovertext = 67, - eCSSKeyword__moz_middle_with_baseline = 68, - eCSSKeyword__moz_min_content = 69, - eCSSKeyword__moz_nativehyperlinktext = 70, - eCSSKeyword__moz_none = 71, - eCSSKeyword__moz_oddtreerow = 72, - eCSSKeyword__moz_plaintext = 73, - eCSSKeyword__moz_popup = 74, - eCSSKeyword__moz_pre_space = 75, - eCSSKeyword__moz_pull_down_menu = 76, - eCSSKeyword__moz_right = 77, - eCSSKeyword__moz_scrollbars_horizontal = 78, - eCSSKeyword__moz_scrollbars_none = 79, - eCSSKeyword__moz_scrollbars_vertical = 80, - eCSSKeyword__moz_stack = 81, - eCSSKeyword__moz_text = 82, - eCSSKeyword__moz_use_system_font = 83, - eCSSKeyword__moz_visitedhyperlinktext = 84, - eCSSKeyword__moz_window = 85, - eCSSKeyword__moz_workspace = 86, - eCSSKeyword__moz_zoom_in = 87, - eCSSKeyword__moz_zoom_out = 88, - eCSSKeyword__webkit_box = 89, - eCSSKeyword__webkit_flex = 90, - eCSSKeyword__webkit_inline_box = 91, - eCSSKeyword__webkit_inline_flex = 92, - eCSSKeyword_absolute = 93, - eCSSKeyword_active = 94, - eCSSKeyword_activeborder = 95, - eCSSKeyword_activecaption = 96, - eCSSKeyword_add = 97, - eCSSKeyword_additive = 98, - eCSSKeyword_alias = 99, - eCSSKeyword_all = 100, - eCSSKeyword_all_petite_caps = 101, - eCSSKeyword_all_scroll = 102, - eCSSKeyword_all_small_caps = 103, - eCSSKeyword_alpha = 104, - eCSSKeyword_alternate = 105, - eCSSKeyword_alternate_reverse = 106, - eCSSKeyword_always = 107, - eCSSKeyword_annotation = 108, - eCSSKeyword_appworkspace = 109, - eCSSKeyword_auto = 110, - eCSSKeyword_auto_fill = 111, - eCSSKeyword_auto_fit = 112, - eCSSKeyword_auto_flow = 113, - eCSSKeyword_avoid = 114, - eCSSKeyword_background = 115, - eCSSKeyword_backwards = 116, - eCSSKeyword_balance = 117, - eCSSKeyword_baseline = 118, - eCSSKeyword_bidi_override = 119, - eCSSKeyword_blink = 120, - eCSSKeyword_block = 121, - eCSSKeyword_block_axis = 122, - eCSSKeyword_blur = 123, - eCSSKeyword_bold = 124, - eCSSKeyword_bold_fraktur = 125, - eCSSKeyword_bold_italic = 126, - eCSSKeyword_bold_sans_serif = 127, - eCSSKeyword_bold_script = 128, - eCSSKeyword_bolder = 129, - eCSSKeyword_border_box = 130, - eCSSKeyword_both = 131, - eCSSKeyword_bottom = 132, - eCSSKeyword_bottom_outside = 133, - eCSSKeyword_break_all = 134, - eCSSKeyword_break_word = 135, - eCSSKeyword_brightness = 136, - eCSSKeyword_browser = 137, - eCSSKeyword_bullets = 138, - eCSSKeyword_button = 139, - eCSSKeyword_buttonface = 140, - eCSSKeyword_buttonhighlight = 141, - eCSSKeyword_buttonshadow = 142, - eCSSKeyword_buttontext = 143, - eCSSKeyword_capitalize = 144, - eCSSKeyword_caption = 145, - eCSSKeyword_captiontext = 146, - eCSSKeyword_cell = 147, - eCSSKeyword_center = 148, - eCSSKeyword_ch = 149, - eCSSKeyword_character_variant = 150, - eCSSKeyword_circle = 151, - eCSSKeyword_cjk_decimal = 152, - eCSSKeyword_clip = 153, - eCSSKeyword_clone = 154, - eCSSKeyword_close_quote = 155, - eCSSKeyword_closest_corner = 156, - eCSSKeyword_closest_side = 157, - eCSSKeyword_cm = 158, - eCSSKeyword_col_resize = 159, - eCSSKeyword_collapse = 160, - eCSSKeyword_color = 161, - eCSSKeyword_color_burn = 162, - eCSSKeyword_color_dodge = 163, - eCSSKeyword_common_ligatures = 164, - eCSSKeyword_column = 165, - eCSSKeyword_column_reverse = 166, - eCSSKeyword_condensed = 167, - eCSSKeyword_contain = 168, - eCSSKeyword_content_box = 169, - eCSSKeyword_contents = 170, - eCSSKeyword_context_fill = 171, - eCSSKeyword_context_fill_opacity = 172, - eCSSKeyword_context_menu = 173, - eCSSKeyword_context_stroke = 174, - eCSSKeyword_context_stroke_opacity = 175, - eCSSKeyword_context_value = 176, - eCSSKeyword_continuous = 177, - eCSSKeyword_contrast = 178, - eCSSKeyword_copy = 179, - eCSSKeyword_contextual = 180, - eCSSKeyword_cover = 181, - eCSSKeyword_crop = 182, - eCSSKeyword_cross = 183, - eCSSKeyword_crosshair = 184, - eCSSKeyword_currentcolor = 185, - eCSSKeyword_cursive = 186, - eCSSKeyword_cyclic = 187, - eCSSKeyword_darken = 188, - eCSSKeyword_dashed = 189, - eCSSKeyword_dense = 190, - eCSSKeyword_decimal = 191, - eCSSKeyword_default = 192, - eCSSKeyword_deg = 193, - eCSSKeyword_diagonal_fractions = 194, - eCSSKeyword_dialog = 195, - eCSSKeyword_difference = 196, - eCSSKeyword_digits = 197, - eCSSKeyword_disabled = 198, - eCSSKeyword_disc = 199, - eCSSKeyword_disclosure_closed = 200, - eCSSKeyword_disclosure_open = 201, - eCSSKeyword_discretionary_ligatures = 202, - eCSSKeyword_dot = 203, - eCSSKeyword_dotted = 204, - eCSSKeyword_double = 205, - eCSSKeyword_double_circle = 206, - eCSSKeyword_double_struck = 207, - eCSSKeyword_drag = 208, - eCSSKeyword_drop_shadow = 209, - eCSSKeyword_e_resize = 210, - eCSSKeyword_ease = 211, - eCSSKeyword_ease_in = 212, - eCSSKeyword_ease_in_out = 213, - eCSSKeyword_ease_out = 214, - eCSSKeyword_economy = 215, - eCSSKeyword_element = 216, - eCSSKeyword_elements = 217, - eCSSKeyword_ellipse = 218, - eCSSKeyword_ellipsis = 219, - eCSSKeyword_em = 220, - eCSSKeyword_embed = 221, - eCSSKeyword_enabled = 222, - eCSSKeyword_end = 223, - eCSSKeyword_ethiopic_numeric = 224, - eCSSKeyword_ex = 225, - eCSSKeyword_exact = 226, - eCSSKeyword_exclude = 227, - eCSSKeyword_exclusion = 228, - eCSSKeyword_expanded = 229, - eCSSKeyword_extends = 230, - eCSSKeyword_extra_condensed = 231, - eCSSKeyword_extra_expanded = 232, - eCSSKeyword_ew_resize = 233, - eCSSKeyword_fallback = 234, - eCSSKeyword_fantasy = 235, - eCSSKeyword_farthest_side = 236, - eCSSKeyword_farthest_corner = 237, - eCSSKeyword_fill = 238, - eCSSKeyword_filled = 239, - eCSSKeyword_fill_box = 240, - eCSSKeyword_first = 241, - eCSSKeyword_fit_content = 242, - eCSSKeyword_fixed = 243, - eCSSKeyword_flat = 244, - eCSSKeyword_flex = 245, - eCSSKeyword_flex_end = 246, - eCSSKeyword_flex_start = 247, - eCSSKeyword_flip = 248, - eCSSKeyword_flow_root = 249, - eCSSKeyword_forwards = 250, - eCSSKeyword_fraktur = 251, - eCSSKeyword_from_image = 252, - eCSSKeyword_full_width = 253, - eCSSKeyword_fullscreen = 254, - eCSSKeyword_grab = 255, - eCSSKeyword_grabbing = 256, - eCSSKeyword_grad = 257, - eCSSKeyword_grayscale = 258, - eCSSKeyword_graytext = 259, - eCSSKeyword_grid = 260, - eCSSKeyword_groove = 261, - eCSSKeyword_hard_light = 262, - eCSSKeyword_hebrew = 263, - eCSSKeyword_help = 264, - eCSSKeyword_hidden = 265, - eCSSKeyword_hide = 266, - eCSSKeyword_highlight = 267, - eCSSKeyword_highlighttext = 268, - eCSSKeyword_historical_forms = 269, - eCSSKeyword_historical_ligatures = 270, - eCSSKeyword_horizontal = 271, - eCSSKeyword_horizontal_tb = 272, - eCSSKeyword_hue = 273, - eCSSKeyword_hue_rotate = 274, - eCSSKeyword_hz = 275, - eCSSKeyword_icon = 276, - eCSSKeyword_ignore = 277, - eCSSKeyword_in = 278, - eCSSKeyword_interlace = 279, - eCSSKeyword_inactive = 280, - eCSSKeyword_inactiveborder = 281, - eCSSKeyword_inactivecaption = 282, - eCSSKeyword_inactivecaptiontext = 283, - eCSSKeyword_infinite = 284, - eCSSKeyword_infobackground = 285, - eCSSKeyword_infotext = 286, - eCSSKeyword_inherit = 287, - eCSSKeyword_initial = 288, - eCSSKeyword_inline = 289, - eCSSKeyword_inline_axis = 290, - eCSSKeyword_inline_block = 291, - eCSSKeyword_inline_end = 292, - eCSSKeyword_inline_flex = 293, - eCSSKeyword_inline_grid = 294, - eCSSKeyword_inline_start = 295, - eCSSKeyword_inline_table = 296, - eCSSKeyword_inset = 297, - eCSSKeyword_inside = 298, - eCSSKeyword_interpolatematrix = 299, - eCSSKeyword_accumulatematrix = 300, - eCSSKeyword_intersect = 301, - eCSSKeyword_isolate = 302, - eCSSKeyword_isolate_override = 303, - eCSSKeyword_invert = 304, - eCSSKeyword_italic = 305, - eCSSKeyword_japanese_formal = 306, - eCSSKeyword_japanese_informal = 307, - eCSSKeyword_jis78 = 308, - eCSSKeyword_jis83 = 309, - eCSSKeyword_jis90 = 310, - eCSSKeyword_jis04 = 311, - eCSSKeyword_justify = 312, - eCSSKeyword_keep_all = 313, - eCSSKeyword_khz = 314, - eCSSKeyword_korean_hangul_formal = 315, - eCSSKeyword_korean_hanja_formal = 316, - eCSSKeyword_korean_hanja_informal = 317, - eCSSKeyword_landscape = 318, - eCSSKeyword_large = 319, - eCSSKeyword_larger = 320, - eCSSKeyword_last = 321, - eCSSKeyword_last_baseline = 322, - eCSSKeyword_layout = 323, - eCSSKeyword_left = 324, - eCSSKeyword_legacy = 325, - eCSSKeyword_lighten = 326, - eCSSKeyword_lighter = 327, - eCSSKeyword_line_through = 328, - eCSSKeyword_linear = 329, - eCSSKeyword_lining_nums = 330, - eCSSKeyword_list_item = 331, - eCSSKeyword_local = 332, - eCSSKeyword_logical = 333, - eCSSKeyword_looped = 334, - eCSSKeyword_lowercase = 335, - eCSSKeyword_lr = 336, - eCSSKeyword_lr_tb = 337, - eCSSKeyword_ltr = 338, - eCSSKeyword_luminance = 339, - eCSSKeyword_luminosity = 340, - eCSSKeyword_mandatory = 341, - eCSSKeyword_manipulation = 342, - eCSSKeyword_manual = 343, - eCSSKeyword_margin_box = 344, - eCSSKeyword_markers = 345, - eCSSKeyword_match_parent = 346, - eCSSKeyword_match_source = 347, - eCSSKeyword_matrix = 348, - eCSSKeyword_matrix3d = 349, - eCSSKeyword_max_content = 350, - eCSSKeyword_medium = 351, - eCSSKeyword_menu = 352, - eCSSKeyword_menutext = 353, - eCSSKeyword_message_box = 354, - eCSSKeyword_middle = 355, - eCSSKeyword_min_content = 356, - eCSSKeyword_minmax = 357, - eCSSKeyword_mix = 358, - eCSSKeyword_mixed = 359, - eCSSKeyword_mm = 360, - eCSSKeyword_monospace = 361, - eCSSKeyword_move = 362, - eCSSKeyword_ms = 363, - eCSSKeyword_multiply = 364, - eCSSKeyword_n_resize = 365, - eCSSKeyword_narrower = 366, - eCSSKeyword_ne_resize = 367, - eCSSKeyword_nesw_resize = 368, - eCSSKeyword_no_clip = 369, - eCSSKeyword_no_close_quote = 370, - eCSSKeyword_no_common_ligatures = 371, - eCSSKeyword_no_contextual = 372, - eCSSKeyword_no_discretionary_ligatures = 373, - eCSSKeyword_no_drag = 374, - eCSSKeyword_no_drop = 375, - eCSSKeyword_no_historical_ligatures = 376, - eCSSKeyword_no_open_quote = 377, - eCSSKeyword_no_repeat = 378, - eCSSKeyword_none = 379, - eCSSKeyword_normal = 380, - eCSSKeyword_not_allowed = 381, - eCSSKeyword_nowrap = 382, - eCSSKeyword_numeric = 383, - eCSSKeyword_ns_resize = 384, - eCSSKeyword_nw_resize = 385, - eCSSKeyword_nwse_resize = 386, - eCSSKeyword_oblique = 387, - eCSSKeyword_oldstyle_nums = 388, - eCSSKeyword_opacity = 389, - eCSSKeyword_open = 390, - eCSSKeyword_open_quote = 391, - eCSSKeyword_optional = 392, - eCSSKeyword_ordinal = 393, - eCSSKeyword_ornaments = 394, - eCSSKeyword_outset = 395, - eCSSKeyword_outside = 396, - eCSSKeyword_over = 397, - eCSSKeyword_overlay = 398, - eCSSKeyword_overline = 399, - eCSSKeyword_paint = 400, - eCSSKeyword_padding_box = 401, - eCSSKeyword_painted = 402, - eCSSKeyword_pan_x = 403, - eCSSKeyword_pan_y = 404, - eCSSKeyword_paused = 405, - eCSSKeyword_pc = 406, - eCSSKeyword_perspective = 407, - eCSSKeyword_petite_caps = 408, - eCSSKeyword_physical = 409, - eCSSKeyword_plaintext = 410, - eCSSKeyword_pointer = 411, - eCSSKeyword_polygon = 412, - eCSSKeyword_portrait = 413, - eCSSKeyword_pre = 414, - eCSSKeyword_pre_wrap = 415, - eCSSKeyword_pre_line = 416, - eCSSKeyword_preserve_3d = 417, - eCSSKeyword_progress = 418, - eCSSKeyword_progressive = 419, - eCSSKeyword_proportional_nums = 420, - eCSSKeyword_proportional_width = 421, - eCSSKeyword_proximity = 422, - eCSSKeyword_pt = 423, - eCSSKeyword_px = 424, - eCSSKeyword_rad = 425, - eCSSKeyword_read_only = 426, - eCSSKeyword_read_write = 427, - eCSSKeyword_relative = 428, - eCSSKeyword_repeat = 429, - eCSSKeyword_repeat_x = 430, - eCSSKeyword_repeat_y = 431, - eCSSKeyword_reverse = 432, - eCSSKeyword_ridge = 433, - eCSSKeyword_right = 434, - eCSSKeyword_rl = 435, - eCSSKeyword_rl_tb = 436, - eCSSKeyword_rotate = 437, - eCSSKeyword_rotate3d = 438, - eCSSKeyword_rotatex = 439, - eCSSKeyword_rotatey = 440, - eCSSKeyword_rotatez = 441, - eCSSKeyword_round = 442, - eCSSKeyword_row = 443, - eCSSKeyword_row_resize = 444, - eCSSKeyword_row_reverse = 445, - eCSSKeyword_rtl = 446, - eCSSKeyword_ruby = 447, - eCSSKeyword_ruby_base = 448, - eCSSKeyword_ruby_base_container = 449, - eCSSKeyword_ruby_text = 450, - eCSSKeyword_ruby_text_container = 451, - eCSSKeyword_running = 452, - eCSSKeyword_s = 453, - eCSSKeyword_s_resize = 454, - eCSSKeyword_safe = 455, - eCSSKeyword_saturate = 456, - eCSSKeyword_saturation = 457, - eCSSKeyword_scale = 458, - eCSSKeyword_scale_down = 459, - eCSSKeyword_scale3d = 460, - eCSSKeyword_scalex = 461, - eCSSKeyword_scaley = 462, - eCSSKeyword_scalez = 463, - eCSSKeyword_screen = 464, - eCSSKeyword_script = 465, - eCSSKeyword_scroll = 466, - eCSSKeyword_scrollbar = 467, - eCSSKeyword_scrollbar_small = 468, - eCSSKeyword_scrollbar_horizontal = 469, - eCSSKeyword_scrollbar_vertical = 470, - eCSSKeyword_se_resize = 471, - eCSSKeyword_select_after = 472, - eCSSKeyword_select_all = 473, - eCSSKeyword_select_before = 474, - eCSSKeyword_select_menu = 475, - eCSSKeyword_select_same = 476, - eCSSKeyword_self_end = 477, - eCSSKeyword_self_start = 478, - eCSSKeyword_semi_condensed = 479, - eCSSKeyword_semi_expanded = 480, - eCSSKeyword_separate = 481, - eCSSKeyword_sepia = 482, - eCSSKeyword_serif = 483, - eCSSKeyword_sesame = 484, - eCSSKeyword_show = 485, - eCSSKeyword_sideways = 486, - eCSSKeyword_sideways_lr = 487, - eCSSKeyword_sideways_right = 488, - eCSSKeyword_sideways_rl = 489, - eCSSKeyword_simp_chinese_formal = 490, - eCSSKeyword_simp_chinese_informal = 491, - eCSSKeyword_simplified = 492, - eCSSKeyword_skew = 493, - eCSSKeyword_skewx = 494, - eCSSKeyword_skewy = 495, - eCSSKeyword_slashed_zero = 496, - eCSSKeyword_slice = 497, - eCSSKeyword_small = 498, - eCSSKeyword_small_caps = 499, - eCSSKeyword_small_caption = 500, - eCSSKeyword_smaller = 501, - eCSSKeyword_smooth = 502, - eCSSKeyword_soft = 503, - eCSSKeyword_soft_light = 504, - eCSSKeyword_solid = 505, - eCSSKeyword_space_around = 506, - eCSSKeyword_space_between = 507, - eCSSKeyword_space_evenly = 508, - eCSSKeyword_span = 509, - eCSSKeyword_spell_out = 510, - eCSSKeyword_square = 511, - eCSSKeyword_stacked_fractions = 512, - eCSSKeyword_start = 513, - eCSSKeyword_static = 514, - eCSSKeyword_standalone = 515, - eCSSKeyword_status_bar = 516, - eCSSKeyword_step_end = 517, - eCSSKeyword_step_start = 518, - eCSSKeyword_sticky = 519, - eCSSKeyword_stretch = 520, - eCSSKeyword_stretch_to_fit = 521, - eCSSKeyword_stretched = 522, - eCSSKeyword_strict = 523, - eCSSKeyword_stroke = 524, - eCSSKeyword_stroke_box = 525, - eCSSKeyword_style = 526, - eCSSKeyword_styleset = 527, - eCSSKeyword_stylistic = 528, - eCSSKeyword_sub = 529, - eCSSKeyword_subgrid = 530, - eCSSKeyword_subtract = 531, - eCSSKeyword_super = 532, - eCSSKeyword_sw_resize = 533, - eCSSKeyword_swash = 534, - eCSSKeyword_swap = 535, - eCSSKeyword_table = 536, - eCSSKeyword_table_caption = 537, - eCSSKeyword_table_cell = 538, - eCSSKeyword_table_column = 539, - eCSSKeyword_table_column_group = 540, - eCSSKeyword_table_footer_group = 541, - eCSSKeyword_table_header_group = 542, - eCSSKeyword_table_row = 543, - eCSSKeyword_table_row_group = 544, - eCSSKeyword_tabular_nums = 545, - eCSSKeyword_tailed = 546, - eCSSKeyword_tb = 547, - eCSSKeyword_tb_rl = 548, - eCSSKeyword_text = 549, - eCSSKeyword_text_bottom = 550, - eCSSKeyword_text_top = 551, - eCSSKeyword_thick = 552, - eCSSKeyword_thin = 553, - eCSSKeyword_threeddarkshadow = 554, - eCSSKeyword_threedface = 555, - eCSSKeyword_threedhighlight = 556, - eCSSKeyword_threedlightshadow = 557, - eCSSKeyword_threedshadow = 558, - eCSSKeyword_titling_caps = 559, - eCSSKeyword_toggle = 560, - eCSSKeyword_top = 561, - eCSSKeyword_top_outside = 562, - eCSSKeyword_trad_chinese_formal = 563, - eCSSKeyword_trad_chinese_informal = 564, - eCSSKeyword_traditional = 565, - eCSSKeyword_translate = 566, - eCSSKeyword_translate3d = 567, - eCSSKeyword_translatex = 568, - eCSSKeyword_translatey = 569, - eCSSKeyword_translatez = 570, - eCSSKeyword_transparent = 571, - eCSSKeyword_triangle = 572, - eCSSKeyword_tri_state = 573, - eCSSKeyword_ultra_condensed = 574, - eCSSKeyword_ultra_expanded = 575, - eCSSKeyword_under = 576, - eCSSKeyword_underline = 577, - eCSSKeyword_unicase = 578, - eCSSKeyword_unsafe = 579, - eCSSKeyword_unset = 580, - eCSSKeyword_uppercase = 581, - eCSSKeyword_upright = 582, - eCSSKeyword_vertical = 583, - eCSSKeyword_vertical_lr = 584, - eCSSKeyword_vertical_rl = 585, - eCSSKeyword_vertical_text = 586, - eCSSKeyword_view_box = 587, - eCSSKeyword_visible = 588, - eCSSKeyword_visiblefill = 589, - eCSSKeyword_visiblepainted = 590, - eCSSKeyword_visiblestroke = 591, - eCSSKeyword_w_resize = 592, - eCSSKeyword_wait = 593, - eCSSKeyword_wavy = 594, - eCSSKeyword_weight = 595, - eCSSKeyword_wider = 596, - eCSSKeyword_window = 597, - eCSSKeyword_windowframe = 598, - eCSSKeyword_windowtext = 599, - eCSSKeyword_words = 600, - eCSSKeyword_wrap = 601, - eCSSKeyword_wrap_reverse = 602, - eCSSKeyword_write_only = 603, - eCSSKeyword_x_large = 604, - eCSSKeyword_x_small = 605, - eCSSKeyword_xx_large = 606, - eCSSKeyword_xx_small = 607, - eCSSKeyword_zoom_in = 608, - eCSSKeyword_zoom_out = 609, - eCSSKeyword_radio = 610, - eCSSKeyword_checkbox = 611, - eCSSKeyword_button_bevel = 612, - eCSSKeyword_toolbox = 613, - eCSSKeyword_toolbar = 614, - eCSSKeyword_toolbarbutton = 615, - eCSSKeyword_toolbargripper = 616, - eCSSKeyword_dualbutton = 617, - eCSSKeyword_toolbarbutton_dropdown = 618, - eCSSKeyword_button_arrow_up = 619, - eCSSKeyword_button_arrow_down = 620, - eCSSKeyword_button_arrow_next = 621, - eCSSKeyword_button_arrow_previous = 622, - eCSSKeyword_separator = 623, - eCSSKeyword_splitter = 624, - eCSSKeyword_statusbar = 625, - eCSSKeyword_statusbarpanel = 626, - eCSSKeyword_resizerpanel = 627, - eCSSKeyword_resizer = 628, - eCSSKeyword_listbox = 629, - eCSSKeyword_listitem = 630, - eCSSKeyword_numbers = 631, - eCSSKeyword_number_input = 632, - eCSSKeyword_treeview = 633, - eCSSKeyword_treeitem = 634, - eCSSKeyword_treetwisty = 635, - eCSSKeyword_treetwistyopen = 636, - eCSSKeyword_treeline = 637, - eCSSKeyword_treeheader = 638, - eCSSKeyword_treeheadercell = 639, - eCSSKeyword_treeheadersortarrow = 640, - eCSSKeyword_progressbar = 641, - eCSSKeyword_progressbar_vertical = 642, - eCSSKeyword_progresschunk = 643, - eCSSKeyword_progresschunk_vertical = 644, - eCSSKeyword_tab = 645, - eCSSKeyword_tabpanels = 646, - eCSSKeyword_tabpanel = 647, - eCSSKeyword_tab_scroll_arrow_back = 648, - eCSSKeyword_tab_scroll_arrow_forward = 649, - eCSSKeyword_tooltip = 650, - eCSSKeyword_spinner = 651, - eCSSKeyword_spinner_upbutton = 652, - eCSSKeyword_spinner_downbutton = 653, - eCSSKeyword_spinner_textfield = 654, - eCSSKeyword_scrollbarbutton_up = 655, - eCSSKeyword_scrollbarbutton_down = 656, - eCSSKeyword_scrollbarbutton_left = 657, - eCSSKeyword_scrollbarbutton_right = 658, - eCSSKeyword_scrollbartrack_horizontal = 659, - eCSSKeyword_scrollbartrack_vertical = 660, - eCSSKeyword_scrollbarthumb_horizontal = 661, - eCSSKeyword_scrollbarthumb_vertical = 662, - eCSSKeyword_sheet = 663, - eCSSKeyword_textfield = 664, - eCSSKeyword_textfield_multiline = 665, - eCSSKeyword_caret = 666, - eCSSKeyword_searchfield = 667, - eCSSKeyword_menubar = 668, - eCSSKeyword_menupopup = 669, - eCSSKeyword_menuitem = 670, - eCSSKeyword_checkmenuitem = 671, - eCSSKeyword_radiomenuitem = 672, - eCSSKeyword_menucheckbox = 673, - eCSSKeyword_menuradio = 674, - eCSSKeyword_menuseparator = 675, - eCSSKeyword_menuarrow = 676, - eCSSKeyword_menuimage = 677, - eCSSKeyword_menuitemtext = 678, - eCSSKeyword_menulist = 679, - eCSSKeyword_menulist_button = 680, - eCSSKeyword_menulist_text = 681, - eCSSKeyword_menulist_textfield = 682, - eCSSKeyword_meterbar = 683, - eCSSKeyword_meterchunk = 684, - eCSSKeyword_minimal_ui = 685, - eCSSKeyword_range = 686, - eCSSKeyword_range_thumb = 687, - eCSSKeyword_sans_serif = 688, - eCSSKeyword_sans_serif_bold_italic = 689, - eCSSKeyword_sans_serif_italic = 690, - eCSSKeyword_scale_horizontal = 691, - eCSSKeyword_scale_vertical = 692, - eCSSKeyword_scalethumb_horizontal = 693, - eCSSKeyword_scalethumb_vertical = 694, - eCSSKeyword_scalethumbstart = 695, - eCSSKeyword_scalethumbend = 696, - eCSSKeyword_scalethumbtick = 697, - eCSSKeyword_groupbox = 698, - eCSSKeyword_checkbox_container = 699, - eCSSKeyword_radio_container = 700, - eCSSKeyword_checkbox_label = 701, - eCSSKeyword_radio_label = 702, - eCSSKeyword_button_focus = 703, - eCSSKeyword__moz_win_media_toolbox = 704, - eCSSKeyword__moz_win_communications_toolbox = 705, - eCSSKeyword__moz_win_browsertabbar_toolbox = 706, - eCSSKeyword__moz_win_mediatext = 707, - eCSSKeyword__moz_win_communicationstext = 708, - eCSSKeyword__moz_win_glass = 709, - eCSSKeyword__moz_win_borderless_glass = 710, - eCSSKeyword__moz_window_titlebar = 711, - eCSSKeyword__moz_window_titlebar_maximized = 712, - eCSSKeyword__moz_window_frame_left = 713, - eCSSKeyword__moz_window_frame_right = 714, - eCSSKeyword__moz_window_frame_bottom = 715, - eCSSKeyword__moz_window_button_close = 716, - eCSSKeyword__moz_window_button_minimize = 717, - eCSSKeyword__moz_window_button_maximize = 718, - eCSSKeyword__moz_window_button_restore = 719, - eCSSKeyword__moz_window_button_box = 720, - eCSSKeyword__moz_window_button_box_maximized = 721, - eCSSKeyword__moz_mac_help_button = 722, - eCSSKeyword__moz_win_exclude_glass = 723, - eCSSKeyword__moz_mac_vibrancy_light = 724, - eCSSKeyword__moz_mac_vibrancy_dark = 725, - eCSSKeyword__moz_mac_disclosure_button_closed = 726, - eCSSKeyword__moz_mac_disclosure_button_open = 727, - eCSSKeyword__moz_mac_source_list = 728, - eCSSKeyword__moz_mac_source_list_selection = 729, - eCSSKeyword__moz_mac_active_source_list_selection = 730, - eCSSKeyword_alphabetic = 731, - eCSSKeyword_bevel = 732, - eCSSKeyword_butt = 733, - eCSSKeyword_central = 734, - eCSSKeyword_crispedges = 735, - eCSSKeyword_evenodd = 736, - eCSSKeyword_geometricprecision = 737, - eCSSKeyword_hanging = 738, - eCSSKeyword_ideographic = 739, - eCSSKeyword_linearrgb = 740, - eCSSKeyword_mathematical = 741, - eCSSKeyword_miter = 742, - eCSSKeyword_no_change = 743, - eCSSKeyword_non_scaling_stroke = 744, - eCSSKeyword_nonzero = 745, - eCSSKeyword_optimizelegibility = 746, - eCSSKeyword_optimizequality = 747, - eCSSKeyword_optimizespeed = 748, - eCSSKeyword_reset_size = 749, - eCSSKeyword_srgb = 750, - eCSSKeyword_symbolic = 751, - eCSSKeyword_symbols = 752, - eCSSKeyword_text_after_edge = 753, - eCSSKeyword_text_before_edge = 754, - eCSSKeyword_use_script = 755, - eCSSKeyword__moz_crisp_edges = 756, - eCSSKeyword_space = 757, - eCSSKeyword_COUNT = 758, + eCSSKeyword__moz_left = 47, + eCSSKeyword__moz_list = 48, + eCSSKeyword__moz_mac_buttonactivetext = 49, + eCSSKeyword__moz_mac_chrome_active = 50, + eCSSKeyword__moz_mac_chrome_inactive = 51, + eCSSKeyword__moz_mac_defaultbuttontext = 52, + eCSSKeyword__moz_mac_focusring = 53, + eCSSKeyword__moz_mac_fullscreen_button = 54, + eCSSKeyword__moz_mac_menuselect = 55, + eCSSKeyword__moz_mac_menushadow = 56, + eCSSKeyword__moz_mac_menutextdisable = 57, + eCSSKeyword__moz_mac_menutextselect = 58, + eCSSKeyword__moz_mac_disabledtoolbartext = 59, + eCSSKeyword__moz_mac_secondaryhighlight = 60, + eCSSKeyword__moz_max_content = 61, + eCSSKeyword__moz_menuhover = 62, + eCSSKeyword__moz_menuhovertext = 63, + eCSSKeyword__moz_menubartext = 64, + eCSSKeyword__moz_menubarhovertext = 65, + eCSSKeyword__moz_middle_with_baseline = 66, + eCSSKeyword__moz_min_content = 67, + eCSSKeyword__moz_nativehyperlinktext = 68, + eCSSKeyword__moz_none = 69, + eCSSKeyword__moz_oddtreerow = 70, + eCSSKeyword__moz_popup = 71, + eCSSKeyword__moz_pre_space = 72, + eCSSKeyword__moz_pull_down_menu = 73, + eCSSKeyword__moz_right = 74, + eCSSKeyword__moz_scrollbars_horizontal = 75, + eCSSKeyword__moz_scrollbars_none = 76, + eCSSKeyword__moz_scrollbars_vertical = 77, + eCSSKeyword__moz_stack = 78, + eCSSKeyword__moz_text = 79, + eCSSKeyword__moz_use_system_font = 80, + eCSSKeyword__moz_visitedhyperlinktext = 81, + eCSSKeyword__moz_window = 82, + eCSSKeyword__moz_workspace = 83, + eCSSKeyword__moz_zoom_in = 84, + eCSSKeyword__moz_zoom_out = 85, + eCSSKeyword__webkit_box = 86, + eCSSKeyword__webkit_flex = 87, + eCSSKeyword__webkit_inline_box = 88, + eCSSKeyword__webkit_inline_flex = 89, + eCSSKeyword_absolute = 90, + eCSSKeyword_active = 91, + eCSSKeyword_activeborder = 92, + eCSSKeyword_activecaption = 93, + eCSSKeyword_add = 94, + eCSSKeyword_additive = 95, + eCSSKeyword_alias = 96, + eCSSKeyword_all = 97, + eCSSKeyword_all_petite_caps = 98, + eCSSKeyword_all_scroll = 99, + eCSSKeyword_all_small_caps = 100, + eCSSKeyword_alpha = 101, + eCSSKeyword_alternate = 102, + eCSSKeyword_alternate_reverse = 103, + eCSSKeyword_always = 104, + eCSSKeyword_annotation = 105, + eCSSKeyword_appworkspace = 106, + eCSSKeyword_auto = 107, + eCSSKeyword_auto_fill = 108, + eCSSKeyword_auto_fit = 109, + eCSSKeyword_auto_flow = 110, + eCSSKeyword_avoid = 111, + eCSSKeyword_background = 112, + eCSSKeyword_backwards = 113, + eCSSKeyword_balance = 114, + eCSSKeyword_baseline = 115, + eCSSKeyword_bidi_override = 116, + eCSSKeyword_blink = 117, + eCSSKeyword_block = 118, + eCSSKeyword_block_axis = 119, + eCSSKeyword_blur = 120, + eCSSKeyword_bold = 121, + eCSSKeyword_bold_fraktur = 122, + eCSSKeyword_bold_italic = 123, + eCSSKeyword_bold_sans_serif = 124, + eCSSKeyword_bold_script = 125, + eCSSKeyword_bolder = 126, + eCSSKeyword_border_box = 127, + eCSSKeyword_both = 128, + eCSSKeyword_bottom = 129, + eCSSKeyword_bottom_outside = 130, + eCSSKeyword_break_all = 131, + eCSSKeyword_break_word = 132, + eCSSKeyword_brightness = 133, + eCSSKeyword_browser = 134, + eCSSKeyword_bullets = 135, + eCSSKeyword_button = 136, + eCSSKeyword_buttonface = 137, + eCSSKeyword_buttonhighlight = 138, + eCSSKeyword_buttonshadow = 139, + eCSSKeyword_buttontext = 140, + eCSSKeyword_capitalize = 141, + eCSSKeyword_caption = 142, + eCSSKeyword_captiontext = 143, + eCSSKeyword_cell = 144, + eCSSKeyword_center = 145, + eCSSKeyword_ch = 146, + eCSSKeyword_character_variant = 147, + eCSSKeyword_circle = 148, + eCSSKeyword_cjk_decimal = 149, + eCSSKeyword_clip = 150, + eCSSKeyword_clone = 151, + eCSSKeyword_close_quote = 152, + eCSSKeyword_closest_corner = 153, + eCSSKeyword_closest_side = 154, + eCSSKeyword_cm = 155, + eCSSKeyword_col_resize = 156, + eCSSKeyword_collapse = 157, + eCSSKeyword_color = 158, + eCSSKeyword_color_burn = 159, + eCSSKeyword_color_dodge = 160, + eCSSKeyword_common_ligatures = 161, + eCSSKeyword_column = 162, + eCSSKeyword_column_reverse = 163, + eCSSKeyword_condensed = 164, + eCSSKeyword_contain = 165, + eCSSKeyword_content_box = 166, + eCSSKeyword_contents = 167, + eCSSKeyword_context_fill = 168, + eCSSKeyword_context_fill_opacity = 169, + eCSSKeyword_context_menu = 170, + eCSSKeyword_context_stroke = 171, + eCSSKeyword_context_stroke_opacity = 172, + eCSSKeyword_context_value = 173, + eCSSKeyword_continuous = 174, + eCSSKeyword_contrast = 175, + eCSSKeyword_copy = 176, + eCSSKeyword_contextual = 177, + eCSSKeyword_cover = 178, + eCSSKeyword_crop = 179, + eCSSKeyword_cross = 180, + eCSSKeyword_crosshair = 181, + eCSSKeyword_currentcolor = 182, + eCSSKeyword_cursive = 183, + eCSSKeyword_cyclic = 184, + eCSSKeyword_darken = 185, + eCSSKeyword_dashed = 186, + eCSSKeyword_dense = 187, + eCSSKeyword_decimal = 188, + eCSSKeyword_default = 189, + eCSSKeyword_deg = 190, + eCSSKeyword_diagonal_fractions = 191, + eCSSKeyword_dialog = 192, + eCSSKeyword_difference = 193, + eCSSKeyword_digits = 194, + eCSSKeyword_disabled = 195, + eCSSKeyword_disc = 196, + eCSSKeyword_disclosure_closed = 197, + eCSSKeyword_disclosure_open = 198, + eCSSKeyword_discretionary_ligatures = 199, + eCSSKeyword_dot = 200, + eCSSKeyword_dotted = 201, + eCSSKeyword_double = 202, + eCSSKeyword_double_circle = 203, + eCSSKeyword_double_struck = 204, + eCSSKeyword_drag = 205, + eCSSKeyword_drop_shadow = 206, + eCSSKeyword_e_resize = 207, + eCSSKeyword_ease = 208, + eCSSKeyword_ease_in = 209, + eCSSKeyword_ease_in_out = 210, + eCSSKeyword_ease_out = 211, + eCSSKeyword_economy = 212, + eCSSKeyword_element = 213, + eCSSKeyword_elements = 214, + eCSSKeyword_ellipse = 215, + eCSSKeyword_ellipsis = 216, + eCSSKeyword_em = 217, + eCSSKeyword_embed = 218, + eCSSKeyword_enabled = 219, + eCSSKeyword_end = 220, + eCSSKeyword_ethiopic_numeric = 221, + eCSSKeyword_ex = 222, + eCSSKeyword_exact = 223, + eCSSKeyword_exclude = 224, + eCSSKeyword_exclusion = 225, + eCSSKeyword_expanded = 226, + eCSSKeyword_extends = 227, + eCSSKeyword_extra_condensed = 228, + eCSSKeyword_extra_expanded = 229, + eCSSKeyword_ew_resize = 230, + eCSSKeyword_fallback = 231, + eCSSKeyword_fantasy = 232, + eCSSKeyword_farthest_side = 233, + eCSSKeyword_farthest_corner = 234, + eCSSKeyword_fill = 235, + eCSSKeyword_filled = 236, + eCSSKeyword_fill_box = 237, + eCSSKeyword_first = 238, + eCSSKeyword_fit_content = 239, + eCSSKeyword_fixed = 240, + eCSSKeyword_flat = 241, + eCSSKeyword_flex = 242, + eCSSKeyword_flex_end = 243, + eCSSKeyword_flex_start = 244, + eCSSKeyword_flip = 245, + eCSSKeyword_flow_root = 246, + eCSSKeyword_forwards = 247, + eCSSKeyword_fraktur = 248, + eCSSKeyword_from_image = 249, + eCSSKeyword_full_width = 250, + eCSSKeyword_fullscreen = 251, + eCSSKeyword_grab = 252, + eCSSKeyword_grabbing = 253, + eCSSKeyword_grad = 254, + eCSSKeyword_grayscale = 255, + eCSSKeyword_graytext = 256, + eCSSKeyword_grid = 257, + eCSSKeyword_groove = 258, + eCSSKeyword_hard_light = 259, + eCSSKeyword_hebrew = 260, + eCSSKeyword_help = 261, + eCSSKeyword_hidden = 262, + eCSSKeyword_hide = 263, + eCSSKeyword_highlight = 264, + eCSSKeyword_highlighttext = 265, + eCSSKeyword_historical_forms = 266, + eCSSKeyword_historical_ligatures = 267, + eCSSKeyword_horizontal = 268, + eCSSKeyword_horizontal_tb = 269, + eCSSKeyword_hue = 270, + eCSSKeyword_hue_rotate = 271, + eCSSKeyword_hz = 272, + eCSSKeyword_icon = 273, + eCSSKeyword_ignore = 274, + eCSSKeyword_in = 275, + eCSSKeyword_interlace = 276, + eCSSKeyword_inactive = 277, + eCSSKeyword_inactiveborder = 278, + eCSSKeyword_inactivecaption = 279, + eCSSKeyword_inactivecaptiontext = 280, + eCSSKeyword_infinite = 281, + eCSSKeyword_infobackground = 282, + eCSSKeyword_infotext = 283, + eCSSKeyword_inherit = 284, + eCSSKeyword_initial = 285, + eCSSKeyword_inline = 286, + eCSSKeyword_inline_axis = 287, + eCSSKeyword_inline_block = 288, + eCSSKeyword_inline_end = 289, + eCSSKeyword_inline_flex = 290, + eCSSKeyword_inline_grid = 291, + eCSSKeyword_inline_start = 292, + eCSSKeyword_inline_table = 293, + eCSSKeyword_inset = 294, + eCSSKeyword_inside = 295, + eCSSKeyword_interpolatematrix = 296, + eCSSKeyword_accumulatematrix = 297, + eCSSKeyword_intersect = 298, + eCSSKeyword_isolate = 299, + eCSSKeyword_isolate_override = 300, + eCSSKeyword_invert = 301, + eCSSKeyword_italic = 302, + eCSSKeyword_japanese_formal = 303, + eCSSKeyword_japanese_informal = 304, + eCSSKeyword_jis78 = 305, + eCSSKeyword_jis83 = 306, + eCSSKeyword_jis90 = 307, + eCSSKeyword_jis04 = 308, + eCSSKeyword_justify = 309, + eCSSKeyword_keep_all = 310, + eCSSKeyword_khz = 311, + eCSSKeyword_korean_hangul_formal = 312, + eCSSKeyword_korean_hanja_formal = 313, + eCSSKeyword_korean_hanja_informal = 314, + eCSSKeyword_landscape = 315, + eCSSKeyword_large = 316, + eCSSKeyword_larger = 317, + eCSSKeyword_last = 318, + eCSSKeyword_last_baseline = 319, + eCSSKeyword_layout = 320, + eCSSKeyword_left = 321, + eCSSKeyword_legacy = 322, + eCSSKeyword_lighten = 323, + eCSSKeyword_lighter = 324, + eCSSKeyword_line_through = 325, + eCSSKeyword_linear = 326, + eCSSKeyword_lining_nums = 327, + eCSSKeyword_list_item = 328, + eCSSKeyword_local = 329, + eCSSKeyword_logical = 330, + eCSSKeyword_looped = 331, + eCSSKeyword_lowercase = 332, + eCSSKeyword_lr = 333, + eCSSKeyword_lr_tb = 334, + eCSSKeyword_ltr = 335, + eCSSKeyword_luminance = 336, + eCSSKeyword_luminosity = 337, + eCSSKeyword_mandatory = 338, + eCSSKeyword_manipulation = 339, + eCSSKeyword_manual = 340, + eCSSKeyword_margin_box = 341, + eCSSKeyword_markers = 342, + eCSSKeyword_match_parent = 343, + eCSSKeyword_match_source = 344, + eCSSKeyword_matrix = 345, + eCSSKeyword_matrix3d = 346, + eCSSKeyword_max_content = 347, + eCSSKeyword_medium = 348, + eCSSKeyword_menu = 349, + eCSSKeyword_menutext = 350, + eCSSKeyword_message_box = 351, + eCSSKeyword_middle = 352, + eCSSKeyword_min_content = 353, + eCSSKeyword_minmax = 354, + eCSSKeyword_mix = 355, + eCSSKeyword_mixed = 356, + eCSSKeyword_mm = 357, + eCSSKeyword_monospace = 358, + eCSSKeyword_move = 359, + eCSSKeyword_ms = 360, + eCSSKeyword_multiply = 361, + eCSSKeyword_n_resize = 362, + eCSSKeyword_narrower = 363, + eCSSKeyword_ne_resize = 364, + eCSSKeyword_nesw_resize = 365, + eCSSKeyword_no_clip = 366, + eCSSKeyword_no_close_quote = 367, + eCSSKeyword_no_common_ligatures = 368, + eCSSKeyword_no_contextual = 369, + eCSSKeyword_no_discretionary_ligatures = 370, + eCSSKeyword_no_drag = 371, + eCSSKeyword_no_drop = 372, + eCSSKeyword_no_historical_ligatures = 373, + eCSSKeyword_no_open_quote = 374, + eCSSKeyword_no_repeat = 375, + eCSSKeyword_none = 376, + eCSSKeyword_normal = 377, + eCSSKeyword_not_allowed = 378, + eCSSKeyword_nowrap = 379, + eCSSKeyword_numeric = 380, + eCSSKeyword_ns_resize = 381, + eCSSKeyword_nw_resize = 382, + eCSSKeyword_nwse_resize = 383, + eCSSKeyword_oblique = 384, + eCSSKeyword_oldstyle_nums = 385, + eCSSKeyword_opacity = 386, + eCSSKeyword_open = 387, + eCSSKeyword_open_quote = 388, + eCSSKeyword_optional = 389, + eCSSKeyword_ordinal = 390, + eCSSKeyword_ornaments = 391, + eCSSKeyword_outset = 392, + eCSSKeyword_outside = 393, + eCSSKeyword_over = 394, + eCSSKeyword_overlay = 395, + eCSSKeyword_overline = 396, + eCSSKeyword_paint = 397, + eCSSKeyword_padding_box = 398, + eCSSKeyword_painted = 399, + eCSSKeyword_pan_x = 400, + eCSSKeyword_pan_y = 401, + eCSSKeyword_paused = 402, + eCSSKeyword_pc = 403, + eCSSKeyword_perspective = 404, + eCSSKeyword_petite_caps = 405, + eCSSKeyword_physical = 406, + eCSSKeyword_plaintext = 407, + eCSSKeyword_pointer = 408, + eCSSKeyword_polygon = 409, + eCSSKeyword_portrait = 410, + eCSSKeyword_pre = 411, + eCSSKeyword_pre_wrap = 412, + eCSSKeyword_pre_line = 413, + eCSSKeyword_preserve_3d = 414, + eCSSKeyword_progress = 415, + eCSSKeyword_progressive = 416, + eCSSKeyword_proportional_nums = 417, + eCSSKeyword_proportional_width = 418, + eCSSKeyword_proximity = 419, + eCSSKeyword_pt = 420, + eCSSKeyword_px = 421, + eCSSKeyword_rad = 422, + eCSSKeyword_read_only = 423, + eCSSKeyword_read_write = 424, + eCSSKeyword_relative = 425, + eCSSKeyword_repeat = 426, + eCSSKeyword_repeat_x = 427, + eCSSKeyword_repeat_y = 428, + eCSSKeyword_reverse = 429, + eCSSKeyword_ridge = 430, + eCSSKeyword_right = 431, + eCSSKeyword_rl = 432, + eCSSKeyword_rl_tb = 433, + eCSSKeyword_rotate = 434, + eCSSKeyword_rotate3d = 435, + eCSSKeyword_rotatex = 436, + eCSSKeyword_rotatey = 437, + eCSSKeyword_rotatez = 438, + eCSSKeyword_round = 439, + eCSSKeyword_row = 440, + eCSSKeyword_row_resize = 441, + eCSSKeyword_row_reverse = 442, + eCSSKeyword_rtl = 443, + eCSSKeyword_ruby = 444, + eCSSKeyword_ruby_base = 445, + eCSSKeyword_ruby_base_container = 446, + eCSSKeyword_ruby_text = 447, + eCSSKeyword_ruby_text_container = 448, + eCSSKeyword_running = 449, + eCSSKeyword_s = 450, + eCSSKeyword_s_resize = 451, + eCSSKeyword_safe = 452, + eCSSKeyword_saturate = 453, + eCSSKeyword_saturation = 454, + eCSSKeyword_scale = 455, + eCSSKeyword_scale_down = 456, + eCSSKeyword_scale3d = 457, + eCSSKeyword_scalex = 458, + eCSSKeyword_scaley = 459, + eCSSKeyword_scalez = 460, + eCSSKeyword_screen = 461, + eCSSKeyword_script = 462, + eCSSKeyword_scroll = 463, + eCSSKeyword_scrollbar = 464, + eCSSKeyword_scrollbar_small = 465, + eCSSKeyword_scrollbar_horizontal = 466, + eCSSKeyword_scrollbar_vertical = 467, + eCSSKeyword_se_resize = 468, + eCSSKeyword_select_after = 469, + eCSSKeyword_select_all = 470, + eCSSKeyword_select_before = 471, + eCSSKeyword_select_menu = 472, + eCSSKeyword_select_same = 473, + eCSSKeyword_self_end = 474, + eCSSKeyword_self_start = 475, + eCSSKeyword_semi_condensed = 476, + eCSSKeyword_semi_expanded = 477, + eCSSKeyword_separate = 478, + eCSSKeyword_sepia = 479, + eCSSKeyword_serif = 480, + eCSSKeyword_sesame = 481, + eCSSKeyword_show = 482, + eCSSKeyword_sideways = 483, + eCSSKeyword_sideways_lr = 484, + eCSSKeyword_sideways_right = 485, + eCSSKeyword_sideways_rl = 486, + eCSSKeyword_simp_chinese_formal = 487, + eCSSKeyword_simp_chinese_informal = 488, + eCSSKeyword_simplified = 489, + eCSSKeyword_skew = 490, + eCSSKeyword_skewx = 491, + eCSSKeyword_skewy = 492, + eCSSKeyword_slashed_zero = 493, + eCSSKeyword_slice = 494, + eCSSKeyword_small = 495, + eCSSKeyword_small_caps = 496, + eCSSKeyword_small_caption = 497, + eCSSKeyword_smaller = 498, + eCSSKeyword_smooth = 499, + eCSSKeyword_soft = 500, + eCSSKeyword_soft_light = 501, + eCSSKeyword_solid = 502, + eCSSKeyword_space_around = 503, + eCSSKeyword_space_between = 504, + eCSSKeyword_space_evenly = 505, + eCSSKeyword_span = 506, + eCSSKeyword_spell_out = 507, + eCSSKeyword_square = 508, + eCSSKeyword_stacked_fractions = 509, + eCSSKeyword_start = 510, + eCSSKeyword_static = 511, + eCSSKeyword_standalone = 512, + eCSSKeyword_status_bar = 513, + eCSSKeyword_step_end = 514, + eCSSKeyword_step_start = 515, + eCSSKeyword_sticky = 516, + eCSSKeyword_stretch = 517, + eCSSKeyword_stretch_to_fit = 518, + eCSSKeyword_stretched = 519, + eCSSKeyword_strict = 520, + eCSSKeyword_stroke = 521, + eCSSKeyword_stroke_box = 522, + eCSSKeyword_style = 523, + eCSSKeyword_styleset = 524, + eCSSKeyword_stylistic = 525, + eCSSKeyword_sub = 526, + eCSSKeyword_subgrid = 527, + eCSSKeyword_subtract = 528, + eCSSKeyword_super = 529, + eCSSKeyword_sw_resize = 530, + eCSSKeyword_swash = 531, + eCSSKeyword_swap = 532, + eCSSKeyword_table = 533, + eCSSKeyword_table_caption = 534, + eCSSKeyword_table_cell = 535, + eCSSKeyword_table_column = 536, + eCSSKeyword_table_column_group = 537, + eCSSKeyword_table_footer_group = 538, + eCSSKeyword_table_header_group = 539, + eCSSKeyword_table_row = 540, + eCSSKeyword_table_row_group = 541, + eCSSKeyword_tabular_nums = 542, + eCSSKeyword_tailed = 543, + eCSSKeyword_tb = 544, + eCSSKeyword_tb_rl = 545, + eCSSKeyword_text = 546, + eCSSKeyword_text_bottom = 547, + eCSSKeyword_text_top = 548, + eCSSKeyword_thick = 549, + eCSSKeyword_thin = 550, + eCSSKeyword_threeddarkshadow = 551, + eCSSKeyword_threedface = 552, + eCSSKeyword_threedhighlight = 553, + eCSSKeyword_threedlightshadow = 554, + eCSSKeyword_threedshadow = 555, + eCSSKeyword_titling_caps = 556, + eCSSKeyword_toggle = 557, + eCSSKeyword_top = 558, + eCSSKeyword_top_outside = 559, + eCSSKeyword_trad_chinese_formal = 560, + eCSSKeyword_trad_chinese_informal = 561, + eCSSKeyword_traditional = 562, + eCSSKeyword_translate = 563, + eCSSKeyword_translate3d = 564, + eCSSKeyword_translatex = 565, + eCSSKeyword_translatey = 566, + eCSSKeyword_translatez = 567, + eCSSKeyword_transparent = 568, + eCSSKeyword_triangle = 569, + eCSSKeyword_tri_state = 570, + eCSSKeyword_ultra_condensed = 571, + eCSSKeyword_ultra_expanded = 572, + eCSSKeyword_under = 573, + eCSSKeyword_underline = 574, + eCSSKeyword_unicase = 575, + eCSSKeyword_unsafe = 576, + eCSSKeyword_unset = 577, + eCSSKeyword_uppercase = 578, + eCSSKeyword_upright = 579, + eCSSKeyword_vertical = 580, + eCSSKeyword_vertical_lr = 581, + eCSSKeyword_vertical_rl = 582, + eCSSKeyword_vertical_text = 583, + eCSSKeyword_view_box = 584, + eCSSKeyword_visible = 585, + eCSSKeyword_visiblefill = 586, + eCSSKeyword_visiblepainted = 587, + eCSSKeyword_visiblestroke = 588, + eCSSKeyword_w_resize = 589, + eCSSKeyword_wait = 590, + eCSSKeyword_wavy = 591, + eCSSKeyword_weight = 592, + eCSSKeyword_wider = 593, + eCSSKeyword_window = 594, + eCSSKeyword_windowframe = 595, + eCSSKeyword_windowtext = 596, + eCSSKeyword_words = 597, + eCSSKeyword_wrap = 598, + eCSSKeyword_wrap_reverse = 599, + eCSSKeyword_write_only = 600, + eCSSKeyword_x_large = 601, + eCSSKeyword_x_small = 602, + eCSSKeyword_xx_large = 603, + eCSSKeyword_xx_small = 604, + eCSSKeyword_zoom_in = 605, + eCSSKeyword_zoom_out = 606, + eCSSKeyword_radio = 607, + eCSSKeyword_checkbox = 608, + eCSSKeyword_button_bevel = 609, + eCSSKeyword_toolbox = 610, + eCSSKeyword_toolbar = 611, + eCSSKeyword_toolbarbutton = 612, + eCSSKeyword_toolbargripper = 613, + eCSSKeyword_dualbutton = 614, + eCSSKeyword_toolbarbutton_dropdown = 615, + eCSSKeyword_button_arrow_up = 616, + eCSSKeyword_button_arrow_down = 617, + eCSSKeyword_button_arrow_next = 618, + eCSSKeyword_button_arrow_previous = 619, + eCSSKeyword_separator = 620, + eCSSKeyword_splitter = 621, + eCSSKeyword_statusbar = 622, + eCSSKeyword_statusbarpanel = 623, + eCSSKeyword_resizerpanel = 624, + eCSSKeyword_resizer = 625, + eCSSKeyword_listbox = 626, + eCSSKeyword_listitem = 627, + eCSSKeyword_numbers = 628, + eCSSKeyword_number_input = 629, + eCSSKeyword_treeview = 630, + eCSSKeyword_treeitem = 631, + eCSSKeyword_treetwisty = 632, + eCSSKeyword_treetwistyopen = 633, + eCSSKeyword_treeline = 634, + eCSSKeyword_treeheader = 635, + eCSSKeyword_treeheadercell = 636, + eCSSKeyword_treeheadersortarrow = 637, + eCSSKeyword_progressbar = 638, + eCSSKeyword_progressbar_vertical = 639, + eCSSKeyword_progresschunk = 640, + eCSSKeyword_progresschunk_vertical = 641, + eCSSKeyword_tab = 642, + eCSSKeyword_tabpanels = 643, + eCSSKeyword_tabpanel = 644, + eCSSKeyword_tab_scroll_arrow_back = 645, + eCSSKeyword_tab_scroll_arrow_forward = 646, + eCSSKeyword_tooltip = 647, + eCSSKeyword_spinner = 648, + eCSSKeyword_spinner_upbutton = 649, + eCSSKeyword_spinner_downbutton = 650, + eCSSKeyword_spinner_textfield = 651, + eCSSKeyword_scrollbarbutton_up = 652, + eCSSKeyword_scrollbarbutton_down = 653, + eCSSKeyword_scrollbarbutton_left = 654, + eCSSKeyword_scrollbarbutton_right = 655, + eCSSKeyword_scrollbartrack_horizontal = 656, + eCSSKeyword_scrollbartrack_vertical = 657, + eCSSKeyword_scrollbarthumb_horizontal = 658, + eCSSKeyword_scrollbarthumb_vertical = 659, + eCSSKeyword_sheet = 660, + eCSSKeyword_textfield = 661, + eCSSKeyword_textfield_multiline = 662, + eCSSKeyword_caret = 663, + eCSSKeyword_searchfield = 664, + eCSSKeyword_menubar = 665, + eCSSKeyword_menupopup = 666, + eCSSKeyword_menuitem = 667, + eCSSKeyword_checkmenuitem = 668, + eCSSKeyword_radiomenuitem = 669, + eCSSKeyword_menucheckbox = 670, + eCSSKeyword_menuradio = 671, + eCSSKeyword_menuseparator = 672, + eCSSKeyword_menuarrow = 673, + eCSSKeyword_menuimage = 674, + eCSSKeyword_menuitemtext = 675, + eCSSKeyword_menulist = 676, + eCSSKeyword_menulist_button = 677, + eCSSKeyword_menulist_text = 678, + eCSSKeyword_menulist_textfield = 679, + eCSSKeyword_meterbar = 680, + eCSSKeyword_meterchunk = 681, + eCSSKeyword_minimal_ui = 682, + eCSSKeyword_range = 683, + eCSSKeyword_range_thumb = 684, + eCSSKeyword_sans_serif = 685, + eCSSKeyword_sans_serif_bold_italic = 686, + eCSSKeyword_sans_serif_italic = 687, + eCSSKeyword_scale_horizontal = 688, + eCSSKeyword_scale_vertical = 689, + eCSSKeyword_scalethumb_horizontal = 690, + eCSSKeyword_scalethumb_vertical = 691, + eCSSKeyword_scalethumbstart = 692, + eCSSKeyword_scalethumbend = 693, + eCSSKeyword_scalethumbtick = 694, + eCSSKeyword_groupbox = 695, + eCSSKeyword_checkbox_container = 696, + eCSSKeyword_radio_container = 697, + eCSSKeyword_checkbox_label = 698, + eCSSKeyword_radio_label = 699, + eCSSKeyword_button_focus = 700, + eCSSKeyword__moz_win_media_toolbox = 701, + eCSSKeyword__moz_win_communications_toolbox = 702, + eCSSKeyword__moz_win_browsertabbar_toolbox = 703, + eCSSKeyword__moz_win_mediatext = 704, + eCSSKeyword__moz_win_communicationstext = 705, + eCSSKeyword__moz_win_glass = 706, + eCSSKeyword__moz_win_borderless_glass = 707, + eCSSKeyword__moz_window_titlebar = 708, + eCSSKeyword__moz_window_titlebar_maximized = 709, + eCSSKeyword__moz_window_frame_left = 710, + eCSSKeyword__moz_window_frame_right = 711, + eCSSKeyword__moz_window_frame_bottom = 712, + eCSSKeyword__moz_window_button_close = 713, + eCSSKeyword__moz_window_button_minimize = 714, + eCSSKeyword__moz_window_button_maximize = 715, + eCSSKeyword__moz_window_button_restore = 716, + eCSSKeyword__moz_window_button_box = 717, + eCSSKeyword__moz_window_button_box_maximized = 718, + eCSSKeyword__moz_mac_help_button = 719, + eCSSKeyword__moz_win_exclude_glass = 720, + eCSSKeyword__moz_mac_vibrancy_light = 721, + eCSSKeyword__moz_mac_vibrancy_dark = 722, + eCSSKeyword__moz_mac_disclosure_button_closed = 723, + eCSSKeyword__moz_mac_disclosure_button_open = 724, + eCSSKeyword__moz_mac_source_list = 725, + eCSSKeyword__moz_mac_source_list_selection = 726, + eCSSKeyword__moz_mac_active_source_list_selection = 727, + eCSSKeyword_alphabetic = 728, + eCSSKeyword_bevel = 729, + eCSSKeyword_butt = 730, + eCSSKeyword_central = 731, + eCSSKeyword_crispedges = 732, + eCSSKeyword_evenodd = 733, + eCSSKeyword_geometricprecision = 734, + eCSSKeyword_hanging = 735, + eCSSKeyword_ideographic = 736, + eCSSKeyword_linearrgb = 737, + eCSSKeyword_mathematical = 738, + eCSSKeyword_miter = 739, + eCSSKeyword_no_change = 740, + eCSSKeyword_non_scaling_stroke = 741, + eCSSKeyword_nonzero = 742, + eCSSKeyword_optimizelegibility = 743, + eCSSKeyword_optimizequality = 744, + eCSSKeyword_optimizespeed = 745, + eCSSKeyword_reset_size = 746, + eCSSKeyword_srgb = 747, + eCSSKeyword_symbolic = 748, + eCSSKeyword_symbols = 749, + eCSSKeyword_text_after_edge = 750, + eCSSKeyword_text_before_edge = 751, + eCSSKeyword_use_script = 752, + eCSSKeyword__moz_crisp_edges = 753, + eCSSKeyword_space = 754, + eCSSKeyword_COUNT = 755, } pub const nsStyleStructID_nsStyleStructID_DUMMY1: root::nsStyleStructID = nsStyleStructID::nsStyleStructID_None; @@ -13918,8 +16935,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSProps_KTableEntry() { - assert_eq!(::std::mem::size_of::<nsCSSProps_KTableEntry>() , 4usize); - assert_eq!(::std::mem::align_of::<nsCSSProps_KTableEntry>() , 2usize); + assert_eq!(::std::mem::size_of::<nsCSSProps_KTableEntry>() , 4usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSProps_KTableEntry ) )); + assert_eq! (::std::mem::align_of::<nsCSSProps_KTableEntry>() , 2usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSProps_KTableEntry ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mKeyword + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSProps_KTableEntry ) , "::" , stringify ! ( mKeyword ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mValue + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSProps_KTableEntry ) , "::" , stringify ! ( mValue ) + )); } impl Clone for nsCSSProps_KTableEntry { fn clone(&self) -> Self { *self } @@ -14864,8 +17898,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSProps() { - assert_eq!(::std::mem::size_of::<nsCSSProps>() , 1usize); - assert_eq!(::std::mem::align_of::<nsCSSProps>() , 1usize); + assert_eq!(::std::mem::size_of::<nsCSSProps>() , 1usize , concat ! ( + "Size of: " , stringify ! ( nsCSSProps ) )); + assert_eq! (::std::mem::align_of::<nsCSSProps>() , 1usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSProps ) )); } impl Clone for nsCSSProps { fn clone(&self) -> Self { *self } @@ -14920,7 +17956,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct nsMainThreadPtrHandle<T> { - pub mPtr: root::RefPtr<T>, + pub mPtr: root::RefPtr<root::nsMainThreadPtrHolder<T>>, } #[repr(C)] #[derive(Debug, Copy)] @@ -14930,8 +17966,20 @@ pub mod root { } #[test] fn bindgen_test_layout_gfxFontFeature() { - assert_eq!(::std::mem::size_of::<gfxFontFeature>() , 8usize); - assert_eq!(::std::mem::align_of::<gfxFontFeature>() , 4usize); + assert_eq!(::std::mem::size_of::<gfxFontFeature>() , 8usize , concat ! + ( "Size of: " , stringify ! ( gfxFontFeature ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeature>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( gfxFontFeature ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeature ) ) . mTag as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontFeature ) , + "::" , stringify ! ( mTag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeature ) ) . mValue as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontFeature ) , + "::" , stringify ! ( mValue ) )); } impl Clone for gfxFontFeature { fn clone(&self) -> Self { *self } @@ -14944,8 +17992,22 @@ pub mod root { } #[test] fn bindgen_test_layout_gfxAlternateValue() { - assert_eq!(::std::mem::size_of::<gfxAlternateValue>() , 24usize); - assert_eq!(::std::mem::align_of::<gfxAlternateValue>() , 8usize); + assert_eq!(::std::mem::size_of::<gfxAlternateValue>() , 24usize , + concat ! ( "Size of: " , stringify ! ( gfxAlternateValue ) + )); + assert_eq! (::std::mem::align_of::<gfxAlternateValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( gfxAlternateValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxAlternateValue ) ) . alternate as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxAlternateValue ) + , "::" , stringify ! ( alternate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxAlternateValue ) ) . value as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxAlternateValue ) + , "::" , stringify ! ( value ) )); } #[repr(C)] #[derive(Debug)] @@ -14965,9 +18027,26 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_ValueList>() , - 24usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_ValueList>() - , 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_ValueList>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) + . name as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( + name ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) + . featureSelectors as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( + featureSelectors ) )); } #[repr(C)] #[derive(Debug)] @@ -14978,9 +18057,27 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValues() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValues>() - , 16usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValues>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValues>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) + . alternate as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify + ! ( alternate ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) + . valuelist as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify + ! ( valuelist ) )); } #[repr(C)] #[derive(Debug)] @@ -14992,9 +18089,38 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashKey() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashKey>() - , 40usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashKey>() - , 8usize); + , 40usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashKey>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) + ) . mFamily as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , + stringify ! ( mFamily ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) + ) . mPropVal as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , + stringify ! ( mPropVal ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) + ) . mName as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , + stringify ! ( mName ) )); } #[repr(C)] #[derive(Debug)] @@ -15019,14 +18145,60 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>() - , 56usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>() - , 8usize); + , 56usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry + ) ) . mKey as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , + stringify ! ( mKey ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry + ) ) . mValues as * const _ as usize } , 48usize , concat ! + ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , + stringify ! ( mValues ) )); } #[test] fn bindgen_test_layout_gfxFontFeatureValueSet() { - assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet>() , 64usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet>() , 8usize); + assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( gfxFontFeatureValueSet ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( gfxFontFeatureValueSet ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . mRefCnt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . + _mOwningThread as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . + mFontFeatureValues as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet ) , "::" , stringify ! ( + mFontFeatureValues ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -15036,8 +18208,21 @@ pub mod root { } #[test] fn bindgen_test_layout_gfxFontVariation() { - assert_eq!(::std::mem::size_of::<gfxFontVariation>() , 8usize); - assert_eq!(::std::mem::align_of::<gfxFontVariation>() , 4usize); + assert_eq!(::std::mem::size_of::<gfxFontVariation>() , 8usize , concat + ! ( "Size of: " , stringify ! ( gfxFontVariation ) )); + assert_eq! (::std::mem::align_of::<gfxFontVariation>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( gfxFontVariation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontVariation ) ) . mTag as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontVariation ) + , "::" , stringify ! ( mTag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontVariation ) ) . mValue as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontVariation ) + , "::" , stringify ! ( mValue ) )); } impl Clone for gfxFontVariation { fn clone(&self) -> Self { *self } @@ -15073,8 +18258,120 @@ pub mod root { } #[test] fn bindgen_test_layout_nsFont() { - assert_eq!(::std::mem::size_of::<nsFont>() , 96usize); - assert_eq!(::std::mem::align_of::<nsFont>() , 8usize); + assert_eq!(::std::mem::size_of::<nsFont>() , 96usize , concat ! ( + "Size of: " , stringify ! ( nsFont ) )); + assert_eq! (::std::mem::align_of::<nsFont>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . fontlist as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( fontlist ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . style as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( style ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . systemFont as * const _ + as usize } , 17usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( systemFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantCaps as * const _ + as usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantCaps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantNumeric as * + const _ as usize } , 19usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantNumeric ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantPosition as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantWidth as * const + _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantLigatures as * + const _ as usize } , 22usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantLigatures ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantEastAsian as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantEastAsian ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantAlternates as * + const _ as usize } , 26usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantAlternates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . smoothing as * const _ + as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( smoothing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . weight as * const _ as + usize } , 30usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( weight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . stretch as * const _ as + usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( stretch ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . kerning as * const _ as + usize } , 34usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( kerning ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . synthesis as * const _ + as usize } , 35usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( synthesis ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . size as * const _ as + usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( size ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . sizeAdjust as * const _ + as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( sizeAdjust ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . alternateValues as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( alternateValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . featureValueLookup as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( featureValueLookup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . fontFeatureSettings as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( fontFeatureSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . fontVariationSettings as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( fontVariationSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . languageOverride as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( languageOverride ) )); } pub const nsStyleUnit_eStyleUnit_MAX: root::nsStyleUnit = nsStyleUnit::eStyleUnit_Calc; @@ -15099,21 +18396,37 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy)] - pub struct _bindgen_ty_25 { + pub struct nsStyleUnion { pub mInt: root::__BindgenUnionField<i32>, pub mFloat: root::__BindgenUnionField<f32>, pub mPointer: root::__BindgenUnionField<*mut ::std::os::raw::c_void>, pub bindgen_union_field: u64, } #[test] - fn bindgen_test_layout__bindgen_ty_25() { - assert_eq!(::std::mem::size_of::<_bindgen_ty_25>() , 8usize); - assert_eq!(::std::mem::align_of::<_bindgen_ty_25>() , 8usize); - } - impl Clone for _bindgen_ty_25 { + fn bindgen_test_layout_nsStyleUnion() { + assert_eq!(::std::mem::size_of::<nsStyleUnion>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleUnion ) )); + assert_eq! (::std::mem::align_of::<nsStyleUnion>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleUnion ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUnion ) ) . mInt as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUnion ) , + "::" , stringify ! ( mInt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUnion ) ) . mFloat as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUnion ) , + "::" , stringify ! ( mFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUnion ) ) . mPointer as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUnion ) , + "::" , stringify ! ( mPointer ) )); + } + impl Clone for nsStyleUnion { fn clone(&self) -> Self { *self } } - pub type nsStyleUnion = root::_bindgen_ty_25; /** * Class that hold a single size specification used by the style * system. The size specification consists of two parts -- a number @@ -15138,8 +18451,31 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleCoord_CalcValue() { - assert_eq!(::std::mem::size_of::<nsStyleCoord_CalcValue>() , 12usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord_CalcValue>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleCoord_CalcValue>() , 12usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleCoord_CalcValue ) )); + assert_eq! (::std::mem::align_of::<nsStyleCoord_CalcValue>() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleCoord_CalcValue ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_CalcValue ) ) . mLength + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleCoord_CalcValue ) , "::" , stringify ! ( mLength ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_CalcValue ) ) . mPercent + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleCoord_CalcValue ) , "::" , stringify ! ( mPercent ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_CalcValue ) ) . + mHasPercent as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleCoord_CalcValue ) , "::" , stringify ! ( + mHasPercent ) )); } impl Clone for nsStyleCoord_CalcValue { fn clone(&self) -> Self { *self } @@ -15153,16 +18489,37 @@ pub mod root { pub type nsStyleCoord_Calc_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleCoord_Calc() { - assert_eq!(::std::mem::size_of::<nsStyleCoord_Calc>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord_Calc>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCoord_Calc>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsStyleCoord_Calc ) + )); + assert_eq! (::std::mem::align_of::<nsStyleCoord_Calc>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleCoord_Calc ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_Calc ) ) . mRefCnt as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCoord_Calc ) + , "::" , stringify ! ( mRefCnt ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsStyleCoord_CoordConstructorType { CoordConstructor = 0, } #[test] fn bindgen_test_layout_nsStyleCoord() { - assert_eq!(::std::mem::size_of::<nsStyleCoord>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCoord>() , 16usize , concat ! + ( "Size of: " , stringify ! ( nsStyleCoord ) )); + assert_eq! (::std::mem::align_of::<nsStyleCoord>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleCoord ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord ) ) . mUnit as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCoord ) , + "::" , stringify ! ( mUnit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord ) ) . mValue as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCoord ) , + "::" , stringify ! ( mValue ) )); } impl nsStyleCoord { #[inline] @@ -15194,8 +18551,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleSides() { - assert_eq!(::std::mem::size_of::<nsStyleSides>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleSides>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSides>() , 40usize , concat ! + ( "Size of: " , stringify ! ( nsStyleSides ) )); + assert_eq! (::std::mem::align_of::<nsStyleSides>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleSides ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSides ) ) . mUnits as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSides ) , + "::" , stringify ! ( mUnits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSides ) ) . mValues as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSides ) , + "::" , stringify ! ( mValues ) )); } impl nsStyleSides { #[inline] @@ -15231,8 +18600,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleCorners() { - assert_eq!(::std::mem::size_of::<nsStyleCorners>() , 72usize); - assert_eq!(::std::mem::align_of::<nsStyleCorners>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCorners>() , 72usize , concat + ! ( "Size of: " , stringify ! ( nsStyleCorners ) )); + assert_eq! (::std::mem::align_of::<nsStyleCorners>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleCorners ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCorners ) ) . mUnits as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCorners ) , + "::" , stringify ! ( mUnits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCorners ) ) . mValues as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCorners ) , + "::" , stringify ! ( mValues ) )); } impl nsStyleCorners { #[inline] @@ -15293,14 +18674,34 @@ pub mod root { #[test] fn bindgen_test_layout_imgRequestProxy_imgCancelRunnable() { assert_eq!(::std::mem::size_of::<imgRequestProxy_imgCancelRunnable>() - , 56usize); - assert_eq!(::std::mem::align_of::<imgRequestProxy_imgCancelRunnable>() - , 8usize); + , 56usize , concat ! ( + "Size of: " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) )); + assert_eq! (::std::mem::align_of::<imgRequestProxy_imgCancelRunnable>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) + . mOwner as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( + mOwner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) + . mStatus as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( + mStatus ) )); } #[test] fn bindgen_test_layout_imgRequestProxy() { - assert_eq!(::std::mem::size_of::<imgRequestProxy>() , 120usize); - assert_eq!(::std::mem::align_of::<imgRequestProxy>() , 8usize); + assert_eq!(::std::mem::size_of::<imgRequestProxy>() , 120usize , + concat ! ( "Size of: " , stringify ! ( imgRequestProxy ) + )); + assert_eq! (::std::mem::align_of::<imgRequestProxy>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( imgRequestProxy ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -15409,8 +18810,66 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueGradient() { - assert_eq!(::std::mem::size_of::<nsCSSValueGradient>() , 112usize); - assert_eq!(::std::mem::align_of::<nsCSSValueGradient>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueGradient>() , 112usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValueGradient ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValueGradient>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRadial as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsRadial ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRepeating + as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsRepeating ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + mIsLegacySyntax as * const _ as usize } , 2usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsLegacySyntax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + mIsExplicitSize as * const _ as usize } , 3usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsExplicitSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mBgPos as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mBgPos ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mAngle as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mAngle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + mRadialValues as * const _ as usize } , 56usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mRadialValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mStops as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mStops ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mRefCnt as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + _mOwningThread as * const _ as usize } , 104usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -15420,8 +18879,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValuePair() { - assert_eq!(::std::mem::size_of::<nsCSSValuePair>() , 32usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePair>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePair>() , 32usize , concat + ! ( "Size of: " , stringify ! ( nsCSSValuePair ) )); + assert_eq! (::std::mem::align_of::<nsCSSValuePair>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCSSValuePair ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair ) ) . mXValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair ) , + "::" , stringify ! ( mXValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair ) ) . mYValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair ) , + "::" , stringify ! ( mYValue ) )); } #[repr(C)] #[derive(Debug)] @@ -15434,8 +18905,23 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValuePair_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValuePair_heap>() , 48usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePair_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePair_heap>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValuePair_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValuePair_heap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValuePair_heap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair_heap ) ) . mRefCnt as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair_heap + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair_heap ) ) . + _mOwningThread as * const _ as usize } , 40usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair_heap + ) , "::" , stringify ! ( _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -15456,8 +18942,83 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueTokenStream() { - assert_eq!(::std::mem::size_of::<nsCSSValueTokenStream>() , 80usize); - assert_eq!(::std::mem::align_of::<nsCSSValueTokenStream>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueTokenStream>() , 80usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueTokenStream ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueTokenStream>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueTokenStream ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mRefCnt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + _mOwningThread as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mPropertyID as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mPropertyID + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mShorthandPropertyID as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + mShorthandPropertyID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mTokenStream as * const _ as usize } , 24usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + mTokenStream ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mBaseURI + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mBaseURI ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mSheetURI + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mSheetURI ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mSheetPrincipal as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + mSheetPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mLineNumber as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mLineNumber + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mLineOffset as * const _ as usize } , 68usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mLineOffset + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLevel as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mLevel ) + )); } #[repr(C)] #[derive(Debug)] @@ -15474,8 +19035,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSRect() { - assert_eq!(::std::mem::size_of::<nsCSSRect>() , 64usize); - assert_eq!(::std::mem::align_of::<nsCSSRect>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSRect>() , 64usize , concat ! ( + "Size of: " , stringify ! ( nsCSSRect ) )); + assert_eq! (::std::mem::align_of::<nsCSSRect>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mTop as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mTop ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mRight as * const _ + as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mRight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mBottom as * const _ + as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mBottom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mLeft as * const _ as + usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mLeft ) )); } #[repr(C)] #[derive(Debug)] @@ -15487,8 +19070,20 @@ pub mod root { pub type nsCSSRect_heap_HasThreadSafeRefCnt = root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSRect_heap() { - assert_eq!(::std::mem::size_of::<nsCSSRect_heap>() , 80usize); - assert_eq!(::std::mem::align_of::<nsCSSRect_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSRect_heap>() , 80usize , concat + ! ( "Size of: " , stringify ! ( nsCSSRect_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSRect_heap>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCSSRect_heap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect_heap ) ) . mRefCnt as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect_heap ) , + "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect_heap ) ) . _mOwningThread + as * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect_heap ) , + "::" , stringify ! ( _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -15498,8 +19093,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValueList() { - assert_eq!(::std::mem::size_of::<nsCSSValueList>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSSValueList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueList>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsCSSValueList ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueList>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCSSValueList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList ) ) . mValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList ) , + "::" , stringify ! ( mValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList ) ) . mNext as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList ) , + "::" , stringify ! ( mNext ) )); } #[repr(C)] #[derive(Debug)] @@ -15512,8 +19119,23 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueList_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValueList_heap>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSValueList_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueList_heap>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueList_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueList_heap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueList_heap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList_heap ) ) . mRefCnt as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList_heap + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList_heap ) ) . + _mOwningThread as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList_heap + ) , "::" , stringify ! ( _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -15525,8 +19147,23 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsCSSValueSharedList() { - assert_eq!(::std::mem::size_of::<nsCSSValueSharedList>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCSSValueSharedList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueSharedList>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueSharedList ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueSharedList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueSharedList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueSharedList ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueSharedList ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueSharedList ) ) . mHead as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueSharedList ) , "::" , stringify ! ( mHead ) )); } #[repr(C)] #[derive(Debug)] @@ -15537,8 +19174,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValuePairList() { - assert_eq!(::std::mem::size_of::<nsCSSValuePairList>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePairList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePairList>() , 40usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValuePairList ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValuePairList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValuePairList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList ) ) . mXValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePairList + ) , "::" , stringify ! ( mXValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList ) ) . mYValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePairList + ) , "::" , stringify ! ( mYValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList ) ) . mNext as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePairList + ) , "::" , stringify ! ( mNext ) )); } #[repr(C)] #[derive(Debug)] @@ -15551,10 +19207,26 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValuePairList_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValuePairList_heap>() , - 56usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePairList_heap>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePairList_heap>() , 56usize + , concat ! ( + "Size of: " , stringify ! ( nsCSSValuePairList_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValuePairList_heap>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSValuePairList_heap ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList_heap ) ) . mRefCnt + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValuePairList_heap ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList_heap ) ) . + _mOwningThread as * const _ as usize } , 48usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCSSValuePairList_heap ) , "::" , stringify ! ( + _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -15565,8 +19237,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValueTriplet() { - assert_eq!(::std::mem::size_of::<nsCSSValueTriplet>() , 48usize); - assert_eq!(::std::mem::align_of::<nsCSSValueTriplet>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueTriplet>() , 48usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValueTriplet ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValueTriplet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueTriplet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet ) ) . mXValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) + , "::" , stringify ! ( mXValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet ) ) . mYValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) + , "::" , stringify ! ( mYValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet ) ) . mZValue as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) + , "::" , stringify ! ( mZValue ) )); } #[repr(C)] #[derive(Debug)] @@ -15579,8 +19270,26 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueTriplet_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValueTriplet_heap>() , 64usize); - assert_eq!(::std::mem::align_of::<nsCSSValueTriplet_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueTriplet_heap>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueTriplet_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueTriplet_heap>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSValueTriplet_heap ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet_heap ) ) . mRefCnt + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTriplet_heap ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet_heap ) ) . + _mOwningThread as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTriplet_heap ) , "::" , stringify ! ( + _mOwningThread ) )); } #[repr(C)] #[derive(Debug)] @@ -15596,8 +19305,48 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueFloatColor() { - assert_eq!(::std::mem::size_of::<nsCSSValueFloatColor>() , 32usize); - assert_eq!(::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueFloatColor>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueFloatColor ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueFloatColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + _mOwningThread as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( + _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + mComponent1 as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent1 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + mComponent2 as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent2 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + mComponent3 as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent3 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mAlpha as + * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mAlpha ) )); } #[repr(C)] #[derive(Debug)] @@ -15614,8 +19363,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValue_Array() { - assert_eq!(::std::mem::size_of::<nsCSSValue_Array>() , 32usize); - assert_eq!(::std::mem::align_of::<nsCSSValue_Array>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValue_Array>() , 32usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValue_Array ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValue_Array>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValue_Array ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue_Array ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue_Array ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue_Array ) ) . mCount as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue_Array ) + , "::" , stringify ! ( mCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue_Array ) ) . mArray as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue_Array ) + , "::" , stringify ! ( mArray ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -15651,18 +19419,164 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValue__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsCSSValue__bindgen_ty_1>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_1>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsCSSValue__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSValue__bindgen_ty_1 ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mInt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mInt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFloat + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloat ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mString as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mString + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mColor + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mArray + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mArray ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mURL + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mImage + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mGridTemplateAreas as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mGridTemplateAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mGradient as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mTokenStream as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mTokenStream ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPair + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPair ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mRect + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mRect ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mTriplet as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mTriplet + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mList + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mList ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mListDependent as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mListDependent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mSharedList as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mSharedList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mPairList as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mPairList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mPairListDependent as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mPairListDependent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mFloatColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mFloatColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mFontFamilyList as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mFontFamilyList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mComplexColor as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mComplexColor ) )); } impl Clone for nsCSSValue__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCSSValue() { - assert_eq!(::std::mem::size_of::<nsCSSValue>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCSSValue>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValue>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsCSSValue ) )); + assert_eq! (::std::mem::align_of::<nsCSSValue>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue ) ) . mUnit as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" + , stringify ! ( mUnit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue ) ) . mValue as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" + , stringify ! ( mValue ) )); } #[repr(C)] #[derive(Debug)] @@ -15673,8 +19587,32 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValueGradientStop() { - assert_eq!(::std::mem::size_of::<nsCSSValueGradientStop>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSValueGradientStop>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueGradientStop>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueGradientStop ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueGradientStop>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSValueGradientStop ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradientStop ) ) . + mLocation as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueGradientStop ) , "::" , stringify ! ( mLocation + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mColor + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueGradientStop ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradientStop ) ) . + mIsInterpolationHint as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueGradientStop ) , "::" , stringify ! ( + mIsInterpolationHint ) )); } #[repr(C)] pub struct nsQueryFrame__bindgen_vtable { @@ -15867,8 +19805,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsQueryFrame() { - assert_eq!(::std::mem::size_of::<nsQueryFrame>() , 8usize); - assert_eq!(::std::mem::align_of::<nsQueryFrame>() , 8usize); + assert_eq!(::std::mem::size_of::<nsQueryFrame>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsQueryFrame ) )); + assert_eq! (::std::mem::align_of::<nsQueryFrame>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsQueryFrame ) )); } impl Clone for nsQueryFrame { fn clone(&self) -> Self { *self } @@ -16060,8 +20000,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrName() { - assert_eq!(::std::mem::size_of::<nsAttrName>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAttrName>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrName>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsAttrName ) )); + assert_eq! (::std::mem::align_of::<nsAttrName>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsAttrName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrName ) ) . mBits as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAttrName ) , "::" + , stringify ! ( mBits ) )); } #[repr(u32)] /** @@ -16113,8 +20060,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISelectionDisplay() { - assert_eq!(::std::mem::size_of::<nsISelectionDisplay>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISelectionDisplay>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISelectionDisplay>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISelectionDisplay ) )); + assert_eq! (::std::mem::align_of::<nsISelectionDisplay>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsISelectionDisplay ) )); } impl Clone for nsISelectionDisplay { fn clone(&self) -> Self { *self } @@ -16257,8 +20208,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISelectionController() { - assert_eq!(::std::mem::size_of::<nsISelectionController>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISelectionController>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISelectionController>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISelectionController ) )); + assert_eq! (::std::mem::align_of::<nsISelectionController>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsISelectionController ) + )); } impl Clone for nsISelectionController { fn clone(&self) -> Self { *self } @@ -16278,8 +20234,46 @@ pub mod root { pub struct nsFrameManagerBase_UndisplayedMap([u8; 0]); #[test] fn bindgen_test_layout_nsFrameManagerBase() { - assert_eq!(::std::mem::size_of::<nsFrameManagerBase>() , 88usize); - assert_eq!(::std::mem::align_of::<nsFrameManagerBase>() , 8usize); + assert_eq!(::std::mem::size_of::<nsFrameManagerBase>() , 88usize , + concat ! ( "Size of: " , stringify ! ( nsFrameManagerBase ) + )); + assert_eq! (::std::mem::align_of::<nsFrameManagerBase>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsFrameManagerBase ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . mPresShell + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mPresShell ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . mRootFrame + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mRootFrame ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mPlaceholderMap as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mPlaceholderMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mUndisplayedMap as * const _ as usize } , 64usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mUndisplayedMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mDisplayContentsMap as * const _ as usize } , 72usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mDisplayContentsMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mIsDestroyingFrames as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mIsDestroyingFrames ) )); } #[repr(C)] #[derive(Debug)] @@ -16308,13 +20302,58 @@ pub mod root { pub enum nsPresArena_FreeList__bindgen_ty_1 { ALLOW_MEMMOVE = 0, } #[test] fn bindgen_test_layout_nsPresArena_FreeList() { - assert_eq!(::std::mem::size_of::<nsPresArena_FreeList>() , 40usize); - assert_eq!(::std::mem::align_of::<nsPresArena_FreeList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPresArena_FreeList>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsPresArena_FreeList ) )); + assert_eq! (::std::mem::align_of::<nsPresArena_FreeList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPresArena_FreeList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . mEntries + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( mEntries ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . mEntrySize + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( mEntrySize ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . + mEntriesEverAllocated as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( + mEntriesEverAllocated ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . mKey as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( mKey ) )); } #[test] fn bindgen_test_layout_nsPresArena() { - assert_eq!(::std::mem::size_of::<nsPresArena>() , 152usize); - assert_eq!(::std::mem::align_of::<nsPresArena>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPresArena>() , 152usize , concat ! + ( "Size of: " , stringify ! ( nsPresArena ) )); + assert_eq! (::std::mem::align_of::<nsPresArena>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsPresArena ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena ) ) . mFreeLists as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresArena ) , + "::" , stringify ! ( mFreeLists ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena ) ) . mPool as * const _ + as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresArena ) , + "::" , stringify ! ( mPool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena ) ) . mArenaRefPtrs as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresArena ) , + "::" , stringify ! ( mArenaRefPtrs ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -16326,8 +20365,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLArena() { - assert_eq!(::std::mem::size_of::<PLArena>() , 32usize); - assert_eq!(::std::mem::align_of::<PLArena>() , 8usize); + assert_eq!(::std::mem::size_of::<PLArena>() , 32usize , concat ! ( + "Size of: " , stringify ! ( PLArena ) )); + assert_eq! (::std::mem::align_of::<PLArena>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( PLArena ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . next as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . base as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . limit as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( limit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . avail as * const _ as + usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( avail ) )); } impl Clone for PLArena { fn clone(&self) -> Self { *self } @@ -16342,8 +20403,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLArenaPool() { - assert_eq!(::std::mem::size_of::<PLArenaPool>() , 56usize); - assert_eq!(::std::mem::align_of::<PLArenaPool>() , 8usize); + assert_eq!(::std::mem::size_of::<PLArenaPool>() , 56usize , concat ! ( + "Size of: " , stringify ! ( PLArenaPool ) )); + assert_eq! (::std::mem::align_of::<PLArenaPool>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLArenaPool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . first as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( first ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . current as * const + _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( current ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . arenasize as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( arenasize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . mask as * const _ + as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( mask ) )); } impl Clone for PLArenaPool { fn clone(&self) -> Self { *self } @@ -16405,10 +20488,13 @@ pub mod root { } #[test] fn bindgen_test_layout_imgINotificationObserver() { - assert_eq!(::std::mem::size_of::<imgINotificationObserver>() , - 8usize); - assert_eq!(::std::mem::align_of::<imgINotificationObserver>() , - 8usize); + assert_eq!(::std::mem::size_of::<imgINotificationObserver>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( imgINotificationObserver ) )); + assert_eq! (::std::mem::align_of::<imgINotificationObserver>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( imgINotificationObserver ) + )); } impl Clone for imgINotificationObserver { fn clone(&self) -> Self { *self } @@ -16772,8 +20858,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScrollableFrame() { - assert_eq!(::std::mem::size_of::<nsIScrollableFrame>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIScrollableFrame>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScrollableFrame>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIScrollableFrame ) + )); + assert_eq! (::std::mem::align_of::<nsIScrollableFrame>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScrollableFrame ) )); } impl Clone for nsIScrollableFrame { fn clone(&self) -> Self { *self } @@ -16810,8 +20900,43 @@ pub mod root { } #[test] fn bindgen_test_layout_CapturingContentInfo() { - assert_eq!(::std::mem::size_of::<CapturingContentInfo>() , 16usize); - assert_eq!(::std::mem::align_of::<CapturingContentInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<CapturingContentInfo>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( CapturingContentInfo ) )); + assert_eq! (::std::mem::align_of::<CapturingContentInfo>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CapturingContentInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . mAllowed + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mAllowed ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . + mPointerLock as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mPointerLock + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . + mRetargetToElement as * const _ as usize } , 2usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( + mRetargetToElement ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . + mPreventDrag as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mPreventDrag + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . mContent + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mContent ) + )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -16895,8 +21020,291 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleDisplay() { - assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize); - assert_eq!(::std::mem::align_of::<nsStyleDisplay>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat + ! ( "Size of: " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBinding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mContain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * + const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAppearance ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * + const _ as usize } , 13usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat + as * const _ as usize } , 14usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * + const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakInside ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as + * const _ as usize } , 17usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakBefore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * + const _ as usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakAfter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * + const _ as usize } , 19usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox + as * const _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowClipBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * + const _ as usize } , 22usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mResize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * + const _ as usize } , 23usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mIsolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * + const _ as usize } , 25usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTopLayer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mWillChangeBitField as * const _ as usize } , 26usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChangeBitField ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChange ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTouchAction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior + as * const _ as usize } , 41usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollBehavior ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX + as * const _ as usize } , 42usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY + as * const _ as usize } , 43usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsX as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsY as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapDestination as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapDestination ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapCoordinate as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapCoordinate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mBackfaceVisibility as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBackfaceVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle + as * const _ as usize } , 113usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as + * const _ as usize } , 114usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mSpecifiedTransform as * const _ as usize } , 120usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mSpecifiedTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin + as * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mChildPerspective as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mChildPerspective ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mPerspectiveOrigin as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPerspectiveOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign + as * const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mVerticalAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as + * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionTimingFunctionCount as * const _ as usize } , + 288usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDurationCount as * const _ as usize } , + 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDelayCount as * const _ as usize } , 296usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionPropertyCount as * const _ as usize } , + 300usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionPropertyCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * + const _ as usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimations ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationTimingFunctionCount as * const _ as usize } , + 368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDurationCount as * const _ as usize } , 372usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDelayCount as * const _ as usize } , 376usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationNameCount as * const _ as usize } , 380usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationNameCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDirectionCount as * const _ as usize } , + 384usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDirectionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationFillModeCount as * const _ as usize } , 388usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationFillModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationPlayStateCount as * const _ as usize } , + 392usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationPlayStateCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationIterationCountCount as * const _ as usize } , + 396usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationIterationCountCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as + * const _ as usize } , 400usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mShapeOutside ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -16912,8 +21320,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILanguageAtomService() { - assert_eq!(::std::mem::size_of::<nsILanguageAtomService>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILanguageAtomService>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILanguageAtomService>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsILanguageAtomService ) )); + assert_eq! (::std::mem::align_of::<nsILanguageAtomService>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsILanguageAtomService ) + )); } impl Clone for nsILanguageAtomService { fn clone(&self) -> Self { *self } @@ -16941,8 +21354,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILinkHandler() { - assert_eq!(::std::mem::size_of::<nsILinkHandler>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILinkHandler>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILinkHandler>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsILinkHandler ) )); + assert_eq! (::std::mem::align_of::<nsILinkHandler>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsILinkHandler ) )); } impl Clone for nsILinkHandler { fn clone(&self) -> Self { *self } @@ -16979,18 +21394,44 @@ pub mod root { #[test] fn bindgen_test_layout_nsInvalidateRequestList_Request() { assert_eq!(::std::mem::size_of::<nsInvalidateRequestList_Request>() , - 20usize); - assert_eq!(::std::mem::align_of::<nsInvalidateRequestList_Request>() , - 4usize); + 20usize , concat ! ( + "Size of: " , stringify ! ( nsInvalidateRequestList_Request + ) )); + assert_eq! (::std::mem::align_of::<nsInvalidateRequestList_Request>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsInvalidateRequestList_Request ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsInvalidateRequestList_Request ) ) . + mRect as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsInvalidateRequestList_Request ) , "::" , stringify ! ( + mRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsInvalidateRequestList_Request ) ) . + mFlags as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsInvalidateRequestList_Request ) , "::" , stringify ! ( + mFlags ) )); } impl Clone for nsInvalidateRequestList_Request { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsInvalidateRequestList() { - assert_eq!(::std::mem::size_of::<nsInvalidateRequestList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsInvalidateRequestList>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsInvalidateRequestList>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsInvalidateRequestList ) )); + assert_eq! (::std::mem::align_of::<nsInvalidateRequestList>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsInvalidateRequestList ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsInvalidateRequestList ) ) . + mRequests as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsInvalidateRequestList ) , "::" , stringify ! ( mRequests + ) )); } #[repr(C)] #[derive(Debug)] @@ -17012,14 +21453,66 @@ pub mod root { #[test] fn bindgen_test_layout_nsRootPresContext_RunWillPaintObservers() { assert_eq!(::std::mem::size_of::<nsRootPresContext_RunWillPaintObservers>() - , 48usize); - assert_eq!(::std::mem::align_of::<nsRootPresContext_RunWillPaintObservers>() - , 8usize); + , 48usize , concat ! ( + "Size of: " , stringify ! ( + nsRootPresContext_RunWillPaintObservers ) )); + assert_eq! (::std::mem::align_of::<nsRootPresContext_RunWillPaintObservers>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsRootPresContext_RunWillPaintObservers ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsRootPresContext_RunWillPaintObservers ) + ) . mPresContext as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsRootPresContext_RunWillPaintObservers ) , "::" , + stringify ! ( mPresContext ) )); } #[test] fn bindgen_test_layout_nsRootPresContext() { - assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1384usize); - assert_eq!(::std::mem::align_of::<nsRootPresContext>() , 8usize); + assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1384usize , + concat ! ( "Size of: " , stringify ! ( nsRootPresContext ) + )); + assert_eq! (::std::mem::align_of::<nsRootPresContext>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsRootPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mNotifyDidPaintTimer as * const _ as usize } , 1296usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mNotifyDidPaintTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mApplyPluginGeometryTimer as * const _ as usize } , + 1304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mApplyPluginGeometryTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mRegisteredPlugins as * const _ as usize } , 1312usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mRegisteredPlugins ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mWillPaintObservers as * const _ as usize } , 1360usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mWillPaintObservers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mWillPaintFallbackEvent as * const _ as usize } , + 1368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mWillPaintFallbackEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mDOMGeneration as * const _ as usize } , 1376usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mDOMGeneration ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -17038,9 +21531,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISecurityInfoProvider() { - assert_eq!(::std::mem::size_of::<nsISecurityInfoProvider>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISecurityInfoProvider>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsISecurityInfoProvider>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISecurityInfoProvider ) )); + assert_eq! (::std::mem::align_of::<nsISecurityInfoProvider>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsISecurityInfoProvider ) + )); } impl Clone for nsISecurityInfoProvider { fn clone(&self) -> Self { *self } @@ -17083,8 +21580,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISupportsPriority() { - assert_eq!(::std::mem::size_of::<nsISupportsPriority>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISupportsPriority>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISupportsPriority>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISupportsPriority ) )); + assert_eq! (::std::mem::align_of::<nsISupportsPriority>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsISupportsPriority ) )); } impl Clone for nsISupportsPriority { fn clone(&self) -> Self { *self } @@ -17103,8 +21604,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsITimedChannel() { - assert_eq!(::std::mem::size_of::<nsITimedChannel>() , 8usize); - assert_eq!(::std::mem::align_of::<nsITimedChannel>() , 8usize); + assert_eq!(::std::mem::size_of::<nsITimedChannel>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsITimedChannel ) )); + assert_eq! (::std::mem::align_of::<nsITimedChannel>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsITimedChannel ) )); } impl Clone for nsITimedChannel { fn clone(&self) -> Self { *self } @@ -17124,9 +21628,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsIAsyncVerifyRedirectCallback() { assert_eq!(::std::mem::size_of::<nsIAsyncVerifyRedirectCallback>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsIAsyncVerifyRedirectCallback>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsIAsyncVerifyRedirectCallback + ) )); + assert_eq! (::std::mem::align_of::<nsIAsyncVerifyRedirectCallback>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIAsyncVerifyRedirectCallback ) )); } impl Clone for nsIAsyncVerifyRedirectCallback { fn clone(&self) -> Self { *self } @@ -17165,8 +21673,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIChannelEventSink() { - assert_eq!(::std::mem::size_of::<nsIChannelEventSink>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIChannelEventSink>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIChannelEventSink>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIChannelEventSink ) )); + assert_eq! (::std::mem::align_of::<nsIChannelEventSink>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIChannelEventSink ) )); } impl Clone for nsIChannelEventSink { fn clone(&self) -> Self { *self } @@ -17186,9 +21698,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsIThreadRetargetableStreamListener() { assert_eq!(::std::mem::size_of::<nsIThreadRetargetableStreamListener>() - , 8usize); - assert_eq!(::std::mem::align_of::<nsIThreadRetargetableStreamListener>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + nsIThreadRetargetableStreamListener ) )); + assert_eq! (::std::mem::align_of::<nsIThreadRetargetableStreamListener>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIThreadRetargetableStreamListener ) )); } impl Clone for nsIThreadRetargetableStreamListener { fn clone(&self) -> Self { *self } @@ -17249,6 +21765,7 @@ pub mod root { pub mProgressTracker: root::RefPtr<root::mozilla::image::ProgressTracker>, pub mImage: root::RefPtr<root::mozilla::image::Image>, pub _bitfield_1: u8, + pub __bindgen_padding_0: [u8; 7usize], } pub type imgRequest_Image = root::mozilla::image::Image; pub type imgRequest_ImageCacheKey = root::mozilla::image::ImageCacheKey; @@ -17260,82 +21777,10 @@ pub mod root { pub type imgRequest_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_imgRequest() { - assert_eq!(::std::mem::size_of::<imgRequest>() , 400usize); - assert_eq!(::std::mem::align_of::<imgRequest>() , 8usize); - } - impl imgRequest { - #[inline] - pub fn mIsMultiPartChannel(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mIsMultiPartChannel(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mGotData(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mGotData(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } - #[inline] - pub fn mIsInCache(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u8)) >> - 2u32) as u8) - } - } - #[inline] - pub fn set_mIsInCache(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 2u32) & (4usize as u8); - } - #[inline] - pub fn mDecodeRequested(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u8)) >> - 3u32) as u8) - } - } - #[inline] - pub fn set_mDecodeRequested(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 3u32) & (8usize as u8); - } - #[inline] - pub fn mNewPartPending(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u8)) >> - 4u32) as u8) - } - } - #[inline] - pub fn set_mNewPartPending(&mut self, val: bool) { - self._bitfield_1 &= !(16usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 4u32) & (16usize as u8); - } - #[inline] - pub fn mHadInsecureRedirect(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u8)) >> - 5u32) as u8) - } - } - #[inline] - pub fn set_mHadInsecureRedirect(&mut self, val: bool) { - self._bitfield_1 &= !(32usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 5u32) & (32usize as u8); - } + assert_eq!(::std::mem::size_of::<imgRequest>() , 400usize , concat ! ( + "Size of: " , stringify ! ( imgRequest ) )); + assert_eq! (::std::mem::align_of::<imgRequest>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( imgRequest ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -17353,8 +21798,50 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleVisibility() { - assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize); - assert_eq!(::std::mem::align_of::<nsStyleVisibility>() , 1usize); + assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVisibility>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageOrientation as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as + * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageRendering as * const _ as usize } , 3usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mWritingMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mTextOrientation as * const _ as usize } , 5usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mTextOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust + as * const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mColorAdjust ) )); } #[repr(C)] #[derive(Debug)] @@ -17375,8 +21862,77 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleFont() { - assert_eq!(::std::mem::size_of::<nsStyleFont>() , 128usize); - assert_eq!(::std::mem::align_of::<nsStyleFont>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleFont>() , 128usize , concat ! + ( "Size of: " , stringify ! ( nsStyleFont ) )); + assert_eq! (::std::mem::align_of::<nsStyleFont>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ + as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * + const _ as usize } , 100usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mGenericID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * + const _ as usize } , 101usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptLevel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * + const _ as usize } , 102usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathVariant ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * + const _ as usize } , 103usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio + as * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMinFontSizeRatio ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage + as * const _ as usize } , 105usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mExplicitLanguage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * + const _ as usize } , 106usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mAllowZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptUnconstrainedSize as * const _ as usize } , + 108usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptUnconstrainedSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptMinSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptSizeMultiplier as * const _ as usize } , 116usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptSizeMultiplier ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mLanguage ) )); } #[repr(C)] #[derive(Debug)] @@ -17387,8 +21943,28 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleGradientStop() { - assert_eq!(::std::mem::size_of::<nsStyleGradientStop>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleGradientStop>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleGradientStop>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleGradientStop ) )); + assert_eq! (::std::mem::align_of::<nsStyleGradientStop>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGradientStop ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradientStop ) ) . mLocation + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradientStop + ) , "::" , stringify ! ( mLocation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradientStop ) ) . mColor as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradientStop + ) , "::" , stringify ! ( mColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradientStop ) ) . + mIsInterpolationHint as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradientStop + ) , "::" , stringify ! ( mIsInterpolationHint ) )); } #[repr(C)] #[derive(Debug)] @@ -17408,8 +21984,67 @@ pub mod root { pub type nsStyleGradient_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleGradient() { - assert_eq!(::std::mem::size_of::<nsStyleGradient>() , 104usize); - assert_eq!(::std::mem::align_of::<nsStyleGradient>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleGradient>() , 104usize , + concat ! ( "Size of: " , stringify ! ( nsStyleGradient ) + )); + assert_eq! (::std::mem::align_of::<nsStyleGradient>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mShape as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mShape ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mSize as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRepeating as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRepeating ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mLegacySyntax + as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mLegacySyntax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosX as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mBgPosX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosY as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mBgPosY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mAngle as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mAngle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusX as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRadiusX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusY as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRadiusY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mStops as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mStops ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRefCnt as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRefCnt ) )); } /** * A wrapper for an imgRequestProxy that supports off-main-thread creation @@ -17457,8 +22092,44 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleImageRequest() { - assert_eq!(::std::mem::size_of::<nsStyleImageRequest>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleImageRequest>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleImageRequest>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleImageRequest ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageRequest>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleImageRequest ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . + mRequestProxy as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mRequestProxy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mImageValue + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mImageValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . + mImageTracker as * const _ as usize } , 24usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mImageTracker ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mModeFlags + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mModeFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mResolved + as * const _ as usize } , 33usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mResolved ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -17476,8 +22147,26 @@ pub mod root { } #[test] fn bindgen_test_layout_CachedBorderImageData() { - assert_eq!(::std::mem::size_of::<CachedBorderImageData>() , 24usize); - assert_eq!(::std::mem::align_of::<CachedBorderImageData>() , 8usize); + assert_eq!(::std::mem::size_of::<CachedBorderImageData>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( CachedBorderImageData ) )); + assert_eq! (::std::mem::align_of::<CachedBorderImageData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CachedBorderImageData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CachedBorderImageData ) ) . + mCachedSVGViewportSize as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CachedBorderImageData ) , "::" , stringify ! ( + mCachedSVGViewportSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CachedBorderImageData ) ) . + mSubImages as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CachedBorderImageData ) , "::" , stringify ! ( mSubImages + ) )); } /** * Represents a paintable image of one of the following types. @@ -17510,17 +22199,56 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleImage__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleImage__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleImage__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleImage__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleImage__bindgen_ty_1 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . + mImage as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mImage + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . + mGradient as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( + mGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . + mElementId as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( + mElementId ) )); } impl Clone for nsStyleImage__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleImage() { - assert_eq!(::std::mem::size_of::<nsStyleImage>() , 32usize); - assert_eq!(::std::mem::align_of::<nsStyleImage>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleImage>() , 32usize , concat ! + ( "Size of: " , stringify ! ( nsStyleImage ) )); + assert_eq! (::std::mem::align_of::<nsStyleImage>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage ) ) . mCachedBIData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImage ) , + "::" , stringify ! ( mCachedBIData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage ) ) . mType as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImage ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage ) ) . mCropRect as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImage ) , + "::" , stringify ! ( mCropRect ) )); } #[repr(C)] #[derive(Debug)] @@ -17529,8 +22257,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleColor() { - assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize); - assert_eq!(::std::mem::align_of::<nsStyleColor>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize , concat ! ( + "Size of: " , stringify ! ( nsStyleColor ) )); + assert_eq! (::std::mem::align_of::<nsStyleColor>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColor ) , + "::" , stringify ! ( mColor ) )); } /** * An array of objects, similar to AutoTArray<T,1> but which is memmovable. It @@ -17634,9 +22369,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleImageLayers_Size_Dimension() { assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Size_Dimension>() - , 12usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Size_Dimension>() - , 4usize); + , 12usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleImageLayers_Size_Dimension ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Size_Dimension>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleImageLayers_Size_Dimension ) )); } impl Clone for nsStyleImageLayers_Size_Dimension { fn clone(&self) -> Self { *self } @@ -17652,10 +22391,37 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageLayers_Size() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Size>() , - 28usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Size>() , - 4usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Size>() , 28usize + , concat ! ( + "Size of: " , stringify ! ( nsStyleImageLayers_Size ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Size>() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers_Size ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mWidth + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( mWidth ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mHeight + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( mHeight ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . + mWidthType as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( + mWidthType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . + mHeightType as * const _ as usize } , 25usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( + mHeightType ) )); } impl Clone for nsStyleImageLayers_Size { fn clone(&self) -> Self { *self } @@ -17668,10 +22434,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageLayers_Repeat() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Repeat>() , - 2usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Repeat>() , - 1usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Repeat>() , 2usize + , concat ! ( + "Size of: " , stringify ! ( nsStyleImageLayers_Repeat ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Repeat>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers_Repeat + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . + mXRepeat as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Repeat ) , "::" , stringify ! ( + mXRepeat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . + mYRepeat as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Repeat ) , "::" , stringify ! ( + mYRepeat ) )); } impl Clone for nsStyleImageLayers_Repeat { fn clone(&self) -> Self { *self } @@ -17696,9 +22477,78 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleImageLayers_Layer() { assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Layer>() , - 104usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Layer>() , - 8usize); + 104usize , concat ! ( + "Size of: " , stringify ! ( nsStyleImageLayers_Layer ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Layer>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers_Layer ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mImage + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mImage ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mSourceURI as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mSourceURI ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mPosition as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mSize + as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mSize ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mClip + as * const _ as usize } , 92usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mClip ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mOrigin as * const _ as usize } , 93usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mOrigin + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mAttachment as * const _ as usize } , 94usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mAttachment ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mBlendMode as * const _ as usize } , 95usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mBlendMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mComposite as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mComposite ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mMaskMode as * const _ as usize } , 97usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mMaskMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mRepeat as * const _ as usize } , 98usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mRepeat + ) )); } extern "C" { #[link_name = "_ZN18nsStyleImageLayers21kBackgroundLayerTableE"] @@ -17712,8 +22562,78 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageLayers() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers>() , 160usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers>() , 160usize , + concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers ) + )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mAttachmentCount as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mAttachmentCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mClipCount + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mClipCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mOriginCount + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mOriginCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mRepeatCount + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mRepeatCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mPositionXCount as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mPositionXCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mPositionYCount as * const _ as usize } , 20usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mPositionYCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mImageCount + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mImageCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mSizeCount + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mSizeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mMaskModeCount as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mMaskModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mBlendModeCount as * const _ as usize } , 36usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mBlendModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mCompositeCount as * const _ as usize } , 40usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mCompositeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mLayers as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mLayers ) )); } #[repr(C)] #[derive(Debug)] @@ -17723,8 +22643,23 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleBackground() { - assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 168usize); - assert_eq!(::std::mem::align_of::<nsStyleBackground>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 168usize , + concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBackground>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleBackground ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . + mBackgroundColor as * const _ as usize } , 160usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mBackgroundColor ) )); } #[repr(C)] #[derive(Debug)] @@ -17733,8 +22668,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleMargin() { - assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleMargin>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize , concat ! + ( "Size of: " , stringify ! ( nsStyleMargin ) )); + assert_eq! (::std::mem::align_of::<nsStyleMargin>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleMargin ) , + "::" , stringify ! ( mMargin ) )); } #[repr(C)] #[derive(Debug)] @@ -17743,8 +22685,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStylePadding() { - assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStylePadding>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStylePadding ) )); + assert_eq! (::std::mem::align_of::<nsStylePadding>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStylePadding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePadding ) , + "::" , stringify ! ( mPadding ) )); } #[repr(C)] #[derive(Debug)] @@ -17754,8 +22703,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsBorderColors() { - assert_eq!(::std::mem::size_of::<nsBorderColors>() , 16usize); - assert_eq!(::std::mem::align_of::<nsBorderColors>() , 8usize); + assert_eq!(::std::mem::size_of::<nsBorderColors>() , 16usize , concat + ! ( "Size of: " , stringify ! ( nsBorderColors ) )); + assert_eq! (::std::mem::align_of::<nsBorderColors>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsBorderColors ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBorderColors ) ) . mNext as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBorderColors ) , + "::" , stringify ! ( mNext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBorderColors ) ) . mColor as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBorderColors ) , + "::" , stringify ! ( mColor ) )); } #[repr(C)] #[derive(Debug)] @@ -17770,8 +22731,46 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSShadowItem() { - assert_eq!(::std::mem::size_of::<nsCSSShadowItem>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSSShadowItem>() , 4usize); + assert_eq!(::std::mem::size_of::<nsCSSShadowItem>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsCSSShadowItem ) )); + assert_eq! (::std::mem::align_of::<nsCSSShadowItem>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSShadowItem ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mXOffset as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mXOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mYOffset as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mYOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mRadius as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mSpread as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mSpread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mColor as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mHasColor as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mHasColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mInset as * + const _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mInset ) )); } #[repr(C)] #[derive(Debug)] @@ -17783,8 +22782,27 @@ pub mod root { pub type nsCSSShadowArray_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsCSSShadowArray() { - assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSShadowArray>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 40usize , + concat ! ( "Size of: " , stringify ! ( nsCSSShadowArray ) + )); + assert_eq! (::std::mem::align_of::<nsCSSShadowArray>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSShadowArray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowArray ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowArray ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowArray ) ) . mLength as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowArray ) + , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowArray ) ) . mArray as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowArray ) + , "::" , stringify ! ( mArray ) )); } #[repr(C)] #[derive(Debug)] @@ -17824,9 +22842,45 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 32usize); - assert_eq!(::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 4usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderTopColor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderTopColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderRightColor as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderRightColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderBottomColor as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderBottomColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderLeftColor as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderLeftColor ) )); } impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -17834,17 +22888,109 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>() , - 32usize); - assert_eq!(::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , - 4usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . + mBorderColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( + mBorderColor ) )); } impl Clone for nsStyleBorder__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleBorder() { - assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize); - assert_eq!(::std::mem::align_of::<nsStyleBorder>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize , concat + ! ( "Size of: " , stringify ! ( nsStyleBorder ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderColors ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageSource as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSource ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice + as * const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSlice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth + as * const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageOutset as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageOutset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill + as * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatH as * const _ as usize } , 233usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatH ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatV as * const _ as usize } , 234usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatV ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * + const _ as usize } , 235usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mFloatEdge ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBoxDecorationBreak as * const _ as usize } , 236usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBoxDecorationBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * + const _ as usize } , 237usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder + as * const _ as usize } , 276usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mComputedBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * + const _ as usize } , 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as + * const _ as usize } , 308usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mTwipsPerPixel ) )); } #[repr(C)] #[derive(Debug)] @@ -17859,8 +23005,46 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleOutline() { - assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize); - assert_eq!(::std::mem::align_of::<nsStyleOutline>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize , concat + ! ( "Size of: " , stringify ! ( nsStyleOutline ) )); + assert_eq! (::std::mem::align_of::<nsStyleOutline>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleOutline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset + as * const _ as usize } , 76usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as + * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . + mActualOutlineWidth as * const _ as usize } , 92usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mActualOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mTwipsPerPixel ) )); } /** * An object that allows sharing of arrays that store 'quotes' property @@ -17878,15 +23062,33 @@ pub mod root { pub type nsStyleQuoteValues_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleQuoteValues() { - assert_eq!(::std::mem::size_of::<nsStyleQuoteValues>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleQuoteValues>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_26() { + assert_eq!(::std::mem::size_of::<nsStyleQuoteValues>() , 16usize , + concat ! ( "Size of: " , stringify ! ( nsStyleQuoteValues ) + )); + assert_eq! (::std::mem::align_of::<nsStyleQuoteValues>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleQuoteValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleQuoteValues ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleQuoteValues + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleQuoteValues ) ) . mQuotePairs + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleQuoteValues + ) , "::" , stringify ! ( mQuotePairs ) )); + } + #[test] + fn __bindgen_test_layout_template_5() { assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); } #[repr(C)] #[derive(Debug)] @@ -17909,8 +23111,35 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleList() { - assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize); - assert_eq!(::std::mem::align_of::<nsStyleList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize , concat ! ( + "Size of: " , stringify ! ( nsStyleList ) )); + assert_eq! (::std::mem::align_of::<nsStyleList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStyleImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mCounterStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mQuotes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mImageRegion ) )); } #[repr(C)] #[derive(Debug)] @@ -17923,8 +23152,26 @@ pub mod root { pub const nsStyleGridLine_kMaxLine: i32 = 10000; #[test] fn bindgen_test_layout_nsStyleGridLine() { - assert_eq!(::std::mem::size_of::<nsStyleGridLine>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleGridLine>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleGridLine>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsStyleGridLine ) )); + assert_eq! (::std::mem::align_of::<nsStyleGridLine>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGridLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridLine ) ) . mHasSpan as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridLine ) , + "::" , stringify ! ( mHasSpan ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridLine ) ) . mInteger as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridLine ) , + "::" , stringify ! ( mInteger ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridLine ) ) . mLineName as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridLine ) , + "::" , stringify ! ( mLineName ) )); } #[repr(C)] #[derive(Debug)] @@ -17936,37 +23183,54 @@ pub mod root { pub mRepeatAutoLineNameListAfter: root::nsTArray<::nsstring::nsStringRepr>, pub mRepeatAutoIndex: i16, pub _bitfield_1: u8, + pub __bindgen_padding_0: [u8; 5usize], } #[test] fn bindgen_test_layout_nsStyleGridTemplate() { - assert_eq!(::std::mem::size_of::<nsStyleGridTemplate>() , 48usize); - assert_eq!(::std::mem::align_of::<nsStyleGridTemplate>() , 8usize); - } - impl nsStyleGridTemplate { - #[inline] - pub fn mIsAutoFill(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mIsAutoFill(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mIsSubgrid(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mIsSubgrid(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } + assert_eq!(::std::mem::size_of::<nsStyleGridTemplate>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleGridTemplate ) )); + assert_eq! (::std::mem::align_of::<nsStyleGridTemplate>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGridTemplate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mLineNameLists as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mLineNameLists ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mMinTrackSizingFunctions as * const _ as usize } , 8usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mMinTrackSizingFunctions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mMaxTrackSizingFunctions as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mMaxTrackSizingFunctions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mRepeatAutoLineNameListBefore as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mRepeatAutoLineNameListBefore ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mRepeatAutoLineNameListAfter as * const _ as usize } , + 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mRepeatAutoLineNameListAfter ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mRepeatAutoIndex as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mRepeatAutoIndex ) )); } #[repr(C)] #[derive(Debug)] @@ -18011,8 +23275,205 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStylePosition() { - assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize); - assert_eq!(::std::mem::align_of::<nsStylePosition>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize , + concat ! ( "Size of: " , stringify ! ( nsStylePosition ) + )); + assert_eq! (::std::mem::align_of::<nsStylePosition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * + const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexBasis ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMin as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMax as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMin as * const _ as usize } , 208usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMax as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow + as * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoFlow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * + const _ as usize } , 241usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mBoxSizing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent + as * const _ as usize } , 242usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as + * const _ as usize } , 244usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * + const _ as usize } , 245usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignSelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent + as * const _ as usize } , 246usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems + as * const _ as usize } , 248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as + * const _ as usize } , 249usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifySelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection + as * const _ as usize } , 250usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * + const _ as usize } , 251usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * + const _ as usize } , 252usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectFit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * + const _ as usize } , 256usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * + const _ as usize } , 260usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexGrow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as + * const _ as usize } , 264usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexShrink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * + const _ as usize } , 272usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mZIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateColumns as * const _ as usize } , 288usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateColumns ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateRows as * const _ as usize } , 336usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateRows ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateAreas as * const _ as usize } , 384usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridColumnStart as * const _ as usize } , 392usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd + as * const _ as usize } , 416usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart + as * const _ as usize } , 440usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as + * const _ as usize } , 464usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap + as * const _ as usize } , 488usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as + * const _ as usize } , 504usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowGap ) )); } #[repr(C)] #[derive(Debug)] @@ -18022,10 +23483,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTextOverflowSide() { - assert_eq!(::std::mem::size_of::<nsStyleTextOverflowSide>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsStyleTextOverflowSide>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsStyleTextOverflowSide>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( nsStyleTextOverflowSide ) )); + assert_eq! (::std::mem::align_of::<nsStyleTextOverflowSide>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleTextOverflowSide ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mString + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleTextOverflowSide ) , "::" , stringify ! ( mString ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mType + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleTextOverflowSide ) , "::" , stringify ! ( mType ) + )); } #[repr(C)] #[derive(Debug)] @@ -18036,8 +23512,28 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTextOverflow() { - assert_eq!(::std::mem::size_of::<nsStyleTextOverflow>() , 56usize); - assert_eq!(::std::mem::align_of::<nsStyleTextOverflow>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleTextOverflow>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleTextOverflow ) )); + assert_eq! (::std::mem::align_of::<nsStyleTextOverflow>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTextOverflow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLeft as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextOverflow + ) , "::" , stringify ! ( mLeft ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflow ) ) . mRight as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextOverflow + ) , "::" , stringify ! ( mRight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflow ) ) . + mLogicalDirections as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextOverflow + ) , "::" , stringify ! ( mLogicalDirections ) )); } #[repr(C)] #[derive(Debug)] @@ -18052,8 +23548,52 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTextReset() { - assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize); - assert_eq!(::std::mem::align_of::<nsStyleTextReset>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTextReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextOverflow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationLine as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationStyle as * const _ as usize } , 57usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi + as * const _ as usize } , 58usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mUnicodeBidi ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSink as * const _ as usize } , 60usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSize as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationColor as * const _ as usize } , 68usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationColor ) )); } #[repr(C)] #[derive(Debug)] @@ -18088,34 +23628,146 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleText() { - assert_eq!(::std::mem::size_of::<nsStyleText>() , 152usize); - assert_eq!(::std::mem::align_of::<nsStyleText>() , 8usize); - } - impl nsStyleText { - #[inline] - pub fn mTextAlignTrue(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mTextAlignTrue(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mTextAlignLastTrue(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mTextAlignLastTrue(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } + assert_eq!(::std::mem::size_of::<nsStyleText>() , 152usize , concat ! + ( "Size of: " , stringify ! ( nsStyleText ) )); + assert_eq! (::std::mem::align_of::<nsStyleText>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlignLast ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * + const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWhiteSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * + const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * + const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mOverflowWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const + _ as usize } , 7usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mHyphens ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as + * const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextSizeAdjust ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright + as * const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextCombineUpright ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mControlCharacterVisibility as * const _ as usize } , + 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mControlCharacterVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisPosition as * const _ as usize } , 13usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle + as * const _ as usize } , 14usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * + const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextFillColor as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextFillColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeColor as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const + _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTabSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLetterSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLineHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextIndent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeWidth as * const _ as usize } , 120usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisStyleString as * const _ as usize } , + 136usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyleString ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -18139,9 +23791,19 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageOrientation() { - assert_eq!(::std::mem::size_of::<nsStyleImageOrientation>() , 1usize); - assert_eq!(::std::mem::align_of::<nsStyleImageOrientation>() , - 1usize); + assert_eq!(::std::mem::size_of::<nsStyleImageOrientation>() , 1usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleImageOrientation ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageOrientation>() , 1usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageOrientation ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageOrientation ) ) . + mOrientation as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageOrientation ) , "::" , stringify ! ( + mOrientation ) )); } impl Clone for nsStyleImageOrientation { fn clone(&self) -> Self { *self } @@ -18185,9 +23847,45 @@ pub mod root { #[test] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>() - , 4usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mX1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mY1 as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mY1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mX2 as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mX2 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mY2 as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mY2 ) )); } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -18200,9 +23898,21 @@ pub mod root { #[test] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2() { assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>() - , 4usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>() - , 4usize); + , 4usize , concat ! ( + "Size of: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) )); + assert_eq! (::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_2 + ) ) . mSteps as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) , "::" , + stringify ! ( mSteps ) )); } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { fn clone(&self) -> Self { *self } @@ -18210,17 +23920,36 @@ pub mod root { #[test] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_1>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_1>() , - 4usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1 + ) )); + assert_eq! (::std::mem::align_of::<nsTimingFunction__bindgen_ty_1>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsTimingFunction__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1 ) ) . + mFunc as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1 ) , "::" , stringify ! ( + mFunc ) )); } impl Clone for nsTimingFunction__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsTimingFunction() { - assert_eq!(::std::mem::size_of::<nsTimingFunction>() , 20usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction>() , 4usize); + assert_eq!(::std::mem::size_of::<nsTimingFunction>() , 20usize , + concat ! ( "Size of: " , stringify ! ( nsTimingFunction ) + )); + assert_eq! (::std::mem::align_of::<nsTimingFunction>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTimingFunction ) ) . mType as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsTimingFunction ) + , "::" , stringify ! ( mType ) )); } impl Clone for nsTimingFunction { fn clone(&self) -> Self { *self } @@ -18233,8 +23962,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTable() { - assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleTable>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleTable ) )); + assert_eq! (::std::mem::align_of::<nsStyleTable>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mLayoutStrategy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ + as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mSpan ) )); } #[repr(C)] #[derive(Debug)] @@ -18247,8 +23988,40 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTableBorder() { - assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize); - assert_eq!(::std::mem::align_of::<nsStyleTableBorder>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTableBorder>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingCol as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingCol ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingRow as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingRow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderCollapse as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderCollapse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mCaptionSide ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells + as * const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mEmptyCells ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -18282,17 +24055,53 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleContentData__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleContentData__bindgen_ty_1>() - , 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsStyleContentData__bindgen_ty_1>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) + . mString as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( + mString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) + . mImage as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( + mImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) + . mCounters as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( + mCounters ) )); } impl Clone for nsStyleContentData__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleContentData() { - assert_eq!(::std::mem::size_of::<nsStyleContentData>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleContentData>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleContentData>() , 16usize , + concat ! ( "Size of: " , stringify ! ( nsStyleContentData ) + )); + assert_eq! (::std::mem::align_of::<nsStyleContentData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleContentData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData ) ) . mType as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContentData + ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData ) ) . mContent as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContentData + ) , "::" , stringify ! ( mContent ) )); } #[repr(C)] #[derive(Debug)] @@ -18302,8 +24111,22 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleCounterData() { - assert_eq!(::std::mem::size_of::<nsStyleCounterData>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleCounterData>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCounterData>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsStyleCounterData ) + )); + assert_eq! (::std::mem::align_of::<nsStyleCounterData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleCounterData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCounterData ) ) . mCounter as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCounterData + ) , "::" , stringify ! ( mCounter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCounterData ) ) . mValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCounterData + ) , "::" , stringify ! ( mValue ) )); } #[repr(C)] #[derive(Debug)] @@ -18314,8 +24137,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleContent() { - assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleContent>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsStyleContent ) )); + assert_eq! (::std::mem::align_of::<nsStyleContent>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mContents as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mContents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mIncrements ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mResets as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mResets ) )); } #[repr(C)] #[derive(Debug)] @@ -18328,8 +24168,36 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleUIReset() { - assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 5usize); - assert_eq!(::std::mem::align_of::<nsStyleUIReset>() , 1usize); + assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 5usize , concat ! + ( "Size of: " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (::std::mem::align_of::<nsStyleUIReset>() , 1usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mUserSelect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mForceBrokenImageIcon as * const _ as usize } , 1usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mForceBrokenImageIcon ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mIMEMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging + as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowDragging ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowShadow ) )); } #[repr(C)] #[derive(Debug)] @@ -18341,8 +24209,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCursorImage() { - assert_eq!(::std::mem::size_of::<nsCursorImage>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCursorImage>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCursorImage>() , 24usize , concat ! + ( "Size of: " , stringify ! ( nsCursorImage ) )); + assert_eq! (::std::mem::align_of::<nsCursorImage>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCursorImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mHaveHotspot as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mHaveHotspot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mHotspotX as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mHotspotX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mHotspotY as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mHotspotY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mImage as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mImage ) )); } #[repr(C)] #[derive(Debug)] @@ -18357,8 +24247,56 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleUserInterface() { - assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleUserInterface>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (::std::mem::align_of::<nsStyleUserInterface>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mUserModify as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserModify + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mPointerEvents as * const _ as usize } , 3usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mPointerEvents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCursorImages as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mCursorImages ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCaretColor as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor + ) )); } #[repr(C)] #[derive(Debug)] @@ -18373,8 +24311,45 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleXUL() { - assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleXUL>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsStyleXUL ) )); + assert_eq! (::std::mem::align_of::<nsStyleXUL>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleXUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxFlex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrdinal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const + _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxPack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mStretchStack as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mStretchStack ) )); } #[repr(C)] #[derive(Debug)] @@ -18391,8 +24366,50 @@ pub mod root { pub const nsStyleColumn_kMaxColumnCount: u32 = 1000; #[test] fn bindgen_test_layout_nsStyleColumn() { - assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize); - assert_eq!(::std::mem::align_of::<nsStyleColumn>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize , concat ! + ( "Size of: " , stringify ! ( nsStyleColumn ) )); + assert_eq! (::std::mem::align_of::<nsStyleColumn>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleColumn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * + const _ as usize } , 49usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth + as * const _ as usize } , 52usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mTwipsPerPixel ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -18420,17 +24437,51 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleSVGPaint__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . + mColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( + mColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . + mPaintServer as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( + mPaintServer ) )); } impl Clone for nsStyleSVGPaint__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleSVGPaint() { - assert_eq!(::std::mem::size_of::<nsStyleSVGPaint>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGPaint>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSVGPaint>() , 16usize , concat + ! ( "Size of: " , stringify ! ( nsStyleSVGPaint ) )); + assert_eq! (::std::mem::align_of::<nsStyleSVGPaint>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleSVGPaint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint ) ) . mPaint as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , + "::" , stringify ! ( mPaint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint ) ) . mType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackColor + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , + "::" , stringify ! ( mFallbackColor ) )); } #[repr(C)] #[derive(Debug)] @@ -18491,8 +24542,116 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleSVG() { - assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 120usize); - assert_eq!(::std::mem::align_of::<nsStyleSVG>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 120usize , concat ! ( + "Size of: " , stringify ! ( nsStyleSVG ) )); + assert_eq! (::std::mem::align_of::<nsStyleSVG>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleSVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ + as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStroke ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerMid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDasharray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDashoffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as + * const _ as usize } , 100usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeMiterlimit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const + _ as usize } , 108usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mClipRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation + as * const _ as usize } , 109usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . + mColorInterpolationFilters as * const _ as usize } , + 110usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolationFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const + _ as usize } , 111usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mPaintOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * + const _ as usize } , 113usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mShapeRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * + const _ as usize } , 114usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinecap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * + const _ as usize } , 115usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinejoin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * + const _ as usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mTextAnchor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * + const _ as usize } , 117usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextFlags ) )); } #[repr(C)] #[derive(Debug)] @@ -18511,17 +24670,45 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleFilter__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleFilter__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleFilter__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleFilter__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . + mURL as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mURL + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . + mDropShadow as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( + mDropShadow ) )); } impl Clone for nsStyleFilter__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleFilter() { - assert_eq!(::std::mem::size_of::<nsStyleFilter>() , 32usize); - assert_eq!(::std::mem::align_of::<nsStyleFilter>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleFilter>() , 32usize , concat ! + ( "Size of: " , stringify ! ( nsStyleFilter ) )); + assert_eq! (::std::mem::align_of::<nsStyleFilter>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleFilter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter ) ) . mType as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFilter ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter ) ) . mFilterParameter + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFilter ) , + "::" , stringify ! ( mFilterParameter ) )); } #[repr(C)] #[derive(Debug)] @@ -18539,8 +24726,63 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleSVGReset() { - assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 200usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGReset>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 200usize , + concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleSVGReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleSVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMask ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mClipPath ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * + const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as + * const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor + as * const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mLightingColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as + * const _ as usize } , 188usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity + as * const _ as usize } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . + mDominantBaseline as * const _ as usize } , 196usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mDominantBaseline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect + as * const _ as usize } , 197usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mVectorEffect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * + const _ as usize } , 198usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMaskType ) )); } #[repr(C)] #[derive(Debug)] @@ -18549,8 +24791,17 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleVariables() { - assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 56usize); - assert_eq!(::std::mem::align_of::<nsStyleVariables>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 56usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVariables>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVariables ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVariables ) + , "::" , stringify ! ( mVariables ) )); } #[repr(C)] #[derive(Debug)] @@ -18564,8 +24815,40 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleEffects() { - assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleEffects>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStyleEffects ) )); + assert_eq! (::std::mem::align_of::<nsStyleEffects>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleEffects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mBoxShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * + const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClipFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as + * const _ as usize } , 37usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mMixBlendMode ) )); } /** * These *_Simple types are used to map Gecko types to layout-equivalent but @@ -18584,8 +24867,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPoint() { - assert_eq!(::std::mem::size_of::<nsPoint>() , 8usize); - assert_eq!(::std::mem::align_of::<nsPoint>() , 4usize); + assert_eq!(::std::mem::size_of::<nsPoint>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsPoint ) )); + assert_eq! (::std::mem::align_of::<nsPoint>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsPoint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPoint ) ) . x as * const _ as usize + } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPoint ) , "::" , + stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPoint ) ) . y as * const _ as usize + } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPoint ) , "::" , + stringify ! ( y ) )); } impl Clone for nsPoint { fn clone(&self) -> Self { *self } @@ -18603,8 +24898,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMargin() { - assert_eq!(::std::mem::size_of::<nsMargin>() , 16usize); - assert_eq!(::std::mem::align_of::<nsMargin>() , 4usize); + assert_eq!(::std::mem::size_of::<nsMargin>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsMargin ) )); + assert_eq! (::std::mem::align_of::<nsMargin>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . top as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( top ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . right as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( right ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . bottom as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( bottom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . left as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( left ) )); } impl Clone for nsMargin { fn clone(&self) -> Self { *self } @@ -18622,8 +24939,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsRect() { - assert_eq!(::std::mem::size_of::<nsRect>() , 16usize); - assert_eq!(::std::mem::align_of::<nsRect>() , 4usize); + assert_eq!(::std::mem::size_of::<nsRect>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsRect ) )); + assert_eq! (::std::mem::align_of::<nsRect>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . x as * const _ as usize + } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . y as * const _ as usize + } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( y ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . width as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( width ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . height as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( height ) )); } impl Clone for nsRect { fn clone(&self) -> Self { *self } @@ -18639,8 +24978,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsSize() { - assert_eq!(::std::mem::size_of::<nsSize>() , 8usize); - assert_eq!(::std::mem::align_of::<nsSize>() , 4usize); + assert_eq!(::std::mem::size_of::<nsSize>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsSize ) )); + assert_eq! (::std::mem::align_of::<nsSize>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSize ) ) . width as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSize ) , "::" , + stringify ! ( width ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSize ) ) . height as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSize ) , "::" , + stringify ! ( height ) )); } impl Clone for nsSize { fn clone(&self) -> Self { *self } @@ -18692,8 +25043,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCheapString() { - assert_eq!(::std::mem::size_of::<nsCheapString>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCheapString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCheapString>() , 16usize , concat ! + ( "Size of: " , stringify ! ( nsCheapString ) )); + assert_eq! (::std::mem::align_of::<nsCheapString>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCheapString ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -18721,8 +25074,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMMozNamedAttrMap() { - assert_eq!(::std::mem::size_of::<nsIDOMMozNamedAttrMap>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMMozNamedAttrMap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMMozNamedAttrMap>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMMozNamedAttrMap ) )); + assert_eq! (::std::mem::align_of::<nsIDOMMozNamedAttrMap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMMozNamedAttrMap ) + )); } impl Clone for nsIDOMMozNamedAttrMap { fn clone(&self) -> Self { *self } @@ -18742,8 +25100,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIAttribute() { - assert_eq!(::std::mem::size_of::<nsIAttribute>() , 104usize); - assert_eq!(::std::mem::align_of::<nsIAttribute>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIAttribute>() , 104usize , concat ! + ( "Size of: " , stringify ! ( nsIAttribute ) )); + assert_eq! (::std::mem::align_of::<nsIAttribute>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIAttribute ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIAttribute ) ) . mAttrMap as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIAttribute ) , + "::" , stringify ! ( mAttrMap ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -18774,8 +25139,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScrollbarMediator() { - assert_eq!(::std::mem::size_of::<nsIScrollbarMediator>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIScrollbarMediator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScrollbarMediator>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIScrollbarMediator ) )); + assert_eq! (::std::mem::align_of::<nsIScrollbarMediator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScrollbarMediator ) )); } impl Clone for nsIScrollbarMediator { fn clone(&self) -> Self { *self } @@ -18860,8 +25229,13 @@ pub mod root { -> bool>; #[test] fn bindgen_test_layout_nsIStyleRuleProcessor() { - assert_eq!(::std::mem::size_of::<nsIStyleRuleProcessor>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIStyleRuleProcessor>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIStyleRuleProcessor>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIStyleRuleProcessor ) )); + assert_eq! (::std::mem::align_of::<nsIStyleRuleProcessor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIStyleRuleProcessor ) + )); } impl Clone for nsIStyleRuleProcessor { fn clone(&self) -> Self { *self } @@ -18915,17 +25289,73 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsMediaFeature__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsMediaFeature__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsMediaFeature__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . + mInitializer_ as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( + mInitializer_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . + mKeywordTable as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( + mKeywordTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . + mMetric as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( + mMetric ) )); } impl Clone for nsMediaFeature__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsMediaFeature() { - assert_eq!(::std::mem::size_of::<nsMediaFeature>() , 40usize); - assert_eq!(::std::mem::align_of::<nsMediaFeature>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaFeature>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsMediaFeature ) )); + assert_eq! (::std::mem::align_of::<nsMediaFeature>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsMediaFeature ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mName as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mRangeType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mRangeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mValueType as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mValueType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mReqFlags as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mReqFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mData as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mGetter as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mGetter ) )); } impl Clone for nsMediaFeature { fn clone(&self) -> Self { *self } @@ -18933,6 +25363,23 @@ pub mod root { pub type ThreadSafePrincipalHolder = root::nsMainThreadPtrHolder<root::nsIPrincipal>; pub type ThreadSafeURIHolder = root::nsMainThreadPtrHolder<root::nsIURI>; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ServoBundledURI { + pub mURLString: *const u8, + pub mURLStringLength: u32, + pub mBaseURI: *mut root::ThreadSafeURIHolder, + pub mReferrer: *mut root::ThreadSafeURIHolder, + pub mPrincipal: *mut root::ThreadSafePrincipalHolder, + } + #[test] + fn bindgen_test_layout_ServoBundledURI() { + assert_eq!(::std::mem::size_of::<ServoBundledURI>() , 40usize); + assert_eq!(::std::mem::align_of::<ServoBundledURI>() , 8usize); + } + impl Clone for ServoBundledURI { + fn clone(&self) -> Self { *self } + } pub type nsMediaFeatureValueGetter = ::std::option::Option<unsafe extern "C" fn(aPresContext: *mut root::nsPresContext, @@ -18952,8 +25399,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMediaFeatures() { - assert_eq!(::std::mem::size_of::<nsMediaFeatures>() , 1usize); - assert_eq!(::std::mem::align_of::<nsMediaFeatures>() , 1usize); + assert_eq!(::std::mem::size_of::<nsMediaFeatures>() , 1usize , concat + ! ( "Size of: " , stringify ! ( nsMediaFeatures ) )); + assert_eq! (::std::mem::align_of::<nsMediaFeatures>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( nsMediaFeatures ) )); } impl Clone for nsMediaFeatures { fn clone(&self) -> Self { *self } @@ -18970,8 +25420,27 @@ pub mod root { pub enum nsMediaExpression_Range { eMin = 0, eMax = 1, eEqual = 2, } #[test] fn bindgen_test_layout_nsMediaExpression() { - assert_eq!(::std::mem::size_of::<nsMediaExpression>() , 32usize); - assert_eq!(::std::mem::align_of::<nsMediaExpression>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaExpression>() , 32usize , + concat ! ( "Size of: " , stringify ! ( nsMediaExpression ) + )); + assert_eq! (::std::mem::align_of::<nsMediaExpression>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsMediaExpression ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaExpression ) ) . mFeature as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaExpression ) + , "::" , stringify ! ( mFeature ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaExpression ) ) . mRange as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaExpression ) + , "::" , stringify ! ( mRange ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaExpression ) ) . mValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaExpression ) + , "::" , stringify ! ( mValue ) )); } /** * An nsMediaQueryResultCacheKey records what feature/value combinations @@ -19007,9 +25476,31 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaQueryResultCacheKey_ExpressionEntry() { assert_eq!(::std::mem::size_of::<nsMediaQueryResultCacheKey_ExpressionEntry>() - , 40usize); - assert_eq!(::std::mem::align_of::<nsMediaQueryResultCacheKey_ExpressionEntry>() - , 8usize); + , 40usize , concat ! ( + "Size of: " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) )); + assert_eq! (::std::mem::align_of::<nsMediaQueryResultCacheKey_ExpressionEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsMediaQueryResultCacheKey_ExpressionEntry ) + ) . mExpression as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) , "::" , + stringify ! ( mExpression ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsMediaQueryResultCacheKey_ExpressionEntry ) + ) . mExpressionMatches as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) , "::" , + stringify ! ( mExpressionMatches ) )); } #[repr(C)] #[derive(Debug)] @@ -19020,16 +25511,52 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaQueryResultCacheKey_FeatureEntry() { assert_eq!(::std::mem::size_of::<nsMediaQueryResultCacheKey_FeatureEntry>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsMediaQueryResultCacheKey_FeatureEntry>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) )); + assert_eq! (::std::mem::align_of::<nsMediaQueryResultCacheKey_FeatureEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsMediaQueryResultCacheKey_FeatureEntry ) + ) . mFeature as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) , "::" , + stringify ! ( mFeature ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsMediaQueryResultCacheKey_FeatureEntry ) + ) . mExpressions as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) , "::" , + stringify ! ( mExpressions ) )); } #[test] fn bindgen_test_layout_nsMediaQueryResultCacheKey() { assert_eq!(::std::mem::size_of::<nsMediaQueryResultCacheKey>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsMediaQueryResultCacheKey>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsMediaQueryResultCacheKey ) + )); + assert_eq! (::std::mem::align_of::<nsMediaQueryResultCacheKey>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsMediaQueryResultCacheKey + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQueryResultCacheKey ) ) . + mMedium as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey ) , "::" , stringify ! ( + mMedium ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQueryResultCacheKey ) ) . + mFeatureCache as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey ) , "::" , stringify ! ( + mFeatureCache ) )); } #[repr(C)] #[derive(Debug)] @@ -19043,8 +25570,41 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMediaQuery() { - assert_eq!(::std::mem::size_of::<nsMediaQuery>() , 24usize); - assert_eq!(::std::mem::align_of::<nsMediaQuery>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaQuery>() , 24usize , concat ! + ( "Size of: " , stringify ! ( nsMediaQuery ) )); + assert_eq! (::std::mem::align_of::<nsMediaQuery>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsMediaQuery ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mNegated as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mNegated ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mHasOnly as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mHasOnly ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mTypeOmitted as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mTypeOmitted ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . + mHadUnknownExpression as * const _ as usize } , 3usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mHadUnknownExpression ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mMediaType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mMediaType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mExpressions as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mExpressions ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -19054,461 +25614,1136 @@ pub mod root { pub overflow_arg_area: *mut ::std::os::raw::c_void, pub reg_save_area: *mut ::std::os::raw::c_void, } + #[test] + fn bindgen_test_layout___va_list_tag() { + assert_eq!(::std::mem::size_of::<__va_list_tag>() , 24usize , concat ! + ( "Size of: " , stringify ! ( __va_list_tag ) )); + assert_eq! (::std::mem::align_of::<__va_list_tag>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( __va_list_tag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . gp_offset as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( gp_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . fp_offset as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( fp_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . overflow_arg_area + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( overflow_arg_area ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . reg_save_area as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( reg_save_area ) )); + } impl Clone for __va_list_tag { fn clone(&self) -> Self { *self } } pub type __builtin_va_list = [root::__va_list_tag; 1usize]; #[test] - fn __bindgen_test_layout_template_27() { + fn __bindgen_test_layout_template_6() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_template_7() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_template_8() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_template_9() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_template_10() { + assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_11() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy> + ) )); + } + #[test] + fn __bindgen_test_layout_template_12() { assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::TenuredHeap<*mut root::JSObject> ) )); assert_eq!(::std::mem::align_of::<root::JS::TenuredHeap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::TenuredHeap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_28() { + fn __bindgen_test_layout_template_13() { assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_29() { + fn __bindgen_test_layout_template_14() { assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSScript>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSScript> ) )); assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSScript>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_30() { + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSScript> ) )); + } + #[test] + fn __bindgen_test_layout_template_15() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<u16>>() , + 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsReadingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<u16>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsReadingIterator<u16> ) )); + } + #[test] + fn __bindgen_test_layout_template_16() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<u16>>() , + 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsWritingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<u16>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsWritingIterator<u16> ) )); + } + #[test] + fn __bindgen_test_layout_template_17() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<::std::os::raw::c_char>>() + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsReadingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<::std::os::raw::c_char>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsReadingIterator<::std::os::raw::c_char> ) )); + } + #[test] + fn __bindgen_test_layout_template_18() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<::std::os::raw::c_char>>() + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsWritingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<::std::os::raw::c_char>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsWritingIterator<::std::os::raw::c_char> ) )); + } + #[test] + fn __bindgen_test_layout_template_19() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]> + ) )); } #[test] - fn __bindgen_test_layout_template_31() { + fn __bindgen_test_layout_template_20() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]> + ) )); } #[test] - fn __bindgen_test_layout_template_32() { + fn __bindgen_test_layout_template_21() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , - 8usize); + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCString>>() , - 8usize); + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_template_33() { + fn __bindgen_test_layout_template_22() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , - 8usize); + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , - 8usize); + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_template_34() { + fn __bindgen_test_layout_template_23() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy>>() - , 32usize); + , 32usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy> + ) )); } #[test] - fn __bindgen_test_layout_template_35() { + fn __bindgen_test_layout_template_24() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStringBuffer> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStringBuffer>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_template_36() { + fn __bindgen_test_layout_template_25() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_template_37() { + fn __bindgen_test_layout_template_26() { assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , - 8usize); + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<root::JS::Value> ) )); assert_eq!(::std::mem::align_of::<root::JS::Heap<root::JS::Value>>() , - 8usize); + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_template_38() { + fn __bindgen_test_layout_template_27() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_template_39() { + fn __bindgen_test_layout_template_28() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIPrincipal>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIPrincipal>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); } #[test] - fn __bindgen_test_layout_template_40() { - assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize); - assert_eq!(::std::mem::align_of::<[u64; 29usize]>() , 8usize); + fn __bindgen_test_layout_template_29() { + assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 29usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 29usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 29usize] ) )); } #[test] - fn __bindgen_test_layout_template_41() { + fn __bindgen_test_layout_template_30() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_template_42() { + fn __bindgen_test_layout_template_31() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>> + ) )); } #[test] - fn __bindgen_test_layout_template_43() { + fn __bindgen_test_layout_template_32() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_template_44() { + fn __bindgen_test_layout_template_33() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_template_45() { + fn __bindgen_test_layout_template_34() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); } #[test] - fn __bindgen_test_layout_template_46() { + fn __bindgen_test_layout_template_35() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIObserver>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIObserver> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIObserver>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIObserver> ) )); } #[test] - fn __bindgen_test_layout_template_47() { + fn __bindgen_test_layout_template_36() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr<root::nsIObserver>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCOMPtr<root::nsIObserver>> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCOMPtr<root::nsIObserver>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCOMPtr<root::nsIObserver>> ) )); } #[test] - fn __bindgen_test_layout_template_48() { + fn __bindgen_test_layout_template_37() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIDocument>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_template_49() { + fn __bindgen_test_layout_template_38() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsContentList>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_template_50() { + fn __bindgen_test_layout_template_39() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_template_51() { + fn __bindgen_test_layout_template_40() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIWeakReference>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIWeakReference>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); } #[test] - fn __bindgen_test_layout_template_52() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize); - assert_eq!(::std::mem::align_of::<u64>() , 8usize); + fn __bindgen_test_layout_template_41() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); } #[test] - fn __bindgen_test_layout_template_53() { - assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize); - assert_eq!(::std::mem::align_of::<[u64; 29usize]>() , 8usize); + fn __bindgen_test_layout_template_42() { + assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 29usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 29usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 29usize] ) )); } #[test] - fn __bindgen_test_layout_template_54() { + fn __bindgen_test_layout_template_43() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_template_55() { + fn __bindgen_test_layout_template_44() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_template_56() { - assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize); - assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize); + fn __bindgen_test_layout_template_45() { + assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_template_57() { + fn __bindgen_test_layout_template_46() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager> + ) )); } #[test] - fn __bindgen_test_layout_template_58() { + fn __bindgen_test_layout_template_47() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsISupports> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_template_59() { + fn __bindgen_test_layout_template_48() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIRunnable> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_template_60() { + fn __bindgen_test_layout_template_49() { assert_eq!(::std::mem::size_of::<root::nsAutoPtr<root::nsMediaQuery>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsAutoPtr<root::nsMediaQuery> ) )); assert_eq!(::std::mem::align_of::<root::nsAutoPtr<root::nsMediaQuery>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsAutoPtr<root::nsMediaQuery> ) )); } #[test] - fn __bindgen_test_layout_template_61() { + fn __bindgen_test_layout_template_50() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_template_62() { + fn __bindgen_test_layout_template_51() { + assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_52() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() - , 16usize); + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_template_53() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_54() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_55() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_56() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_57() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_58() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_59() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_60() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_61() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_62() { + assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( + "Size of template specialization: " , stringify ! ( u32 ) + )); + assert_eq!(::std::mem::align_of::<u32>() , 4usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u32 ) )); } #[test] fn __bindgen_test_layout_template_63() { - assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize); - assert_eq!(::std::mem::align_of::<root::nsTArray<f64>>() , 8usize); + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); } #[test] fn __bindgen_test_layout_template_64() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_65() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_66() { + assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<f64> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<f64>>() , 8usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<f64> ) )); + } + #[test] + fn __bindgen_test_layout_template_67() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); } #[test] - fn __bindgen_test_layout_template_65() { + fn __bindgen_test_layout_template_68() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>> + ) )); } #[test] - fn __bindgen_test_layout_template_66() { + fn __bindgen_test_layout_template_69() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FontFamilyName> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::FontFamilyName>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FontFamilyName> ) )); } #[test] - fn __bindgen_test_layout_template_67() { + fn __bindgen_test_layout_template_70() { assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_template_68() { + fn __bindgen_test_layout_template_71() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::ProxyBehaviour>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::ProxyBehaviour> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::ProxyBehaviour>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::ProxyBehaviour> ) )); } #[test] - fn __bindgen_test_layout_template_69() { + fn __bindgen_test_layout_template_72() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() - , 24usize); + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIURI> ) )); assert_eq!(::std::mem::align_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_template_70() { + fn __bindgen_test_layout_template_73() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>> + ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>> + ) )); } #[test] - fn __bindgen_test_layout_template_71() { + fn __bindgen_test_layout_template_74() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIPrincipal>>() - , 24usize); + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIPrincipal> ) )); assert_eq!(::std::mem::align_of::<root::nsMainThreadPtrHolder<root::nsIPrincipal>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIPrincipal> ) )); } #[test] - fn __bindgen_test_layout_template_72() { + fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>> + ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>> + ) )); } #[test] - fn __bindgen_test_layout_template_73() { + fn __bindgen_test_layout_template_76() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::nsCSSValueList>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValueList> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::nsCSSValueList>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_template_74() { + fn __bindgen_test_layout_template_77() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList, root::mozilla::DefaultDelete<root::nsCSSValueList>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValueList, + root::mozilla::DefaultDelete<root::nsCSSValueList>> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValueList, root::mozilla::DefaultDelete<root::nsCSSValueList>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValueList, + root::mozilla::DefaultDelete<root::nsCSSValueList>> + ) )); } #[test] - fn __bindgen_test_layout_template_75() { + fn __bindgen_test_layout_template_78() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::nsCSSValuePairList>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValuePairList> ) + )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::nsCSSValuePairList>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValuePairList> ) + )); } #[test] - fn __bindgen_test_layout_template_76() { + fn __bindgen_test_layout_template_79() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList, root::mozilla::DefaultDelete<root::nsCSSValuePairList>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList, + root::mozilla::DefaultDelete<root::nsCSSValuePairList>> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList, root::mozilla::DefaultDelete<root::nsCSSValuePairList>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList, + root::mozilla::DefaultDelete<root::nsCSSValuePairList>> + ) )); } #[test] - fn __bindgen_test_layout_template_77() { + fn __bindgen_test_layout_template_80() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue> + ) )); } #[test] - fn __bindgen_test_layout_template_78() { + fn __bindgen_test_layout_template_81() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIFrame>>() - , 16usize); + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsPtrHashKey<root::nsIFrame> ) )); assert_eq!(::std::mem::align_of::<root::nsPtrHashKey<root::nsIFrame>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsPtrHashKey<root::nsIFrame> ) )); } #[test] - fn __bindgen_test_layout_template_79() { - assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize); - assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize); + fn __bindgen_test_layout_template_82() { + assert_eq!(::std::mem::size_of::<root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle> + ) )); } #[test] - fn __bindgen_test_layout_template_80() { + fn __bindgen_test_layout_template_83() { + assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_84() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() - , 16usize); + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor> + ) )); } #[test] - fn __bindgen_test_layout_template_81() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); + fn __bindgen_test_layout_template_85() { + assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 2usize] ) )); } #[test] - fn __bindgen_test_layout_template_82() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize); - assert_eq!(::std::mem::align_of::<u64>() , 8usize); + fn __bindgen_test_layout_template_86() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); } #[test] - fn __bindgen_test_layout_template_83() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); + fn __bindgen_test_layout_template_87() { + assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 2usize] ) )); } #[test] - fn __bindgen_test_layout_template_84() { + fn __bindgen_test_layout_template_88() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleImageRequest>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleImageRequest> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleImageRequest>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleImageRequest> ) )); } #[test] - fn __bindgen_test_layout_template_85() { + fn __bindgen_test_layout_template_89() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::nsStyleSides>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsStyleSides> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::nsStyleSides>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_template_86() { + fn __bindgen_test_layout_template_90() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides, root::mozilla::DefaultDelete<root::nsStyleSides>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides, + root::mozilla::DefaultDelete<root::nsStyleSides>> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides, root::mozilla::DefaultDelete<root::nsStyleSides>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides, + root::mozilla::DefaultDelete<root::nsStyleSides>> + ) )); } #[test] - fn __bindgen_test_layout_template_87() { + fn __bindgen_test_layout_template_91() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::CachedBorderImageData>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::CachedBorderImageData> ) + )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::CachedBorderImageData>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::CachedBorderImageData> ) + )); } #[test] - fn __bindgen_test_layout_template_88() { + fn __bindgen_test_layout_template_92() { assert_eq!(::std::mem::size_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() - , 32usize); + , 32usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); assert_eq!(::std::mem::align_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_template_89() { - assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize); - assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_90() { + fn __bindgen_test_layout_template_93() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, + ::nsstring::nsStringRepr>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, + ::nsstring::nsStringRepr>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>> + ) )); + } + #[test] + fn __bindgen_test_layout_template_94() { + assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox> + ) )); + } + #[test] + fn __bindgen_test_layout_template_95() { + assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox> + ) )); + } + #[test] + fn __bindgen_test_layout_template_96() { + assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_97() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect> + ) )); } #[test] - fn __bindgen_test_layout_template_91() { + fn __bindgen_test_layout_template_98() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMRect> ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMRect> ) )); } #[test] - fn __bindgen_test_layout_template_92() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize); - assert_eq!(::std::mem::align_of::<u64>() , 8usize); + fn __bindgen_test_layout_template_99() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); } #[test] - fn __bindgen_test_layout_template_93() { + fn __bindgen_test_layout_template_100() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } } diff --git a/components/style/gecko_bindings/structs_release.rs b/components/style/gecko_bindings/structs_release.rs index cd01ced5969..b7f7be53fb8 100644 --- a/components/style/gecko_bindings/structs_release.rs +++ b/components/style/gecko_bindings/structs_release.rs @@ -1418,8 +1418,10 @@ pub mod root { } #[test] fn bindgen_test_layout_fallible_t() { - assert_eq!(::std::mem::size_of::<fallible_t>() , 1usize); - assert_eq!(::std::mem::align_of::<fallible_t>() , 1usize); + assert_eq!(::std::mem::size_of::<fallible_t>() , 1usize , concat ! + ( "Size of: " , stringify ! ( fallible_t ) )); + assert_eq! (::std::mem::align_of::<fallible_t>() , 1usize , concat + ! ( "Alignment of " , stringify ! ( fallible_t ) )); } impl Clone for fallible_t { fn clone(&self) -> Self { *self } @@ -1611,8 +1613,15 @@ pub mod root { } #[test] fn bindgen_test_layout_TimeStamp() { - assert_eq!(::std::mem::size_of::<TimeStamp>() , 8usize); - assert_eq!(::std::mem::align_of::<TimeStamp>() , 8usize); + assert_eq!(::std::mem::size_of::<TimeStamp>() , 8usize , concat ! + ( "Size of: " , stringify ! ( TimeStamp ) )); + assert_eq! (::std::mem::align_of::<TimeStamp>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( TimeStamp ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const TimeStamp ) ) . mValue as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( TimeStamp ) , + "::" , stringify ! ( mValue ) )); } impl Clone for TimeStamp { fn clone(&self) -> Self { *self } @@ -1624,8 +1633,13 @@ pub mod root { } #[test] fn bindgen_test_layout_MallocAllocPolicy() { - assert_eq!(::std::mem::size_of::<MallocAllocPolicy>() , 1usize); - assert_eq!(::std::mem::align_of::<MallocAllocPolicy>() , 1usize); + assert_eq!(::std::mem::size_of::<MallocAllocPolicy>() , 1usize , + concat ! ( + "Size of: " , stringify ! ( MallocAllocPolicy ) )); + assert_eq! (::std::mem::align_of::<MallocAllocPolicy>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( MallocAllocPolicy ) + )); } impl Clone for MallocAllocPolicy { fn clone(&self) -> Self { *self } @@ -1638,10 +1652,19 @@ pub mod root { pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true; #[test] fn bindgen_test_layout_ThreadSafeAutoRefCnt() { - assert_eq!(::std::mem::size_of::<ThreadSafeAutoRefCnt>() , - 8usize); - assert_eq!(::std::mem::align_of::<ThreadSafeAutoRefCnt>() , - 8usize); + assert_eq!(::std::mem::size_of::<ThreadSafeAutoRefCnt>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( ThreadSafeAutoRefCnt ) )); + assert_eq! (::std::mem::align_of::<ThreadSafeAutoRefCnt>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( ThreadSafeAutoRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ThreadSafeAutoRefCnt ) ) . mValue + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) + )); } impl Clone for ThreadSafeAutoRefCnt { fn clone(&self) -> Self { *self } @@ -1657,8 +1680,10 @@ pub mod root { } #[test] fn bindgen_test_layout_Color() { - assert_eq!(::std::mem::size_of::<Color>() , 16usize); - assert_eq!(::std::mem::align_of::<Color>() , 4usize); + assert_eq!(::std::mem::size_of::<Color>() , 16usize , concat ! + ( "Size of: " , stringify ! ( Color ) )); + assert_eq! (::std::mem::align_of::<Color>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( Color ) )); } impl Clone for Color { fn clone(&self) -> Self { *self } @@ -1715,6 +1740,7 @@ pub mod root { pub mPaintRequestTime: root::mozilla::TimeStamp, pub mScrollUpdateType: root::mozilla::layers::FrameMetrics_ScrollOffsetUpdateType, pub _bitfield_1: u8, + pub __bindgen_padding_0: [u16; 3usize], } pub type FrameMetrics_ViewID = u64; #[repr(u8)] @@ -1738,70 +1764,145 @@ pub mod root { 2; #[test] fn bindgen_test_layout_FrameMetrics() { - assert_eq!(::std::mem::size_of::<FrameMetrics>() , 184usize); - assert_eq!(::std::mem::align_of::<FrameMetrics>() , 8usize); + assert_eq!(::std::mem::size_of::<FrameMetrics>() , 184usize , + concat ! ( + "Size of: " , stringify ! ( FrameMetrics ) )); + assert_eq! (::std::mem::align_of::<FrameMetrics>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( FrameMetrics ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . mScrollId + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mScrollId ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mPresShellResolution as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mPresShellResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mCompositionBounds as * const _ as usize } , + 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mCompositionBounds ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mDisplayPort as * const _ as usize } , 28usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mDisplayPort + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mCriticalDisplayPort as * const _ as usize } , + 44usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mCriticalDisplayPort ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollableRect as * const _ as usize } , 60usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollableRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mCumulativeResolution as * const _ as usize } , + 76usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mCumulativeResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mDevPixelsPerCSSPixel as * const _ as usize } , + 84usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mDevPixelsPerCSSPixel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollOffset as * const _ as usize } , 88usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . mZoom as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollGeneration as * const _ as usize } , + 104usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollGeneration ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mSmoothScrollOffset as * const _ as usize } , + 108usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mSmoothScrollOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mRootCompositionSize as * const _ as usize } , + 116usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mRootCompositionSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mDisplayPortMargins as * const _ as usize } , + 124usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mDisplayPortMargins ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mPresShellId as * const _ as usize } , 140usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mPresShellId + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . mViewport + as * const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( mViewport ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mExtraResolution as * const _ as usize } , + 160usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mExtraResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mPaintRequestTime as * const _ as usize } , + 168usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mPaintRequestTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FrameMetrics ) ) . + mScrollUpdateType as * const _ as usize } , + 176usize , concat ! ( + "Alignment of field: " , stringify ! ( + FrameMetrics ) , "::" , stringify ! ( + mScrollUpdateType ) )); } impl Clone for FrameMetrics { fn clone(&self) -> Self { *self } } - impl FrameMetrics { - #[inline] - pub fn mIsRootContent(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1usize as u8)) >> 0u32) - as u8) - } - } - #[inline] - pub fn set_mIsRootContent(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mDoSmoothScroll(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2usize as u8)) >> 1u32) - as u8) - } - } - #[inline] - pub fn set_mDoSmoothScroll(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 1u32) & (2usize as u8); - } - #[inline] - pub fn mUseDisplayPortMargins(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4usize as u8)) >> 2u32) - as u8) - } - } - #[inline] - pub fn set_mUseDisplayPortMargins(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 2u32) & (4usize as u8); - } - #[inline] - pub fn mIsScrollInfoLayer(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8usize as u8)) >> 3u32) - as u8) - } - } - #[inline] - pub fn set_mIsScrollInfoLayer(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u8); - self._bitfield_1 |= - ((val as u8 as u8) << 3u32) & (8usize as u8); - } - } #[repr(C)] #[derive(Debug)] pub struct ScrollSnapInfo { @@ -1814,8 +1915,55 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollSnapInfo() { - assert_eq!(::std::mem::size_of::<ScrollSnapInfo>() , 56usize); - assert_eq!(::std::mem::align_of::<ScrollSnapInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<ScrollSnapInfo>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( ScrollSnapInfo ) )); + assert_eq! (::std::mem::align_of::<ScrollSnapInfo>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( ScrollSnapInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapTypeX as * const _ as usize } , 0usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapTypeY as * const _ as usize } , 1usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapIntervalX as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapIntervalX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapIntervalY as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapIntervalY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapDestination as * const _ as usize } , + 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapDestination ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollSnapInfo ) ) . + mScrollSnapCoordinates as * const _ as usize } , + 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollSnapInfo ) , "::" , stringify ! ( + mScrollSnapCoordinates ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -1835,9 +1983,13 @@ pub mod root { #[test] fn bindgen_test_layout_FastErrorResult() { assert_eq!(::std::mem::size_of::<FastErrorResult>() , - 16usize); - assert_eq!(::std::mem::align_of::<FastErrorResult>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( FastErrorResult ) + )); + assert_eq! (::std::mem::align_of::<FastErrorResult>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FastErrorResult ) )); } #[repr(C)] pub struct FakeString { @@ -1854,16 +2006,49 @@ pub mod root { #[test] fn bindgen_test_layout_FakeString_StringAsserter() { assert_eq!(::std::mem::size_of::<FakeString_StringAsserter>() - , 16usize); - assert_eq!(::std::mem::align_of::<FakeString_StringAsserter>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FakeString_StringAsserter ) )); + assert_eq! (::std::mem::align_of::<FakeString_StringAsserter>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FakeString_StringAsserter ) )); } pub const FakeString_sInlineCapacity: usize = 64; #[test] fn bindgen_test_layout_FakeString() { - assert_eq!(::std::mem::size_of::<FakeString>() , - 144usize); - assert_eq!(::std::mem::align_of::<FakeString>() , 8usize); + assert_eq!(::std::mem::size_of::<FakeString>() , 144usize + , concat ! ( + "Size of: " , stringify ! ( FakeString ) )); + assert_eq! (::std::mem::align_of::<FakeString>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( FakeString ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . mData as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( mData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . mLength + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( mLength ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . mFlags + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( mFlags ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FakeString ) ) . + mInlineStorage as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + FakeString ) , "::" , stringify ! ( + mInlineStorage ) )); } #[repr(C)] #[derive(Debug)] @@ -1873,9 +2058,13 @@ pub mod root { #[test] fn bindgen_test_layout_FastElementCreationOptions() { assert_eq!(::std::mem::size_of::<FastElementCreationOptions>() - , 32usize); - assert_eq!(::std::mem::align_of::<FastElementCreationOptions>() - , 8usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + FastElementCreationOptions ) )); + assert_eq! (::std::mem::align_of::<FastElementCreationOptions>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FastElementCreationOptions ) )); } } /** @@ -1922,8 +2111,38 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMString() { - assert_eq!(::std::mem::size_of::<DOMString>() , 184usize); - assert_eq!(::std::mem::align_of::<DOMString>() , 8usize); + assert_eq!(::std::mem::size_of::<DOMString>() , 184usize , + concat ! ( "Size of: " , stringify ! ( DOMString ) + )); + assert_eq! (::std::mem::align_of::<DOMString>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DOMString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mString as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mStringBuffer + as * const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mStringBuffer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mLength as * + const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . mIsNull as * + const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mIsNull ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DOMString ) ) . + mStringBufferOwned as * const _ as usize } , + 181usize , concat ! ( + "Alignment of field: " , stringify ! ( DOMString ) + , "::" , stringify ! ( mStringBufferOwned ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -1938,17 +2157,33 @@ pub mod root { #[test] fn bindgen_test_layout_DictionaryBase_FastDictionaryInitializer() { assert_eq!(::std::mem::size_of::<DictionaryBase_FastDictionaryInitializer>() - , 1usize); - assert_eq!(::std::mem::align_of::<DictionaryBase_FastDictionaryInitializer>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + DictionaryBase_FastDictionaryInitializer ) )); + assert_eq! (::std::mem::align_of::<DictionaryBase_FastDictionaryInitializer>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + DictionaryBase_FastDictionaryInitializer ) )); } impl Clone for DictionaryBase_FastDictionaryInitializer { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_DictionaryBase() { - assert_eq!(::std::mem::size_of::<DictionaryBase>() , 1usize); - assert_eq!(::std::mem::align_of::<DictionaryBase>() , 1usize); + assert_eq!(::std::mem::size_of::<DictionaryBase>() , 1usize , + concat ! ( + "Size of: " , stringify ! ( DictionaryBase ) )); + assert_eq! (::std::mem::align_of::<DictionaryBase>() , 1usize + , concat ! ( + "Alignment of " , stringify ! ( DictionaryBase ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const DictionaryBase ) ) . + mIsAnyMemberPresent as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + DictionaryBase ) , "::" , stringify ! ( + mIsAnyMemberPresent ) )); } impl Clone for DictionaryBase { fn clone(&self) -> Self { *self } @@ -1961,9 +2196,13 @@ pub mod root { #[test] fn bindgen_test_layout_AllOwningUnionBase() { assert_eq!(::std::mem::size_of::<AllOwningUnionBase>() , - 1usize); - assert_eq!(::std::mem::align_of::<AllOwningUnionBase>() , - 1usize); + 1usize , concat ! ( + "Size of: " , stringify ! ( AllOwningUnionBase ) + )); + assert_eq! (::std::mem::align_of::<AllOwningUnionBase>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( AllOwningUnionBase + ) )); } impl Clone for AllOwningUnionBase { fn clone(&self) -> Self { *self } @@ -1979,8 +2218,31 @@ pub mod root { } #[test] fn bindgen_test_layout_GlobalObject() { - assert_eq!(::std::mem::size_of::<GlobalObject>() , 40usize); - assert_eq!(::std::mem::align_of::<GlobalObject>() , 8usize); + assert_eq!(::std::mem::size_of::<GlobalObject>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( GlobalObject ) )); + assert_eq! (::std::mem::align_of::<GlobalObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GlobalObject ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GlobalObject ) ) . + mGlobalJSObject as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GlobalObject ) , "::" , stringify ! ( + mGlobalJSObject ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GlobalObject ) ) . mCx as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + GlobalObject ) , "::" , stringify ! ( mCx ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GlobalObject ) ) . + mGlobalObject as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GlobalObject ) , "::" , stringify ! ( + mGlobalObject ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -1991,8 +2253,32 @@ pub mod root { } #[test] fn bindgen_test_layout_ParentObject() { - assert_eq!(::std::mem::size_of::<ParentObject>() , 24usize); - assert_eq!(::std::mem::align_of::<ParentObject>() , 8usize); + assert_eq!(::std::mem::size_of::<ParentObject>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( ParentObject ) )); + assert_eq! (::std::mem::align_of::<ParentObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ParentObject ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ParentObject ) ) . mObject as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ParentObject ) , "::" , stringify ! ( mObject ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ParentObject ) ) . + mWrapperCache as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ParentObject ) , "::" , stringify ! ( + mWrapperCache ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ParentObject ) ) . + mUseXBLScope as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ParentObject ) , "::" , stringify ! ( mUseXBLScope + ) )); } impl Clone for ParentObject { fn clone(&self) -> Self { *self } @@ -2010,9 +2296,13 @@ pub mod root { } #[test] fn bindgen_test_layout_DispatcherTrait() { - assert_eq!(::std::mem::size_of::<DispatcherTrait>() , 8usize); - assert_eq!(::std::mem::align_of::<DispatcherTrait>() , - 8usize); + assert_eq!(::std::mem::size_of::<DispatcherTrait>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( DispatcherTrait ) )); + assert_eq! (::std::mem::align_of::<DispatcherTrait>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( DispatcherTrait ) + )); } impl Clone for DispatcherTrait { fn clone(&self) -> Self { *self } @@ -2032,8 +2322,12 @@ pub mod root { } #[test] fn bindgen_test_layout_EventTarget() { - assert_eq!(::std::mem::size_of::<EventTarget>() , 32usize); - assert_eq!(::std::mem::align_of::<EventTarget>() , 8usize); + assert_eq!(::std::mem::size_of::<EventTarget>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( EventTarget ) )); + assert_eq! (::std::mem::align_of::<EventTarget>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( EventTarget ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2052,9 +2346,13 @@ pub mod root { #[test] fn bindgen_test_layout_EventHandlerNonNull() { assert_eq!(::std::mem::size_of::<EventHandlerNonNull>() , - 48usize); - assert_eq!(::std::mem::align_of::<EventHandlerNonNull>() , - 8usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( EventHandlerNonNull ) + )); + assert_eq! (::std::mem::align_of::<EventHandlerNonNull>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + EventHandlerNonNull ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2089,9 +2387,27 @@ pub mod root { #[test] fn bindgen_test_layout_Element_StyleStateLocks() { assert_eq!(::std::mem::size_of::<Element_StyleStateLocks>() , - 16usize); - assert_eq!(::std::mem::align_of::<Element_StyleStateLocks>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( Element_StyleStateLocks + ) )); + assert_eq! (::std::mem::align_of::<Element_StyleStateLocks>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + Element_StyleStateLocks ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element_StyleStateLocks ) ) . + mLocks as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Element_StyleStateLocks ) , "::" , stringify ! ( + mLocks ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element_StyleStateLocks ) ) . + mValues as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + Element_StyleStateLocks ) , "::" , stringify ! ( + mValues ) )); } impl Clone for Element_StyleStateLocks { fn clone(&self) -> Self { *self } @@ -2104,9 +2420,21 @@ pub mod root { #[test] fn bindgen_test_layout_Element_MappedAttributeEntry() { assert_eq!(::std::mem::size_of::<Element_MappedAttributeEntry>() - , 8usize); - assert_eq!(::std::mem::align_of::<Element_MappedAttributeEntry>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + Element_MappedAttributeEntry ) )); + assert_eq! (::std::mem::align_of::<Element_MappedAttributeEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + Element_MappedAttributeEntry ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const Element_MappedAttributeEntry ) ) + . attribute as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + Element_MappedAttributeEntry ) , "::" , stringify + ! ( attribute ) )); } impl Clone for Element_MappedAttributeEntry { fn clone(&self) -> Self { *self } @@ -2119,8 +2447,22 @@ pub mod root { pub const Element_kDontCallAfterSetAttr: bool = false; #[test] fn bindgen_test_layout_Element() { - assert_eq!(::std::mem::size_of::<Element>() , 128usize); - assert_eq!(::std::mem::align_of::<Element>() , 8usize); + assert_eq!(::std::mem::size_of::<Element>() , 128usize , + concat ! ( "Size of: " , stringify ! ( Element ) + )); + assert_eq! (::std::mem::align_of::<Element>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( Element ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element ) ) . mState as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( Element ) , + "::" , stringify ! ( mState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Element ) ) . mServoData as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( Element ) , + "::" , stringify ! ( mServoData ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2142,6 +2484,7 @@ pub mod root { NON_GET = 2, NON_E10S = 3, NOT_ONLY_TOPLEVEL_IN_TABGROUP = 4, + NON_WIN32 = 5, } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2173,9 +2516,13 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_cycleCollection() { assert_eq!(::std::mem::size_of::<CallbackObject_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<CallbackObject_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_cycleCollection ) )); } impl Clone for CallbackObject_cycleCollection { fn clone(&self) -> Self { *self } @@ -2195,9 +2542,21 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_JSObjectsDropper() { assert_eq!(::std::mem::size_of::<CallbackObject_JSObjectsDropper>() - , 8usize); - assert_eq!(::std::mem::align_of::<CallbackObject_JSObjectsDropper>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_JSObjectsDropper ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_JSObjectsDropper>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_JSObjectsDropper ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const CallbackObject_JSObjectsDropper ) + ) . mHolder as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_JSObjectsDropper ) , "::" , + stringify ! ( mHolder ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -2207,9 +2566,13 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_FastCallbackConstructor() { assert_eq!(::std::mem::size_of::<CallbackObject_FastCallbackConstructor>() - , 1usize); - assert_eq!(::std::mem::align_of::<CallbackObject_FastCallbackConstructor>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_FastCallbackConstructor ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_FastCallbackConstructor>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_FastCallbackConstructor ) )); } impl Clone for CallbackObject_FastCallbackConstructor { fn clone(&self) -> Self { *self } @@ -2232,9 +2595,90 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObject_CallSetup() { assert_eq!(::std::mem::size_of::<CallbackObject_CallSetup>() , - 368usize); - assert_eq!(::std::mem::align_of::<CallbackObject_CallSetup>() - , 8usize); + 368usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObject_CallSetup ) )); + assert_eq! (::std::mem::align_of::<CallbackObject_CallSetup>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObject_CallSetup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mCx as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mCx ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mCompartment as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mCompartment ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAutoEntryScript as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAutoEntryScript ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAutoIncumbentScript as * const _ as usize } , + 168usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAutoIncumbentScript ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mRootedCallable as * const _ as usize } , + 208usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mRootedCallable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAsyncStack as * const _ as usize } , 240usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAsyncStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAsyncStackSetter as * const _ as usize } , + 272usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAsyncStackSetter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mAc as * const _ as usize } , 328usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mAc ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mErrorResult as * const _ as usize } , 352usize + , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mErrorResult ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mExceptionHandling as * const _ as usize } , + 360usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mExceptionHandling ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject_CallSetup ) ) + . mIsMainThread as * const _ as usize } , 364usize + , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject_CallSetup ) , "::" , stringify ! ( + mIsMainThread ) )); } extern "C" { #[link_name = @@ -2244,8 +2688,47 @@ pub mod root { } #[test] fn bindgen_test_layout_CallbackObject() { - assert_eq!(::std::mem::size_of::<CallbackObject>() , 48usize); - assert_eq!(::std::mem::align_of::<CallbackObject>() , 8usize); + assert_eq!(::std::mem::size_of::<CallbackObject>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( CallbackObject ) )); + assert_eq! (::std::mem::align_of::<CallbackObject>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( CallbackObject ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . mRefCnt + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mCallback as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( mCallback + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mCreationStack as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + mCreationStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mIncumbentGlobal as * const _ as usize } , 32usize + , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + mIncumbentGlobal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CallbackObject ) ) . + mIncumbentJSGlobal as * const _ as usize } , + 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + CallbackObject ) , "::" , stringify ! ( + mIncumbentJSGlobal ) )); } #[repr(C)] #[derive(Debug)] @@ -2262,9 +2745,13 @@ pub mod root { #[test] fn bindgen_test_layout_CallbackObjectHolderBase() { assert_eq!(::std::mem::size_of::<CallbackObjectHolderBase>() , - 1usize); - assert_eq!(::std::mem::align_of::<CallbackObjectHolderBase>() - , 1usize); + 1usize , concat ! ( + "Size of: " , stringify ! ( + CallbackObjectHolderBase ) )); + assert_eq! (::std::mem::align_of::<CallbackObjectHolderBase>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + CallbackObjectHolderBase ) )); } impl Clone for CallbackObjectHolderBase { fn clone(&self) -> Self { *self } @@ -2276,10 +2763,13 @@ pub mod root { } #[test] fn bindgen_test_layout_CallbackFunction() { - assert_eq!(::std::mem::size_of::<CallbackFunction>() , - 48usize); - assert_eq!(::std::mem::align_of::<CallbackFunction>() , - 8usize); + assert_eq!(::std::mem::size_of::<CallbackFunction>() , 48usize + , concat ! ( + "Size of: " , stringify ! ( CallbackFunction ) )); + assert_eq! (::std::mem::align_of::<CallbackFunction>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( CallbackFunction ) + )); } pub mod prototypes { #[allow(unused_imports)] @@ -2307,9 +2797,55 @@ pub mod root { #[test] fn bindgen_test_layout_OriginAttributesDictionary() { assert_eq!(::std::mem::size_of::<OriginAttributesDictionary>() - , 64usize); - assert_eq!(::std::mem::align_of::<OriginAttributesDictionary>() - , 8usize); + , 64usize , concat ! ( + "Size of: " , stringify ! ( + OriginAttributesDictionary ) )); + assert_eq! (::std::mem::align_of::<OriginAttributesDictionary>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OriginAttributesDictionary ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mAddonId as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mAddonId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mAppId as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mAppId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mFirstPartyDomain as * const _ as usize } , + 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mFirstPartyDomain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mInIsolatedMozBrowser as * const _ as usize } + , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mInIsolatedMozBrowser ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mPrivateBrowsingId as * const _ as usize } , + 52usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mPrivateBrowsingId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OriginAttributesDictionary ) + ) . mUserContextId as * const _ as usize } , + 56usize , concat ! ( + "Alignment of field: " , stringify ! ( + OriginAttributesDictionary ) , "::" , stringify ! + ( mUserContextId ) )); } pub mod workers { #[allow(unused_imports)] @@ -2346,9 +2882,13 @@ pub mod root { #[test] fn bindgen_test_layout_NodeInfo_cycleCollection() { assert_eq!(::std::mem::size_of::<NodeInfo_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<NodeInfo_cycleCollection>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + NodeInfo_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<NodeInfo_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + NodeInfo_cycleCollection ) )); } impl Clone for NodeInfo_cycleCollection { fn clone(&self) -> Self { *self } @@ -2366,9 +2906,55 @@ pub mod root { #[test] fn bindgen_test_layout_NodeInfo_NodeInfoInner() { assert_eq!(::std::mem::size_of::<NodeInfo_NodeInfoInner>() , - 40usize); - assert_eq!(::std::mem::align_of::<NodeInfo_NodeInfoInner>() , - 8usize); + 40usize , concat ! ( + "Size of: " , stringify ! ( NodeInfo_NodeInfoInner + ) )); + assert_eq! (::std::mem::align_of::<NodeInfo_NodeInfoInner>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + NodeInfo_NodeInfoInner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mName as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mPrefix as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mPrefix ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mNamespaceID as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mNamespaceID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mNodeType as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mNodeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mNameString as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mNameString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo_NodeInfoInner ) ) . + mExtraName as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + NodeInfo_NodeInfoInner ) , "::" , stringify ! ( + mExtraName ) )); } extern "C" { #[link_name = @@ -2378,8 +2964,47 @@ pub mod root { } #[test] fn bindgen_test_layout_NodeInfo() { - assert_eq!(::std::mem::size_of::<NodeInfo>() , 112usize); - assert_eq!(::std::mem::align_of::<NodeInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<NodeInfo>() , 112usize , + concat ! ( "Size of: " , stringify ! ( NodeInfo ) + )); + assert_eq! (::std::mem::align_of::<NodeInfo>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( NodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mDocument as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mInner as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mInner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mOwnerManager + as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mOwnerManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mQualifiedName + as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mQualifiedName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mNodeName as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mNodeName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const NodeInfo ) ) . mLocalName as + * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( NodeInfo ) + , "::" , stringify ! ( mLocalName ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2414,9 +3039,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMRectReadOnly_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMRectReadOnly_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMRectReadOnly_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMRectReadOnly_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMRectReadOnly_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMRectReadOnly_cycleCollection ) )); } impl Clone for DOMRectReadOnly_cycleCollection { fn clone(&self) -> Self { *self } @@ -2429,10 +3058,13 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMRectReadOnly() { - assert_eq!(::std::mem::size_of::<DOMRectReadOnly>() , - 48usize); - assert_eq!(::std::mem::align_of::<DOMRectReadOnly>() , - 8usize); + assert_eq!(::std::mem::size_of::<DOMRectReadOnly>() , 48usize + , concat ! ( + "Size of: " , stringify ! ( DOMRectReadOnly ) )); + assert_eq! (::std::mem::align_of::<DOMRectReadOnly>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( DOMRectReadOnly ) + )); } #[repr(C)] #[derive(Debug)] @@ -2457,9 +3089,27 @@ pub mod root { #[test] fn bindgen_test_layout_OwningNodeOrString_Value() { assert_eq!(::std::mem::size_of::<OwningNodeOrString_Value>() , - 16usize); - assert_eq!(::std::mem::align_of::<OwningNodeOrString_Value>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + OwningNodeOrString_Value ) )); + assert_eq! (::std::mem::align_of::<OwningNodeOrString_Value>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OwningNodeOrString_Value ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString_Value ) ) + . mNode as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString_Value ) , "::" , stringify ! ( + mNode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString_Value ) ) + . mString as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString_Value ) , "::" , stringify ! ( + mString ) )); } impl Clone for OwningNodeOrString_Value { fn clone(&self) -> Self { *self } @@ -2467,9 +3117,27 @@ pub mod root { #[test] fn bindgen_test_layout_OwningNodeOrString() { assert_eq!(::std::mem::size_of::<OwningNodeOrString>() , - 24usize); - assert_eq!(::std::mem::align_of::<OwningNodeOrString>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( OwningNodeOrString ) + )); + assert_eq! (::std::mem::align_of::<OwningNodeOrString>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( OwningNodeOrString + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString ) ) . + mType as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString ) , "::" , stringify ! ( mType + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OwningNodeOrString ) ) . + mValue as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + OwningNodeOrString ) , "::" , stringify ! ( mValue + ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2505,9 +3173,19 @@ pub mod root { #[test] fn bindgen_test_layout_ElementCreationOptions() { assert_eq!(::std::mem::size_of::<ElementCreationOptions>() , - 32usize); - assert_eq!(::std::mem::align_of::<ElementCreationOptions>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( ElementCreationOptions + ) )); + assert_eq! (::std::mem::align_of::<ElementCreationOptions>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + ElementCreationOptions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ElementCreationOptions ) ) . + mIs as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptions ) , "::" , stringify ! ( + mIs ) )); } #[repr(C)] #[derive(Debug)] @@ -2532,9 +3210,31 @@ pub mod root { #[test] fn bindgen_test_layout_ElementCreationOptionsOrString_Value() { assert_eq!(::std::mem::size_of::<ElementCreationOptionsOrString_Value>() - , 144usize); - assert_eq!(::std::mem::align_of::<ElementCreationOptionsOrString_Value>() - , 8usize); + , 144usize , concat ! ( + "Size of: " , stringify ! ( + ElementCreationOptionsOrString_Value ) )); + assert_eq! (::std::mem::align_of::<ElementCreationOptionsOrString_Value>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + ElementCreationOptionsOrString_Value ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const ElementCreationOptionsOrString_Value + ) ) . mElementCreationOptions as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString_Value ) , "::" , + stringify ! ( mElementCreationOptions ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const ElementCreationOptionsOrString_Value + ) ) . mString as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString_Value ) , "::" , + stringify ! ( mString ) )); } impl Clone for ElementCreationOptionsOrString_Value { fn clone(&self) -> Self { *self } @@ -2542,9 +3242,29 @@ pub mod root { #[test] fn bindgen_test_layout_ElementCreationOptionsOrString() { assert_eq!(::std::mem::size_of::<ElementCreationOptionsOrString>() - , 152usize); - assert_eq!(::std::mem::align_of::<ElementCreationOptionsOrString>() - , 8usize); + , 152usize , concat ! ( + "Size of: " , stringify ! ( + ElementCreationOptionsOrString ) )); + assert_eq! (::std::mem::align_of::<ElementCreationOptionsOrString>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + ElementCreationOptionsOrString ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const ElementCreationOptionsOrString ) + ) . mType as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString ) , "::" , + stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const ElementCreationOptionsOrString ) + ) . mValue as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ElementCreationOptionsOrString ) , "::" , + stringify ! ( mValue ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2569,9 +3289,13 @@ pub mod root { #[test] fn bindgen_test_layout_Attr_cycleCollection() { assert_eq!(::std::mem::size_of::<Attr_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<Attr_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( Attr_cycleCollection ) + )); + assert_eq! (::std::mem::align_of::<Attr_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + Attr_cycleCollection ) )); } impl Clone for Attr_cycleCollection { fn clone(&self) -> Self { *self } @@ -2587,8 +3311,10 @@ pub mod root { } #[test] fn bindgen_test_layout_Attr() { - assert_eq!(::std::mem::size_of::<Attr>() , 136usize); - assert_eq!(::std::mem::align_of::<Attr>() , 8usize); + assert_eq!(::std::mem::size_of::<Attr>() , 136usize , concat ! + ( "Size of: " , stringify ! ( Attr ) )); + assert_eq! (::std::mem::align_of::<Attr>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( Attr ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2636,9 +3362,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserver_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserver_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserver_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMIntersectionObserver_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserver_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserver_cycleCollection ) )); } impl Clone for DOMIntersectionObserver_cycleCollection { fn clone(&self) -> Self { *self } @@ -2659,9 +3389,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserver() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserver>() , - 192usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserver>() , - 8usize); + 192usize , concat ! ( + "Size of: " , stringify ! ( DOMIntersectionObserver + ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserver>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserver ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2680,9 +3414,13 @@ pub mod root { #[test] fn bindgen_test_layout_FrameRequestCallback() { assert_eq!(::std::mem::size_of::<FrameRequestCallback>() , - 48usize); - assert_eq!(::std::mem::align_of::<FrameRequestCallback>() , - 8usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( FrameRequestCallback ) + )); + assert_eq! (::std::mem::align_of::<FrameRequestCallback>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FrameRequestCallback ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -2784,10 +3522,25 @@ pub mod root { } #[test] fn bindgen_test_layout_BorrowedAttrInfo() { - assert_eq!(::std::mem::size_of::<BorrowedAttrInfo>() , - 16usize); - assert_eq!(::std::mem::align_of::<BorrowedAttrInfo>() , - 8usize); + assert_eq!(::std::mem::size_of::<BorrowedAttrInfo>() , 16usize + , concat ! ( + "Size of: " , stringify ! ( BorrowedAttrInfo ) )); + assert_eq! (::std::mem::align_of::<BorrowedAttrInfo>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( BorrowedAttrInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BorrowedAttrInfo ) ) . mName + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + BorrowedAttrInfo ) , "::" , stringify ! ( mName ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const BorrowedAttrInfo ) ) . mValue + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + BorrowedAttrInfo ) , "::" , stringify ! ( mValue ) + )); } impl Clone for BorrowedAttrInfo { fn clone(&self) -> Self { *self } @@ -2817,8 +3570,19 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollOptions() { - assert_eq!(::std::mem::size_of::<ScrollOptions>() , 2usize); - assert_eq!(::std::mem::align_of::<ScrollOptions>() , 1usize); + assert_eq!(::std::mem::size_of::<ScrollOptions>() , 2usize , + concat ! ( + "Size of: " , stringify ! ( ScrollOptions ) )); + assert_eq! (::std::mem::align_of::<ScrollOptions>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( ScrollOptions ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollOptions ) ) . mBehavior + as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollOptions ) , "::" , stringify ! ( mBehavior ) + )); } impl Clone for ScrollOptions { fn clone(&self) -> Self { *self } @@ -2832,10 +3596,25 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollToOptions() { - assert_eq!(::std::mem::size_of::<ScrollToOptions>() , - 40usize); - assert_eq!(::std::mem::align_of::<ScrollToOptions>() , - 8usize); + assert_eq!(::std::mem::size_of::<ScrollToOptions>() , 40usize + , concat ! ( + "Size of: " , stringify ! ( ScrollToOptions ) )); + assert_eq! (::std::mem::align_of::<ScrollToOptions>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( ScrollToOptions ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollToOptions ) ) . mLeft + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollToOptions ) , "::" , stringify ! ( mLeft ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollToOptions ) ) . mTop as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + ScrollToOptions ) , "::" , stringify ! ( mTop ) + )); } #[repr(C)] #[derive(Debug)] @@ -2857,9 +3636,13 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement_cycleCollection() { assert_eq!(::std::mem::size_of::<FragmentOrElement_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FragmentOrElement_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FragmentOrElement_cycleCollection ) )); } impl Clone for FragmentOrElement_cycleCollection { fn clone(&self) -> Self { *self } @@ -2957,9 +3740,33 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement_nsDOMSlots__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_1>() - , 8usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_1>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement_nsDOMSlots__bindgen_ty_1>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) ) . + mBindingParent as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) , + "::" , stringify ! ( mBindingParent ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) ) . + mControllers as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots__bindgen_ty_1 ) , + "::" , stringify ! ( mControllers ) )); } impl Clone for FragmentOrElement_nsDOMSlots__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -2967,9 +3774,125 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() { assert_eq!(::std::mem::size_of::<FragmentOrElement_nsDOMSlots>() - , 200usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement_nsDOMSlots>() - , 8usize); + , 200usize , concat ! ( + "Size of: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement_nsDOMSlots>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FragmentOrElement_nsDOMSlots ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mStyle as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mStyle ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mDataset as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mDataset ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mSMILOverrideStyle as * const _ as usize } , + 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mSMILOverrideStyle ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mSMILOverrideStyleDeclaration as * const _ as + usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mSMILOverrideStyleDeclaration ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mAttributeMap as * const _ as usize } , 80usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mAttributeMap ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mChildrenList as * const _ as usize } , 96usize + , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mChildrenList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mClassList as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mClassList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mShadowRoot as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mShadowRoot ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mContainingShadow as * const _ as usize } , + 120usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mContainingShadow ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mDestInsertionPoints as * const _ as usize } , + 128usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mDestInsertionPoints ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mXBLBinding as * const _ as usize } , 136usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mXBLBinding ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mXBLInsertionParent as * const _ as usize } , + 144usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mXBLInsertionParent ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mCustomElementData as * const _ as usize } , + 152usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mCustomElementData ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FragmentOrElement_nsDOMSlots ) ) + . mRegisteredIntersectionObservers as * const _ as + usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement_nsDOMSlots ) , "::" , stringify + ! ( mRegisteredIntersectionObservers ) )); } extern "C" { #[link_name = @@ -2980,9 +3903,26 @@ pub mod root { #[test] fn bindgen_test_layout_FragmentOrElement() { assert_eq!(::std::mem::size_of::<FragmentOrElement>() , - 112usize); - assert_eq!(::std::mem::align_of::<FragmentOrElement>() , - 8usize); + 112usize , concat ! ( + "Size of: " , stringify ! ( FragmentOrElement ) )); + assert_eq! (::std::mem::align_of::<FragmentOrElement>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( FragmentOrElement + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FragmentOrElement ) ) . + mRefCnt as * const _ as usize } , 96usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement ) , "::" , stringify ! ( mRefCnt + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FragmentOrElement ) ) . + mAttrsAndChildren as * const _ as usize } , + 104usize , concat ! ( + "Alignment of field: " , stringify ! ( + FragmentOrElement ) , "::" , stringify ! ( + mAttrsAndChildren ) )); } #[repr(C)] #[derive(Debug)] @@ -2996,8 +3936,11 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMRect() { - assert_eq!(::std::mem::size_of::<DOMRect>() , 88usize); - assert_eq!(::std::mem::align_of::<DOMRect>() , 8usize); + assert_eq!(::std::mem::size_of::<DOMRect>() , 88usize , concat + ! ( "Size of: " , stringify ! ( DOMRect ) )); + assert_eq! (::std::mem::align_of::<DOMRect>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DOMRect ) )); } #[repr(C)] #[derive(Debug)] @@ -3018,9 +3961,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMRectList_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMRectList_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMRectList_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMRectList_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMRectList_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMRectList_cycleCollection ) )); } impl Clone for DOMRectList_cycleCollection { fn clone(&self) -> Self { *self } @@ -3033,8 +3980,12 @@ pub mod root { } #[test] fn bindgen_test_layout_DOMRectList() { - assert_eq!(::std::mem::size_of::<DOMRectList>() , 56usize); - assert_eq!(::std::mem::align_of::<DOMRectList>() , 8usize); + assert_eq!(::std::mem::size_of::<DOMRectList>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( DOMRectList ) )); + assert_eq! (::std::mem::align_of::<DOMRectList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DOMRectList ) )); } pub type DOMTokenListSupportedToken = *const ::std::os::raw::c_char; @@ -3056,9 +4007,20 @@ pub mod root { #[test] fn bindgen_test_layout_ScrollIntoViewOptions() { assert_eq!(::std::mem::size_of::<ScrollIntoViewOptions>() , - 3usize); - assert_eq!(::std::mem::align_of::<ScrollIntoViewOptions>() , - 1usize); + 3usize , concat ! ( + "Size of: " , stringify ! ( ScrollIntoViewOptions ) + )); + assert_eq! (::std::mem::align_of::<ScrollIntoViewOptions>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + ScrollIntoViewOptions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollIntoViewOptions ) ) . + mBlock as * const _ as usize } , 2usize , concat ! + ( + "Alignment of field: " , stringify ! ( + ScrollIntoViewOptions ) , "::" , stringify ! ( + mBlock ) )); } impl Clone for ScrollIntoViewOptions { fn clone(&self) -> Self { *self } @@ -3087,9 +4049,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserverEntry_cycleCollection() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserverEntry_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserverEntry_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DOMIntersectionObserverEntry_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserverEntry_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserverEntry_cycleCollection ) )); } impl Clone for DOMIntersectionObserverEntry_cycleCollection { fn clone(&self) -> Self { *self } @@ -3104,9 +4070,13 @@ pub mod root { #[test] fn bindgen_test_layout_DOMIntersectionObserverEntry() { assert_eq!(::std::mem::size_of::<DOMIntersectionObserverEntry>() - , 96usize); - assert_eq!(::std::mem::align_of::<DOMIntersectionObserverEntry>() - , 8usize); + , 96usize , concat ! ( + "Size of: " , stringify ! ( + DOMIntersectionObserverEntry ) )); + assert_eq! (::std::mem::align_of::<DOMIntersectionObserverEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DOMIntersectionObserverEntry ) )); } #[repr(C)] #[derive(Debug)] @@ -3116,9 +4086,13 @@ pub mod root { #[test] fn bindgen_test_layout_IntersectionCallback() { assert_eq!(::std::mem::size_of::<IntersectionCallback>() , - 48usize); - assert_eq!(::std::mem::align_of::<IntersectionCallback>() , - 8usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( IntersectionCallback ) + )); + assert_eq! (::std::mem::align_of::<IntersectionCallback>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + IntersectionCallback ) )); } #[repr(C)] #[derive(Debug)] @@ -3143,9 +4117,31 @@ pub mod root { #[test] fn bindgen_test_layout_OwningDoubleOrDoubleSequence_Value() { assert_eq!(::std::mem::size_of::<OwningDoubleOrDoubleSequence_Value>() - , 8usize); - assert_eq!(::std::mem::align_of::<OwningDoubleOrDoubleSequence_Value>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) )); + assert_eq! (::std::mem::align_of::<OwningDoubleOrDoubleSequence_Value>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const OwningDoubleOrDoubleSequence_Value ) + ) . mDouble as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) , "::" , + stringify ! ( mDouble ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const OwningDoubleOrDoubleSequence_Value ) + ) . mDoubleSequence as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence_Value ) , "::" , + stringify ! ( mDoubleSequence ) )); } impl Clone for OwningDoubleOrDoubleSequence_Value { fn clone(&self) -> Self { *self } @@ -3153,9 +4149,29 @@ pub mod root { #[test] fn bindgen_test_layout_OwningDoubleOrDoubleSequence() { assert_eq!(::std::mem::size_of::<OwningDoubleOrDoubleSequence>() - , 16usize); - assert_eq!(::std::mem::align_of::<OwningDoubleOrDoubleSequence>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + OwningDoubleOrDoubleSequence ) )); + assert_eq! (::std::mem::align_of::<OwningDoubleOrDoubleSequence>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + OwningDoubleOrDoubleSequence ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const OwningDoubleOrDoubleSequence ) ) + . mType as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence ) , "::" , stringify + ! ( mType ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const OwningDoubleOrDoubleSequence ) ) + . mValue as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + OwningDoubleOrDoubleSequence ) , "::" , stringify + ! ( mValue ) )); } #[repr(C)] #[derive(Debug)] @@ -3168,9 +4184,34 @@ pub mod root { #[test] fn bindgen_test_layout_IntersectionObserverInit() { assert_eq!(::std::mem::size_of::<IntersectionObserverInit>() , - 48usize); - assert_eq!(::std::mem::align_of::<IntersectionObserverInit>() - , 8usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( + IntersectionObserverInit ) )); + assert_eq! (::std::mem::align_of::<IntersectionObserverInit>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + IntersectionObserverInit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionObserverInit ) ) + . mRoot as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + IntersectionObserverInit ) , "::" , stringify ! ( + mRoot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionObserverInit ) ) + . mRootMargin as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionObserverInit ) , "::" , stringify ! ( + mRootMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const IntersectionObserverInit ) ) + . mThreshold as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + IntersectionObserverInit ) , "::" , stringify ! ( + mThreshold ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3196,9 +4237,14 @@ pub mod root { #[test] fn bindgen_test_layout_DestinationInsertionPointList_cycleCollection() { assert_eq!(::std::mem::size_of::<DestinationInsertionPointList_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<DestinationInsertionPointList_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + DestinationInsertionPointList_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<DestinationInsertionPointList_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DestinationInsertionPointList_cycleCollection ) + )); } impl Clone for DestinationInsertionPointList_cycleCollection { fn clone(&self) -> Self { *self } @@ -3213,9 +4259,37 @@ pub mod root { #[test] fn bindgen_test_layout_DestinationInsertionPointList() { assert_eq!(::std::mem::size_of::<DestinationInsertionPointList>() - , 56usize); - assert_eq!(::std::mem::align_of::<DestinationInsertionPointList>() - , 8usize); + , 56usize , concat ! ( + "Size of: " , stringify ! ( + DestinationInsertionPointList ) )); + assert_eq! (::std::mem::align_of::<DestinationInsertionPointList>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + DestinationInsertionPointList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . mRefCnt as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . mParent as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( mParent ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const DestinationInsertionPointList ) ) + . mDestinationPoints as * const _ as usize } , + 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + DestinationInsertionPointList ) , "::" , stringify + ! ( mDestinationPoints ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3230,8 +4304,11 @@ pub mod root { root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::AssertAndSuppressCleanupPolicy>; #[test] fn bindgen_test_layout_ErrorResult() { - assert_eq!(::std::mem::size_of::<ErrorResult>() , 16usize); - assert_eq!(::std::mem::align_of::<ErrorResult>() , 8usize); + assert_eq!(::std::mem::size_of::<ErrorResult>() , 16usize , concat + ! ( "Size of: " , stringify ! ( ErrorResult ) )); + assert_eq! (::std::mem::align_of::<ErrorResult>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ErrorResult ) )); } impl Clone for ErrorResult { fn clone(&self) -> Self { *self } @@ -3243,8 +4320,11 @@ pub mod root { } #[test] fn bindgen_test_layout_OOMReporter() { - assert_eq!(::std::mem::size_of::<OOMReporter>() , 16usize); - assert_eq!(::std::mem::align_of::<OOMReporter>() , 8usize); + assert_eq!(::std::mem::size_of::<OOMReporter>() , 16usize , concat + ! ( "Size of: " , stringify ! ( OOMReporter ) )); + assert_eq! (::std::mem::align_of::<OOMReporter>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( OOMReporter ) )); } pub mod binding_danger { #[allow(unused_imports)] @@ -3298,9 +4378,13 @@ pub mod root { #[test] fn bindgen_test_layout_JustAssertCleanupPolicy() { assert_eq!(::std::mem::size_of::<JustAssertCleanupPolicy>() , - 1usize); - assert_eq!(::std::mem::align_of::<JustAssertCleanupPolicy>() , - 1usize); + 1usize , concat ! ( + "Size of: " , stringify ! ( JustAssertCleanupPolicy + ) )); + assert_eq! (::std::mem::align_of::<JustAssertCleanupPolicy>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + JustAssertCleanupPolicy ) )); } impl Clone for JustAssertCleanupPolicy { fn clone(&self) -> Self { *self } @@ -3316,9 +4400,13 @@ pub mod root { #[test] fn bindgen_test_layout_AssertAndSuppressCleanupPolicy() { assert_eq!(::std::mem::size_of::<AssertAndSuppressCleanupPolicy>() - , 1usize); - assert_eq!(::std::mem::align_of::<AssertAndSuppressCleanupPolicy>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + AssertAndSuppressCleanupPolicy ) )); + assert_eq! (::std::mem::align_of::<AssertAndSuppressCleanupPolicy>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + AssertAndSuppressCleanupPolicy ) )); } impl Clone for AssertAndSuppressCleanupPolicy { fn clone(&self) -> Self { *self } @@ -3362,8 +4450,12 @@ pub mod root { } #[test] fn bindgen_test_layout_OriginAttributes() { - assert_eq!(::std::mem::size_of::<OriginAttributes>() , 64usize); - assert_eq!(::std::mem::align_of::<OriginAttributes>() , 8usize); + assert_eq!(::std::mem::size_of::<OriginAttributes>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( OriginAttributes ) )); + assert_eq! (::std::mem::align_of::<OriginAttributes>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( OriginAttributes ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3391,8 +4483,10 @@ pub mod root { pub type Runnable_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_Runnable() { - assert_eq!(::std::mem::size_of::<Runnable>() , 32usize); - assert_eq!(::std::mem::align_of::<Runnable>() , 8usize); + assert_eq!(::std::mem::size_of::<Runnable>() , 32usize , concat ! + ( "Size of: " , stringify ! ( Runnable ) )); + assert_eq! (::std::mem::align_of::<Runnable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( Runnable ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3431,10 +4525,13 @@ pub mod root { } #[test] fn bindgen_test_layout_BlockingResourceBase() { - assert_eq!(::std::mem::size_of::<BlockingResourceBase>() , - 1usize); - assert_eq!(::std::mem::align_of::<BlockingResourceBase>() , - 1usize); + assert_eq!(::std::mem::size_of::<BlockingResourceBase>() , 1usize + , concat ! ( + "Size of: " , stringify ! ( BlockingResourceBase ) )); + assert_eq! (::std::mem::align_of::<BlockingResourceBase>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( BlockingResourceBase ) + )); } /** * OffTheBooksMutex is identical to Mutex, except that OffTheBooksMutex doesn't @@ -3448,8 +4545,17 @@ pub mod root { } #[test] fn bindgen_test_layout_OffTheBooksMutex() { - assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 8usize); - assert_eq!(::std::mem::align_of::<OffTheBooksMutex>() , 8usize); + assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( OffTheBooksMutex ) )); + assert_eq! (::std::mem::align_of::<OffTheBooksMutex>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( OffTheBooksMutex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const OffTheBooksMutex ) ) . mLock as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + OffTheBooksMutex ) , "::" , stringify ! ( mLock ) )); } /** * Mutex @@ -3463,8 +4569,10 @@ pub mod root { } #[test] fn bindgen_test_layout_Mutex() { - assert_eq!(::std::mem::size_of::<Mutex>() , 8usize); - assert_eq!(::std::mem::align_of::<Mutex>() , 8usize); + assert_eq!(::std::mem::size_of::<Mutex>() , 8usize , concat ! ( + "Size of: " , stringify ! ( Mutex ) )); + assert_eq! (::std::mem::align_of::<Mutex>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( Mutex ) )); } pub mod net { #[allow(unused_imports)] @@ -3512,8 +4620,23 @@ pub mod root { } #[test] fn bindgen_test_layout_ChangesToFlush() { - assert_eq!(::std::mem::size_of::<ChangesToFlush>() , 2usize); - assert_eq!(::std::mem::align_of::<ChangesToFlush>() , 1usize); + assert_eq!(::std::mem::size_of::<ChangesToFlush>() , 2usize , + concat ! ( "Size of: " , stringify ! ( ChangesToFlush ) + )); + assert_eq! (::std::mem::align_of::<ChangesToFlush>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( ChangesToFlush ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ChangesToFlush ) ) . mFlushType + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ChangesToFlush + ) , "::" , stringify ! ( mFlushType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ChangesToFlush ) ) . + mFlushAnimations as * const _ as usize } , 1usize , + concat ! ( + "Alignment of field: " , stringify ! ( ChangesToFlush + ) , "::" , stringify ! ( mFlushAnimations ) )); } impl Clone for ChangesToFlush { fn clone(&self) -> Self { *self } @@ -3534,8 +4657,16 @@ pub mod root { pub type EventStates_ServoType = u16; #[test] fn bindgen_test_layout_EventStates() { - assert_eq!(::std::mem::size_of::<EventStates>() , 8usize); - assert_eq!(::std::mem::align_of::<EventStates>() , 8usize); + assert_eq!(::std::mem::size_of::<EventStates>() , 8usize , concat + ! ( "Size of: " , stringify ! ( EventStates ) )); + assert_eq! (::std::mem::align_of::<EventStates>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( EventStates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EventStates ) ) . mStates as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( EventStates ) , + "::" , stringify ! ( mStates ) )); } impl Clone for EventStates { fn clone(&self) -> Self { *self } @@ -3600,8 +4731,62 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_URLValueData() { - assert_eq!(::std::mem::size_of::<URLValueData>() , 64usize); - assert_eq!(::std::mem::align_of::<URLValueData>() , 8usize); + assert_eq!(::std::mem::size_of::<URLValueData>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( URLValueData ) )); + assert_eq! (::std::mem::align_of::<URLValueData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( URLValueData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mRefCnt as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mURI as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mURI ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mBaseURI + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mBaseURI ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mString as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mString ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . mReferrer + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mReferrer ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . + mOriginPrincipal as * const _ as usize } , 48usize + , concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( + mOriginPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . + mURIResolved as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mURIResolved + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const URLValueData ) ) . + mIsLocalRef as * const _ as usize } , 57usize , + concat ! ( + "Alignment of field: " , stringify ! ( + URLValueData ) , "::" , stringify ! ( mIsLocalRef + ) )); } #[repr(C)] #[derive(Debug)] @@ -3610,8 +4795,12 @@ pub mod root { } #[test] fn bindgen_test_layout_URLValue() { - assert_eq!(::std::mem::size_of::<URLValue>() , 64usize); - assert_eq!(::std::mem::align_of::<URLValue>() , 8usize); + assert_eq!(::std::mem::size_of::<URLValue>() , 64usize , + concat ! ( "Size of: " , stringify ! ( URLValue ) + )); + assert_eq! (::std::mem::align_of::<URLValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( URLValue ) )); } #[repr(C)] #[derive(Debug)] @@ -3621,8 +4810,17 @@ pub mod root { } #[test] fn bindgen_test_layout_ImageValue() { - assert_eq!(::std::mem::size_of::<ImageValue>() , 104usize); - assert_eq!(::std::mem::align_of::<ImageValue>() , 8usize); + assert_eq!(::std::mem::size_of::<ImageValue>() , 104usize , + concat ! ( "Size of: " , stringify ! ( ImageValue ) + )); + assert_eq! (::std::mem::align_of::<ImageValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ImageValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageValue ) ) . mRequests as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( ImageValue + ) , "::" , stringify ! ( mRequests ) )); } #[repr(C)] #[derive(Debug)] @@ -3635,8 +4833,44 @@ pub mod root { } #[test] fn bindgen_test_layout_GridNamedArea() { - assert_eq!(::std::mem::size_of::<GridNamedArea>() , 32usize); - assert_eq!(::std::mem::align_of::<GridNamedArea>() , 8usize); + assert_eq!(::std::mem::size_of::<GridNamedArea>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( GridNamedArea ) )); + assert_eq! (::std::mem::align_of::<GridNamedArea>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GridNamedArea ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . mName as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . + mColumnStart as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( + mColumnStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . + mColumnEnd as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mColumnEnd + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . mRowStart + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mRowStart ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridNamedArea ) ) . mRowEnd + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( + GridNamedArea ) , "::" , stringify ! ( mRowEnd ) + )); } #[repr(C)] #[derive(Debug)] @@ -3651,9 +4885,41 @@ pub mod root { #[test] fn bindgen_test_layout_GridTemplateAreasValue() { assert_eq!(::std::mem::size_of::<GridTemplateAreasValue>() , - 32usize); - assert_eq!(::std::mem::align_of::<GridTemplateAreasValue>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( GridTemplateAreasValue + ) )); + assert_eq! (::std::mem::align_of::<GridTemplateAreasValue>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + GridTemplateAreasValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mNamedAreas as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mNamedAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mTemplates as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mTemplates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mNColumns as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mNColumns ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GridTemplateAreasValue ) ) . + mRefCnt as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + GridTemplateAreasValue ) , "::" , stringify ! ( + mRefCnt ) )); } #[repr(C)] #[derive(Debug)] @@ -3666,9 +4932,20 @@ pub mod root { #[test] fn bindgen_test_layout_FontFamilyListRefCnt() { assert_eq!(::std::mem::size_of::<FontFamilyListRefCnt>() , - 24usize); - assert_eq!(::std::mem::align_of::<FontFamilyListRefCnt>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( FontFamilyListRefCnt ) + )); + assert_eq! (::std::mem::align_of::<FontFamilyListRefCnt>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FontFamilyListRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyListRefCnt ) ) . + mRefCnt as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FontFamilyListRefCnt ) , "::" , stringify ! ( + mRefCnt ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -3680,8 +4957,33 @@ pub mod root { } #[test] fn bindgen_test_layout_RGBAColorData() { - assert_eq!(::std::mem::size_of::<RGBAColorData>() , 16usize); - assert_eq!(::std::mem::align_of::<RGBAColorData>() , 4usize); + assert_eq!(::std::mem::size_of::<RGBAColorData>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( RGBAColorData ) )); + assert_eq! (::std::mem::align_of::<RGBAColorData>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( RGBAColorData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mR as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mR ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mG as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mB as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mB ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RGBAColorData ) ) . mA as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + RGBAColorData ) , "::" , stringify ! ( mA ) )); } impl Clone for RGBAColorData { fn clone(&self) -> Self { *self } @@ -3694,10 +4996,26 @@ pub mod root { } #[test] fn bindgen_test_layout_ComplexColorData() { - assert_eq!(::std::mem::size_of::<ComplexColorData>() , - 20usize); - assert_eq!(::std::mem::align_of::<ComplexColorData>() , - 4usize); + assert_eq!(::std::mem::size_of::<ComplexColorData>() , 20usize + , concat ! ( + "Size of: " , stringify ! ( ComplexColorData ) )); + assert_eq! (::std::mem::align_of::<ComplexColorData>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( ComplexColorData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorData ) ) . mColor + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ComplexColorData ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorData ) ) . + mForegroundRatio as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ComplexColorData ) , "::" , stringify ! ( + mForegroundRatio ) )); } impl Clone for ComplexColorData { fn clone(&self) -> Self { *self } @@ -3713,9 +5031,19 @@ pub mod root { #[test] fn bindgen_test_layout_ComplexColorValue() { assert_eq!(::std::mem::size_of::<ComplexColorValue>() , - 32usize); - assert_eq!(::std::mem::align_of::<ComplexColorValue>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( ComplexColorValue ) )); + assert_eq! (::std::mem::align_of::<ComplexColorValue>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( ComplexColorValue + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ComplexColorValue ) ) . + mRefCnt as * const _ as usize } , 24usize , concat + ! ( + "Alignment of field: " , stringify ! ( + ComplexColorValue ) , "::" , stringify ! ( mRefCnt + ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3750,9 +5078,13 @@ pub mod root { #[test] fn bindgen_test_layout_StyleSheet_cycleCollection() { assert_eq!(::std::mem::size_of::<StyleSheet_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<StyleSheet_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( StyleSheet_cycleCollection + ) )); + assert_eq! (::std::mem::align_of::<StyleSheet_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + StyleSheet_cycleCollection ) )); } impl Clone for StyleSheet_cycleCollection { fn clone(&self) -> Self { *self } @@ -3770,8 +5102,10 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleSheet() { - assert_eq!(::std::mem::size_of::<StyleSheet>() , 112usize); - assert_eq!(::std::mem::align_of::<StyleSheet>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleSheet>() , 112usize , concat + ! ( "Size of: " , stringify ! ( StyleSheet ) )); + assert_eq! (::std::mem::align_of::<StyleSheet>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( StyleSheet ) )); } #[repr(u8)] /** @@ -3823,47 +5157,61 @@ pub mod root { eUseCounter_OfflineResourceList_oncached_setter = 27, eUseCounter_OfflineResourceList_onobsolete_getter = 28, eUseCounter_OfflineResourceList_onobsolete_setter = 29, - eUseCounter_GetAttributeNode = 30, - eUseCounter_SetAttributeNode = 31, - eUseCounter_GetAttributeNodeNS = 32, - eUseCounter_SetAttributeNodeNS = 33, - eUseCounter_RemoveAttributeNode = 34, - eUseCounter_CreateAttribute = 35, - eUseCounter_CreateAttributeNS = 36, - eUseCounter_NodeValue = 37, - eUseCounter_TextContent = 38, - eUseCounter_EnablePrivilege = 39, - eUseCounter_DOMExceptionCode = 40, - eUseCounter_NoExposedProps = 41, - eUseCounter_MutationEvent = 42, - eUseCounter_Components = 43, - eUseCounter_PrefixedVisibilityAPI = 44, - eUseCounter_NodeIteratorDetach = 45, - eUseCounter_LenientThis = 46, - eUseCounter_GetPreventDefault = 47, - eUseCounter_GetSetUserData = 48, - eUseCounter_MozGetAsFile = 49, - eUseCounter_UseOfCaptureEvents = 50, - eUseCounter_UseOfReleaseEvents = 51, - eUseCounter_UseOfDOM3LoadMethod = 52, - eUseCounter_ChromeUseOfDOM3LoadMethod = 53, - eUseCounter_ShowModalDialog = 54, - eUseCounter_Window_Content = 55, - eUseCounter_SyncXMLHttpRequest = 56, - eUseCounter_DataContainerEvent = 57, - eUseCounter_Window_Controllers = 58, - eUseCounter_ImportXULIntoContent = 59, - eUseCounter_PannerNodeDoppler = 60, - eUseCounter_NavigatorGetUserMedia = 61, - eUseCounter_WebrtcDeprecatedPrefix = 62, - eUseCounter_RTCPeerConnectionGetStreams = 63, - eUseCounter_AppCache = 64, - eUseCounter_PrefixedImageSmoothingEnabled = 65, - eUseCounter_PrefixedFullscreenAPI = 66, - eUseCounter_LenientSetter = 67, - eUseCounter_FileLastModifiedDate = 68, - eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap = 69, - eUseCounter_Count = 70, + eUseCounter_DataTransfer_addElement = 30, + eUseCounter_DataTransfer_mozItemCount_getter = 31, + eUseCounter_DataTransfer_mozItemCount_setter = 32, + eUseCounter_DataTransfer_mozCursor_getter = 33, + eUseCounter_DataTransfer_mozCursor_setter = 34, + eUseCounter_DataTransfer_mozTypesAt = 35, + eUseCounter_DataTransfer_mozClearDataAt = 36, + eUseCounter_DataTransfer_mozSetDataAt = 37, + eUseCounter_DataTransfer_mozGetDataAt = 38, + eUseCounter_DataTransfer_mozUserCancelled_getter = 39, + eUseCounter_DataTransfer_mozUserCancelled_setter = 40, + eUseCounter_DataTransfer_mozSourceNode_getter = 41, + eUseCounter_DataTransfer_mozSourceNode_setter = 42, + eUseCounter_GetAttributeNode = 43, + eUseCounter_SetAttributeNode = 44, + eUseCounter_GetAttributeNodeNS = 45, + eUseCounter_SetAttributeNodeNS = 46, + eUseCounter_RemoveAttributeNode = 47, + eUseCounter_CreateAttribute = 48, + eUseCounter_CreateAttributeNS = 49, + eUseCounter_NodeValue = 50, + eUseCounter_TextContent = 51, + eUseCounter_EnablePrivilege = 52, + eUseCounter_DOMExceptionCode = 53, + eUseCounter_NoExposedProps = 54, + eUseCounter_MutationEvent = 55, + eUseCounter_Components = 56, + eUseCounter_PrefixedVisibilityAPI = 57, + eUseCounter_NodeIteratorDetach = 58, + eUseCounter_LenientThis = 59, + eUseCounter_GetPreventDefault = 60, + eUseCounter_GetSetUserData = 61, + eUseCounter_MozGetAsFile = 62, + eUseCounter_UseOfCaptureEvents = 63, + eUseCounter_UseOfReleaseEvents = 64, + eUseCounter_UseOfDOM3LoadMethod = 65, + eUseCounter_ChromeUseOfDOM3LoadMethod = 66, + eUseCounter_ShowModalDialog = 67, + eUseCounter_Window_Content = 68, + eUseCounter_SyncXMLHttpRequest = 69, + eUseCounter_DataContainerEvent = 70, + eUseCounter_Window_Controllers = 71, + eUseCounter_ImportXULIntoContent = 72, + eUseCounter_PannerNodeDoppler = 73, + eUseCounter_NavigatorGetUserMedia = 74, + eUseCounter_WebrtcDeprecatedPrefix = 75, + eUseCounter_RTCPeerConnectionGetStreams = 76, + eUseCounter_AppCache = 77, + eUseCounter_PrefixedImageSmoothingEnabled = 78, + eUseCounter_PrefixedFullscreenAPI = 79, + eUseCounter_LenientSetter = 80, + eUseCounter_FileLastModifiedDate = 81, + eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap = 82, + eUseCounter_URLCreateObjectURL_MediaStream = 83, + eUseCounter_Count = 84, } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -3918,16 +5266,36 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleSetHandle_Ptr() { - assert_eq!(::std::mem::size_of::<StyleSetHandle_Ptr>() , 8usize); - assert_eq!(::std::mem::align_of::<StyleSetHandle_Ptr>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleSetHandle_Ptr>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( StyleSetHandle_Ptr ) )); + assert_eq! (::std::mem::align_of::<StyleSetHandle_Ptr>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( StyleSetHandle_Ptr ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleSetHandle_Ptr ) ) . mValue + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleSetHandle_Ptr ) , "::" , stringify ! ( mValue ) + )); } impl Clone for StyleSetHandle_Ptr { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_StyleSetHandle() { - assert_eq!(::std::mem::size_of::<StyleSetHandle>() , 8usize); - assert_eq!(::std::mem::align_of::<StyleSetHandle>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleSetHandle>() , 8usize , + concat ! ( "Size of: " , stringify ! ( StyleSetHandle ) + )); + assert_eq! (::std::mem::align_of::<StyleSetHandle>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleSetHandle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleSetHandle ) ) . mPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleSetHandle + ) , "::" , stringify ! ( mPtr ) )); } impl Clone for StyleSetHandle { fn clone(&self) -> Self { *self } @@ -3967,8 +5335,32 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleComplexColor() { - assert_eq!(::std::mem::size_of::<StyleComplexColor>() , 8usize); - assert_eq!(::std::mem::align_of::<StyleComplexColor>() , 4usize); + assert_eq!(::std::mem::size_of::<StyleComplexColor>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( StyleComplexColor ) )); + assert_eq! (::std::mem::align_of::<StyleComplexColor>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( StyleComplexColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleComplexColor ) ) . mColor as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleComplexColor ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleComplexColor ) ) . + mForegroundRatio as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleComplexColor ) , "::" , stringify ! ( + mForegroundRatio ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleComplexColor ) ) . mIsAuto + as * const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleComplexColor ) , "::" , stringify ! ( mIsAuto ) + )); } impl Clone for StyleComplexColor { fn clone(&self) -> Self { *self } @@ -4021,8 +5413,22 @@ pub mod root { } #[test] fn bindgen_test_layout_FontFamilyName() { - assert_eq!(::std::mem::size_of::<FontFamilyName>() , 24usize); - assert_eq!(::std::mem::align_of::<FontFamilyName>() , 8usize); + assert_eq!(::std::mem::size_of::<FontFamilyName>() , 24usize , + concat ! ( "Size of: " , stringify ! ( FontFamilyName ) + )); + assert_eq! (::std::mem::align_of::<FontFamilyName>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( FontFamilyName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyName ) ) . mType as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyName + ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyName ) ) . mName as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyName + ) , "::" , stringify ! ( mName ) )); } /** * font family list, array of font families and a default font type. @@ -4037,8 +5443,23 @@ pub mod root { } #[test] fn bindgen_test_layout_FontFamilyList() { - assert_eq!(::std::mem::size_of::<FontFamilyList>() , 16usize); - assert_eq!(::std::mem::align_of::<FontFamilyList>() , 8usize); + assert_eq!(::std::mem::size_of::<FontFamilyList>() , 16usize , + concat ! ( "Size of: " , stringify ! ( FontFamilyList ) + )); + assert_eq! (::std::mem::align_of::<FontFamilyList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( FontFamilyList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyList ) ) . mFontlist as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyList + ) , "::" , stringify ! ( mFontlist ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FontFamilyList ) ) . + mDefaultFontType as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( FontFamilyList + ) , "::" , stringify ! ( mDefaultFontType ) )); } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -4310,14 +5731,64 @@ pub mod root { #[test] fn bindgen_test_layout_CSSVariableValues_Variable() { assert_eq!(::std::mem::size_of::<CSSVariableValues_Variable>() , - 40usize); - assert_eq!(::std::mem::align_of::<CSSVariableValues_Variable>() , - 8usize); + 40usize , concat ! ( + "Size of: " , stringify ! ( CSSVariableValues_Variable + ) )); + assert_eq! (::std::mem::align_of::<CSSVariableValues_Variable>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + CSSVariableValues_Variable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mVariableName as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mVariableName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mValue as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mFirstToken as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mFirstToken ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues_Variable ) ) . + mLastToken as * const _ as usize } , 36usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues_Variable ) , "::" , stringify ! ( + mLastToken ) )); } #[test] fn bindgen_test_layout_CSSVariableValues() { - assert_eq!(::std::mem::size_of::<CSSVariableValues>() , 48usize); - assert_eq!(::std::mem::align_of::<CSSVariableValues>() , 8usize); + assert_eq!(::std::mem::size_of::<CSSVariableValues>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( CSSVariableValues ) )); + assert_eq! (::std::mem::align_of::<CSSVariableValues>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CSSVariableValues ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues ) ) . + mVariableIDs as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues ) , "::" , stringify ! ( + mVariableIDs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSVariableValues ) ) . + mVariables as * const _ as usize } , 40usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CSSVariableValues ) , "::" , stringify ! ( mVariables + ) )); } /** * Additional data used in conjunction with an nsRestyleHint to control the @@ -4330,8 +5801,19 @@ pub mod root { } #[test] fn bindgen_test_layout_RestyleHintData() { - assert_eq!(::std::mem::size_of::<RestyleHintData>() , 8usize); - assert_eq!(::std::mem::align_of::<RestyleHintData>() , 8usize); + assert_eq!(::std::mem::size_of::<RestyleHintData>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( RestyleHintData ) )); + assert_eq! (::std::mem::align_of::<RestyleHintData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( RestyleHintData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RestyleHintData ) ) . + mSelectorsForDescendants as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( RestyleHintData + ) , "::" , stringify ! ( mSelectorsForDescendants ) + )); } #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -4437,9 +5919,27 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyDescriptorUntyped() { assert_eq!(::std::mem::size_of::<FramePropertyDescriptorUntyped>() - , 16usize); - assert_eq!(::std::mem::align_of::<FramePropertyDescriptorUntyped>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FramePropertyDescriptorUntyped ) )); + assert_eq! (::std::mem::align_of::<FramePropertyDescriptorUntyped>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyDescriptorUntyped ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyDescriptorUntyped ) + ) . mDestructor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyDescriptorUntyped ) , "::" , stringify ! + ( mDestructor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyDescriptorUntyped ) + ) . mDestructorWithFrame as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyDescriptorUntyped ) , "::" , stringify ! + ( mDestructorWithFrame ) )); } impl Clone for FramePropertyDescriptorUntyped { fn clone(&self) -> Self { *self } @@ -4483,9 +5983,28 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyTable_PropertyValue() { assert_eq!(::std::mem::size_of::<FramePropertyTable_PropertyValue>() - , 16usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable_PropertyValue>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + FramePropertyTable_PropertyValue ) )); + assert_eq! (::std::mem::align_of::<FramePropertyTable_PropertyValue>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyTable_PropertyValue ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FramePropertyTable_PropertyValue ) ) + . mProperty as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable_PropertyValue ) , "::" , stringify + ! ( mProperty ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const FramePropertyTable_PropertyValue ) ) + . mValue as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable_PropertyValue ) , "::" , stringify + ! ( mValue ) )); } impl Clone for FramePropertyTable_PropertyValue { fn clone(&self) -> Self { *self } @@ -4502,9 +6021,13 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyTable_PropertyComparator() { assert_eq!(::std::mem::size_of::<FramePropertyTable_PropertyComparator>() - , 1usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable_PropertyComparator>() - , 1usize); + , 1usize , concat ! ( + "Size of: " , stringify ! ( + FramePropertyTable_PropertyComparator ) )); + assert_eq! (::std::mem::align_of::<FramePropertyTable_PropertyComparator>() + , 1usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyTable_PropertyComparator ) )); } impl Clone for FramePropertyTable_PropertyComparator { fn clone(&self) -> Self { *self } @@ -4522,14 +6045,49 @@ pub mod root { #[test] fn bindgen_test_layout_FramePropertyTable_Entry() { assert_eq!(::std::mem::size_of::<FramePropertyTable_Entry>() , - 32usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable_Entry>() , - 8usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( FramePropertyTable_Entry ) + )); + assert_eq! (::std::mem::align_of::<FramePropertyTable_Entry>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + FramePropertyTable_Entry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable_Entry ) ) . + mProp as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable_Entry ) , "::" , stringify ! ( + mProp ) )); } #[test] fn bindgen_test_layout_FramePropertyTable() { - assert_eq!(::std::mem::size_of::<FramePropertyTable>() , 56usize); - assert_eq!(::std::mem::align_of::<FramePropertyTable>() , 8usize); + assert_eq!(::std::mem::size_of::<FramePropertyTable>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( FramePropertyTable ) )); + assert_eq! (::std::mem::align_of::<FramePropertyTable>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( FramePropertyTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable ) ) . mEntries + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable ) , "::" , stringify ! ( mEntries ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable ) ) . + mLastFrame as * const _ as usize } , 40usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable ) , "::" , stringify ! ( mLastFrame + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const FramePropertyTable ) ) . + mLastEntry as * const _ as usize } , 48usize , concat + ! ( + "Alignment of field: " , stringify ! ( + FramePropertyTable ) , "::" , stringify ! ( mLastEntry + ) )); } #[repr(C)] #[derive(Debug)] @@ -4546,8 +6104,64 @@ pub mod root { } #[test] fn bindgen_test_layout_ScrollbarStyles() { - assert_eq!(::std::mem::size_of::<ScrollbarStyles>() , 64usize); - assert_eq!(::std::mem::align_of::<ScrollbarStyles>() , 8usize); + assert_eq!(::std::mem::size_of::<ScrollbarStyles>() , 64usize , + concat ! ( + "Size of: " , stringify ! ( ScrollbarStyles ) )); + assert_eq! (::std::mem::align_of::<ScrollbarStyles>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ScrollbarStyles ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . mHorizontal + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mHorizontal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . mVertical + as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mVertical ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollBehavior as * const _ as usize } , 2usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollBehavior ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapTypeX as * const _ as usize } , 3usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapTypeY as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapPointsX as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapPointsX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapPointsY as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapPointsY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapDestinationX as * const _ as usize } , + 40usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapDestinationX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ScrollbarStyles ) ) . + mScrollSnapDestinationY as * const _ as usize } , + 52usize , concat ! ( + "Alignment of field: " , stringify ! ( ScrollbarStyles + ) , "::" , stringify ! ( mScrollSnapDestinationY ) )); } /** * A class for holding strong references to handle-managed objects. @@ -4580,19 +6194,38 @@ pub mod root { #[test] fn bindgen_test_layout_RestyleManagerHandle_Ptr() { assert_eq!(::std::mem::size_of::<RestyleManagerHandle_Ptr>() , - 8usize); - assert_eq!(::std::mem::align_of::<RestyleManagerHandle_Ptr>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( RestyleManagerHandle_Ptr ) + )); + assert_eq! (::std::mem::align_of::<RestyleManagerHandle_Ptr>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + RestyleManagerHandle_Ptr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const RestyleManagerHandle_Ptr ) ) . + mValue as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RestyleManagerHandle_Ptr ) , "::" , stringify ! ( + mValue ) )); } impl Clone for RestyleManagerHandle_Ptr { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_RestyleManagerHandle() { - assert_eq!(::std::mem::size_of::<RestyleManagerHandle>() , - 8usize); - assert_eq!(::std::mem::align_of::<RestyleManagerHandle>() , - 8usize); + assert_eq!(::std::mem::size_of::<RestyleManagerHandle>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( RestyleManagerHandle ) )); + assert_eq! (::std::mem::align_of::<RestyleManagerHandle>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( RestyleManagerHandle ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const RestyleManagerHandle ) ) . mPtr + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + RestyleManagerHandle ) , "::" , stringify ! ( mPtr ) + )); } impl Clone for RestyleManagerHandle { fn clone(&self) -> Self { *self } @@ -4613,9 +6246,82 @@ pub mod root { } #[test] fn bindgen_test_layout_LangGroupFontPrefs() { - assert_eq!(::std::mem::size_of::<LangGroupFontPrefs>() , - 696usize); - assert_eq!(::std::mem::align_of::<LangGroupFontPrefs>() , 8usize); + assert_eq!(::std::mem::size_of::<LangGroupFontPrefs>() , 696usize + , concat ! ( + "Size of: " , stringify ! ( LangGroupFontPrefs ) )); + assert_eq! (::std::mem::align_of::<LangGroupFontPrefs>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( LangGroupFontPrefs ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mLangGroup as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( mLangGroup + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mMinimumFontSize as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mMinimumFontSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultVariableFont as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultVariableFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultFixedFont as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultFixedFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultSerifFont as * const _ as usize } , 208usize , + concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultSerifFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultSansSerifFont as * const _ as usize } , + 304usize , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultSansSerifFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultMonospaceFont as * const _ as usize } , + 400usize , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultMonospaceFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultCursiveFont as * const _ as usize } , 496usize + , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultCursiveFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . + mDefaultFantasyFont as * const _ as usize } , 592usize + , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( + mDefaultFantasyFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const LangGroupFontPrefs ) ) . mNext as + * const _ as usize } , 688usize , concat ! ( + "Alignment of field: " , stringify ! ( + LangGroupFontPrefs ) , "::" , stringify ! ( mNext ) + )); } /** * Some functionality that has historically lived on nsPresContext does not @@ -4632,8 +6338,30 @@ pub mod root { } #[test] fn bindgen_test_layout_StaticPresData() { - assert_eq!(::std::mem::size_of::<StaticPresData>() , 720usize); - assert_eq!(::std::mem::align_of::<StaticPresData>() , 8usize); + assert_eq!(::std::mem::size_of::<StaticPresData>() , 720usize , + concat ! ( "Size of: " , stringify ! ( StaticPresData ) + )); + assert_eq! (::std::mem::align_of::<StaticPresData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StaticPresData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StaticPresData ) ) . mLangService + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( StaticPresData + ) , "::" , stringify ! ( mLangService ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StaticPresData ) ) . + mBorderWidthTable as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( StaticPresData + ) , "::" , stringify ! ( mBorderWidthTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StaticPresData ) ) . + mStaticLangGroupFontPrefs as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StaticPresData + ) , "::" , stringify ! ( mStaticLangGroupFontPrefs ) + )); } #[repr(C)] #[derive(Debug)] @@ -4653,9 +6381,13 @@ pub mod root { #[test] fn bindgen_test_layout_EffectCompositor_cycleCollection() { assert_eq!(::std::mem::size_of::<EffectCompositor_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<EffectCompositor_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + EffectCompositor_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<EffectCompositor_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + EffectCompositor_cycleCollection ) )); } impl Clone for EffectCompositor_cycleCollection { fn clone(&self) -> Self { *self } @@ -4686,9 +6418,42 @@ pub mod root { #[test] fn bindgen_test_layout_EffectCompositor_AnimationStyleRuleProcessor() { assert_eq!(::std::mem::size_of::<EffectCompositor_AnimationStyleRuleProcessor>() - , 32usize); - assert_eq!(::std::mem::align_of::<EffectCompositor_AnimationStyleRuleProcessor>() - , 8usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) )); + assert_eq! (::std::mem::align_of::<EffectCompositor_AnimationStyleRuleProcessor>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + mRefCnt as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + mCompositor as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( mCompositor ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + EffectCompositor_AnimationStyleRuleProcessor ) ) . + mCascadeLevel as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor_AnimationStyleRuleProcessor ) , "::" + , stringify ! ( mCascadeLevel ) )); } extern "C" { #[link_name = @@ -4699,8 +6464,39 @@ pub mod root { pub const EffectCompositor_kCascadeLevelCount: usize = 2; #[test] fn bindgen_test_layout_EffectCompositor() { - assert_eq!(::std::mem::size_of::<EffectCompositor>() , 112usize); - assert_eq!(::std::mem::align_of::<EffectCompositor>() , 8usize); + assert_eq!(::std::mem::size_of::<EffectCompositor>() , 112usize , + concat ! ( + "Size of: " , stringify ! ( EffectCompositor ) )); + assert_eq! (::std::mem::align_of::<EffectCompositor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( EffectCompositor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + mPresContext as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( mPresContext + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + mElementsToRestyle as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( + mElementsToRestyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const EffectCompositor ) ) . + mRuleProcessors as * const _ as usize } , 96usize , + concat ! ( + "Alignment of field: " , stringify ! ( + EffectCompositor ) , "::" , stringify ! ( + mRuleProcessors ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -4716,10 +6512,33 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_CounterStyleManager() { - assert_eq!(::std::mem::size_of::<CounterStyleManager>() , - 56usize); - assert_eq!(::std::mem::align_of::<CounterStyleManager>() , - 8usize); + assert_eq!(::std::mem::size_of::<CounterStyleManager>() , 56usize + , concat ! ( + "Size of: " , stringify ! ( CounterStyleManager ) )); + assert_eq! (::std::mem::align_of::<CounterStyleManager>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( CounterStyleManager ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . mRefCnt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . + mPresContext as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( + mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyleManager ) ) . + mCacheTable as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CounterStyleManager ) , "::" , stringify ! ( + mCacheTable ) )); } pub mod image { #[allow(unused_imports)] @@ -4747,8 +6566,50 @@ pub mod root { } #[test] fn bindgen_test_layout_ImageCacheKey() { - assert_eq!(::std::mem::size_of::<ImageCacheKey>() , 104usize); - assert_eq!(::std::mem::align_of::<ImageCacheKey>() , 8usize); + assert_eq!(::std::mem::size_of::<ImageCacheKey>() , 104usize , + concat ! ( + "Size of: " , stringify ! ( ImageCacheKey ) )); + assert_eq! (::std::mem::align_of::<ImageCacheKey>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ImageCacheKey ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . mURI as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mURI ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . + mBlobSerial as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mBlobSerial + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . + mOriginAttributes as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( + mOriginAttributes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . + mControlledDocument as * const _ as usize } , + 88usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( + mControlledDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . mHash as + * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ImageCacheKey ) ) . mIsChrome + as * const _ as usize } , 100usize , concat ! ( + "Alignment of field: " , stringify ! ( + ImageCacheKey ) , "::" , stringify ! ( mIsChrome ) + )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -4780,9 +6641,12 @@ pub mod root { #[test] fn bindgen_test_layout_IProgressObserver() { assert_eq!(::std::mem::size_of::<IProgressObserver>() , - 16usize); - assert_eq!(::std::mem::align_of::<IProgressObserver>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( IProgressObserver ) )); + assert_eq! (::std::mem::align_of::<IProgressObserver>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( IProgressObserver + ) )); } } pub type CounterValue = i32; @@ -4803,8 +6667,17 @@ pub mod root { } #[test] fn bindgen_test_layout_CounterStyle() { - assert_eq!(::std::mem::size_of::<CounterStyle>() , 16usize); - assert_eq!(::std::mem::align_of::<CounterStyle>() , 8usize); + assert_eq!(::std::mem::size_of::<CounterStyle>() , 16usize , + concat ! ( "Size of: " , stringify ! ( CounterStyle ) + )); + assert_eq! (::std::mem::align_of::<CounterStyle>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CounterStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CounterStyle ) ) . mStyle as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( CounterStyle ) + , "::" , stringify ! ( mStyle ) )); } impl Clone for CounterStyle { fn clone(&self) -> Self { *self } @@ -4818,8 +6691,20 @@ pub mod root { pub type Position_Coord = root::nsStyleCoord_CalcValue; #[test] fn bindgen_test_layout_Position() { - assert_eq!(::std::mem::size_of::<Position>() , 24usize); - assert_eq!(::std::mem::align_of::<Position>() , 4usize); + assert_eq!(::std::mem::size_of::<Position>() , 24usize , concat ! + ( "Size of: " , stringify ! ( Position ) )); + assert_eq! (::std::mem::align_of::<Position>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( Position ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Position ) ) . mXPosition as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Position ) , + "::" , stringify ! ( mXPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Position ) ) . mYPosition as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( Position ) , + "::" , stringify ! ( mYPosition ) )); } impl Clone for Position { fn clone(&self) -> Self { *self } @@ -4835,8 +6720,39 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleTransition() { - assert_eq!(::std::mem::size_of::<StyleTransition>() , 40usize); - assert_eq!(::std::mem::align_of::<StyleTransition>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleTransition>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( StyleTransition ) )); + assert_eq! (::std::mem::align_of::<StyleTransition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleTransition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . + mTimingFunction as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . mDuration + as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mDuration ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . mDelay as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mDelay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . mProperty + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleTransition ) ) . + mUnknownProperty as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleTransition + ) , "::" , stringify ! ( mUnknownProperty ) )); } #[repr(C)] #[derive(Debug)] @@ -4852,8 +6768,54 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleAnimation() { - assert_eq!(::std::mem::size_of::<StyleAnimation>() , 56usize); - assert_eq!(::std::mem::align_of::<StyleAnimation>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleAnimation>() , 56usize , + concat ! ( "Size of: " , stringify ! ( StyleAnimation ) + )); + assert_eq! (::std::mem::align_of::<StyleAnimation>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleAnimation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . + mTimingFunction as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mDuration as + * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mDuration ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mDelay as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mDelay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mName as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mDirection + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mFillMode as + * const _ as usize } , 49usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mFillMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . mPlayState + as * const _ as usize } , 50usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mPlayState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleAnimation ) ) . + mIterationCount as * const _ as usize } , 52usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleAnimation + ) , "::" , stringify ! ( mIterationCount ) )); } #[repr(C)] #[derive(Debug)] @@ -4869,8 +6831,43 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_StyleBasicShape() { - assert_eq!(::std::mem::size_of::<StyleBasicShape>() , 120usize); - assert_eq!(::std::mem::align_of::<StyleBasicShape>() , 8usize); + assert_eq!(::std::mem::size_of::<StyleBasicShape>() , 120usize , + concat ! ( + "Size of: " , stringify ! ( StyleBasicShape ) )); + assert_eq! (::std::mem::align_of::<StyleBasicShape>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( StyleBasicShape ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mFillRule + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mFillRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . + mCoordinates as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mCoordinates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mPosition + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const StyleBasicShape ) ) . mRadius as + * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( StyleBasicShape + ) , "::" , stringify ! ( mRadius ) )); } #[repr(C)] #[derive(Debug)] @@ -4903,8 +6900,32 @@ pub mod root { } #[test] fn bindgen_test_layout_PropertyValuePair() { - assert_eq!(::std::mem::size_of::<PropertyValuePair>() , 32usize); - assert_eq!(::std::mem::align_of::<PropertyValuePair>() , 8usize); + assert_eq!(::std::mem::size_of::<PropertyValuePair>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( PropertyValuePair ) )); + assert_eq! (::std::mem::align_of::<PropertyValuePair>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PropertyValuePair ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyValuePair ) ) . mProperty + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PropertyValuePair ) , "::" , stringify ! ( mProperty ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyValuePair ) ) . mValue as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PropertyValuePair ) , "::" , stringify ! ( mValue ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyValuePair ) ) . + mServoDeclarationBlock as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + PropertyValuePair ) , "::" , stringify ! ( + mServoDeclarationBlock ) )); } /** * A single keyframe. @@ -4934,8 +6955,35 @@ pub mod root { pub const Keyframe_kComputedOffsetNotSet: f64 = -1.; #[test] fn bindgen_test_layout_Keyframe() { - assert_eq!(::std::mem::size_of::<Keyframe>() , 192usize); - assert_eq!(::std::mem::align_of::<Keyframe>() , 8usize); + assert_eq!(::std::mem::size_of::<Keyframe>() , 192usize , concat ! + ( "Size of: " , stringify ! ( Keyframe ) )); + assert_eq! (::std::mem::align_of::<Keyframe>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( Keyframe ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mOffset as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mComputedOffset as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mComputedOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mTimingFunction as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mComposite as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mComposite ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Keyframe ) ) . mPropertyValues as + * const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( Keyframe ) , + "::" , stringify ! ( mPropertyValues ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -4974,8 +7022,24 @@ pub mod root { } #[test] fn bindgen_test_layout_ServoAttrSnapshot() { - assert_eq!(::std::mem::size_of::<ServoAttrSnapshot>() , 16usize); - assert_eq!(::std::mem::align_of::<ServoAttrSnapshot>() , 8usize); + assert_eq!(::std::mem::size_of::<ServoAttrSnapshot>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( ServoAttrSnapshot ) )); + assert_eq! (::std::mem::align_of::<ServoAttrSnapshot>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoAttrSnapshot ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoAttrSnapshot ) ) . mName as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoAttrSnapshot ) , "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoAttrSnapshot ) ) . mValue as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoAttrSnapshot ) , "::" , stringify ! ( mValue ) + )); } #[repr(u8)] /** @@ -5013,10 +7077,46 @@ pub mod root { as ServoElementSnapshot_Flags; #[test] fn bindgen_test_layout_ServoElementSnapshot() { - assert_eq!(::std::mem::size_of::<ServoElementSnapshot>() , - 24usize); - assert_eq!(::std::mem::align_of::<ServoElementSnapshot>() , - 8usize); + assert_eq!(::std::mem::size_of::<ServoElementSnapshot>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( ServoElementSnapshot ) )); + assert_eq! (::std::mem::align_of::<ServoElementSnapshot>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( ServoElementSnapshot ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . + mContains as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( + mContains ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . mAttrs + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( mAttrs ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . mState + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( mState ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . + mIsHTMLElementInHTMLDocument as * const _ as usize } , + 18usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( + mIsHTMLElementInHTMLDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoElementSnapshot ) ) . + mIsInChromeDocument as * const _ as usize } , 19usize + , concat ! ( + "Alignment of field: " , stringify ! ( + ServoElementSnapshot ) , "::" , stringify ! ( + mIsInChromeDocument ) )); } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -5051,29 +7151,60 @@ pub mod root { #[test] fn bindgen_test_layout_DisplayItemClip_RoundedRect() { assert_eq!(::std::mem::size_of::<DisplayItemClip_RoundedRect>() , - 48usize); - assert_eq!(::std::mem::align_of::<DisplayItemClip_RoundedRect>() , - 4usize); + 48usize , concat ! ( + "Size of: " , stringify ! ( DisplayItemClip_RoundedRect + ) )); + assert_eq! (::std::mem::align_of::<DisplayItemClip_RoundedRect>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + DisplayItemClip_RoundedRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip_RoundedRect ) ) . + mRect as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + DisplayItemClip_RoundedRect ) , "::" , stringify ! ( + mRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip_RoundedRect ) ) . + mRadii as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + DisplayItemClip_RoundedRect ) , "::" , stringify ! ( + mRadii ) )); } impl Clone for DisplayItemClip_RoundedRect { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_DisplayItemClip() { - assert_eq!(::std::mem::size_of::<DisplayItemClip>() , 32usize); - assert_eq!(::std::mem::align_of::<DisplayItemClip>() , 8usize); + assert_eq!(::std::mem::size_of::<DisplayItemClip>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( DisplayItemClip ) )); + assert_eq! (::std::mem::align_of::<DisplayItemClip>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( DisplayItemClip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip ) ) . mClipRect + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( DisplayItemClip + ) , "::" , stringify ! ( mClipRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip ) ) . + mRoundedClipRects as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( DisplayItemClip + ) , "::" , stringify ! ( mRoundedClipRects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const DisplayItemClip ) ) . + mHaveClipRect as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( DisplayItemClip + ) , "::" , stringify ! ( mHaveClipRect ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ContainerLayerParameters([u8; 0]); #[repr(C)] #[derive(Debug)] - pub struct AnimationValue { - pub mGecko: root::mozilla::StyleAnimationValue, - pub mServo: root::RefPtr<root::RawServoAnimationValue>, - } - #[repr(C)] - #[derive(Debug)] pub struct PropertyStyleAnimationValuePair { pub mProperty: root::nsCSSPropertyID, pub mValue: root::mozilla::AnimationValue, @@ -5081,16 +7212,40 @@ pub mod root { #[test] fn bindgen_test_layout_PropertyStyleAnimationValuePair() { assert_eq!(::std::mem::size_of::<PropertyStyleAnimationValuePair>() - , 32usize); - assert_eq!(::std::mem::align_of::<PropertyStyleAnimationValuePair>() - , 8usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + PropertyStyleAnimationValuePair ) )); + assert_eq! (::std::mem::align_of::<PropertyStyleAnimationValuePair>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + PropertyStyleAnimationValuePair ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyStyleAnimationValuePair ) + ) . mProperty as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + PropertyStyleAnimationValuePair ) , "::" , stringify ! + ( mProperty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PropertyStyleAnimationValuePair ) + ) . mValue as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + PropertyStyleAnimationValuePair ) , "::" , stringify ! + ( mValue ) )); } #[test] fn __bindgen_test_layout_template_1() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::RawServoStyleSet>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::RawServoStyleSet> ) + )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::RawServoStyleSet>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! + ( root::mozilla::DefaultDelete<root::RawServoStyleSet> + ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -5159,9 +7314,114 @@ pub mod root { #[test] fn bindgen_test_layout_StyleAnimationValue__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<StyleAnimationValue__bindgen_ty_1>() - , 8usize); - assert_eq!(::std::mem::align_of::<StyleAnimationValue__bindgen_ty_1>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<StyleAnimationValue__bindgen_ty_1>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mInt as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mInt ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCoord as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCoord ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mFloat as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mFloat ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValue as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValue ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValuePair as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValuePair ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueTriplet as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueTriplet ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSRect as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSRect ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueArray as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueArray ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueList as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValueSharedList as * const _ as usize } , 0usize + , concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValueSharedList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mCSSValuePairList as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mCSSValuePairList ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mString as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mString ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const StyleAnimationValue__bindgen_ty_1 ) ) + . mComplexColor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + StyleAnimationValue__bindgen_ty_1 ) , "::" , stringify + ! ( mComplexColor ) )); } impl Clone for StyleAnimationValue__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -5193,10 +7453,13 @@ pub mod root { } #[test] fn bindgen_test_layout_StyleAnimationValue() { - assert_eq!(::std::mem::size_of::<StyleAnimationValue>() , - 16usize); - assert_eq!(::std::mem::align_of::<StyleAnimationValue>() , - 8usize); + assert_eq!(::std::mem::size_of::<StyleAnimationValue>() , 16usize + , concat ! ( + "Size of: " , stringify ! ( StyleAnimationValue ) )); + assert_eq! (::std::mem::align_of::<StyleAnimationValue>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( StyleAnimationValue ) + )); } impl Clone for StyleAnimationValue { fn clone(&self) -> Self { *self } @@ -5295,84 +7558,30 @@ pub mod root { NotPseudo = 81, MAX = 82, } - #[test] - fn __bindgen_test_layout_template_2() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_3() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_4() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_5() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_6() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_7() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_8() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_9() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_10() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_11() { - assert_eq!(::std::mem::size_of::<u32>() , 4usize); - assert_eq!(::std::mem::align_of::<u32>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_12() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_13() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_14() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize); - } - #[test] - fn __bindgen_test_layout_template_15() { - assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() - , 16usize); - assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() - , 8usize); + #[repr(C)] + #[derive(Debug)] + pub struct AnimationValue { + pub mGecko: root::mozilla::StyleAnimationValue, + pub mServo: root::RefPtr<root::RawServoAnimationValue>, } #[test] - fn __bindgen_test_layout_template_16() { - assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() - , 16usize); - assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() - , 8usize); + fn bindgen_test_layout_AnimationValue() { + assert_eq!(::std::mem::size_of::<AnimationValue>() , 24usize , + concat ! ( "Size of: " , stringify ! ( AnimationValue ) + )); + assert_eq! (::std::mem::align_of::<AnimationValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( AnimationValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const AnimationValue ) ) . mGecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( AnimationValue + ) , "::" , stringify ! ( mGecko ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const AnimationValue ) ) . mServo as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( AnimationValue + ) , "::" , stringify ! ( mServo ) )); } /** * <div rustbindgen="true" replaces="mozilla::UniquePtr"> @@ -5914,6 +8123,7 @@ pub mod root { NS_ERROR_DOM_MEDIA_DEMUXER_ERR = 2154692620, NS_ERROR_DOM_MEDIA_CDM_ERR = 2154692621, NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER = 2154692622, + NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER = 2154692623, NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR = 2154692709, NS_ERROR_UC_UPDATE_UNKNOWN = 2154758145, NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX = 2154758146, @@ -5959,8 +8169,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCOMPtr_helper() { - assert_eq!(::std::mem::size_of::<nsCOMPtr_helper>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCOMPtr_helper>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCOMPtr_helper>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsCOMPtr_helper ) )); + assert_eq! (::std::mem::align_of::<nsCOMPtr_helper>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCOMPtr_helper ) )); } impl Clone for nsCOMPtr_helper { fn clone(&self) -> Self { *self } @@ -6010,9 +8223,19 @@ pub mod root { #[test] fn bindgen_test_layout_nsCycleCollectionTraversalCallback() { assert_eq!(::std::mem::size_of::<nsCycleCollectionTraversalCallback>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsCycleCollectionTraversalCallback>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsCycleCollectionTraversalCallback ) )); + assert_eq! (::std::mem::align_of::<nsCycleCollectionTraversalCallback>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCycleCollectionTraversalCallback ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectionTraversalCallback ) + ) . mFlags as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectionTraversalCallback ) , "::" , stringify ! + ( mFlags ) )); } impl Clone for nsCycleCollectionTraversalCallback { fn clone(&self) -> Self { *self } @@ -6076,49 +8299,22 @@ pub mod root { #[derive(Debug, Copy)] pub struct Value_layout__bindgen_ty_1 { pub _bitfield_1: u64, + pub __bindgen_align: [u64; 0usize], } #[test] fn bindgen_test_layout_Value_layout__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<Value_layout__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<Value_layout__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( Value_layout__bindgen_ty_1 + ) )); + assert_eq! (::std::mem::align_of::<Value_layout__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + Value_layout__bindgen_ty_1 ) )); } impl Clone for Value_layout__bindgen_ty_1 { fn clone(&self) -> Self { *self } } - impl Value_layout__bindgen_ty_1 { - #[inline] - pub fn payload47(&self) -> u64 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (140737488355327usize as u64)) - >> 0u32) as u64) - } - } - #[inline] - pub fn set_payload47(&mut self, val: u64) { - self._bitfield_1 &= !(140737488355327usize as u64); - self._bitfield_1 |= - ((val as u64 as u64) << 0u32) & - (140737488355327usize as u64); - } - #[inline] - pub fn tag(&self) -> root::JSValueTag { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (18446603336221196288usize as - u64)) >> 47u32) as u32) - } - } - #[inline] - pub fn set_tag(&mut self, val: root::JSValueTag) { - self._bitfield_1 &= !(18446603336221196288usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 47u32) & - (18446603336221196288usize as u64); - } - } #[repr(C)] #[derive(Debug, Copy)] pub struct Value_layout__bindgen_ty_2 { @@ -6135,9 +8331,40 @@ pub mod root { #[test] fn bindgen_test_layout_Value_layout__bindgen_ty_2__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>() - , 4usize); - assert_eq!(::std::mem::align_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>() - , 4usize); + , 4usize , concat ! ( + "Size of: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const Value_layout__bindgen_ty_2__bindgen_ty_1 + ) ) . i32 as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) , "::" , + stringify ! ( i32 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const Value_layout__bindgen_ty_2__bindgen_ty_1 + ) ) . u32 as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) , "::" , + stringify ! ( u32 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const Value_layout__bindgen_ty_2__bindgen_ty_1 + ) ) . why as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2__bindgen_ty_1 ) , "::" , + stringify ! ( why ) )); } impl Clone for Value_layout__bindgen_ty_2__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -6145,21 +8372,81 @@ pub mod root { #[test] fn bindgen_test_layout_Value_layout__bindgen_ty_2() { assert_eq!(::std::mem::size_of::<Value_layout__bindgen_ty_2>() , - 4usize); - assert_eq!(::std::mem::align_of::<Value_layout__bindgen_ty_2>() , - 4usize); + 4usize , concat ! ( + "Size of: " , stringify ! ( Value_layout__bindgen_ty_2 + ) )); + assert_eq! (::std::mem::align_of::<Value_layout__bindgen_ty_2>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + Value_layout__bindgen_ty_2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout__bindgen_ty_2 ) ) . + payload as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + Value_layout__bindgen_ty_2 ) , "::" , stringify ! ( + payload ) )); } impl Clone for Value_layout__bindgen_ty_2 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_Value_layout() { - assert_eq!(::std::mem::size_of::<Value_layout>() , 8usize); - assert_eq!(::std::mem::align_of::<Value_layout>() , 8usize); + assert_eq!(::std::mem::size_of::<Value_layout>() , 8usize , concat + ! ( "Size of: " , stringify ! ( Value_layout ) )); + assert_eq! (::std::mem::align_of::<Value_layout>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( Value_layout ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asBits as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asBits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . debugView as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( debugView ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . s as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( s ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asDouble as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asDouble ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asPtr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asWord as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asWord ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value_layout ) ) . asUIntPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value_layout ) + , "::" , stringify ! ( asUIntPtr ) )); } impl Clone for Value_layout { fn clone(&self) -> Self { *self } } + #[test] + fn bindgen_test_layout_Value() { + assert_eq!(::std::mem::size_of::<Value>() , 8usize , concat ! ( + "Size of: " , stringify ! ( Value ) )); + assert_eq! (::std::mem::align_of::<Value>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( Value ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const Value ) ) . data as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( Value ) , "::" + , stringify ! ( data ) )); + } impl Clone for Value { fn clone(&self) -> Self { *self } } @@ -6217,8 +8504,10 @@ pub mod root { } #[test] fn bindgen_test_layout_FreePolicy() { - assert_eq!(::std::mem::size_of::<FreePolicy>() , 1usize); - assert_eq!(::std::mem::align_of::<FreePolicy>() , 1usize); + assert_eq!(::std::mem::size_of::<FreePolicy>() , 1usize , concat ! + ( "Size of: " , stringify ! ( FreePolicy ) )); + assert_eq! (::std::mem::align_of::<FreePolicy>() , 1usize , concat + ! ( "Alignment of " , stringify ! ( FreePolicy ) )); } impl Clone for FreePolicy { fn clone(&self) -> Self { *self } @@ -6237,8 +8526,15 @@ pub mod root { } #[test] fn bindgen_test_layout_GCCellPtr() { - assert_eq!(::std::mem::size_of::<GCCellPtr>() , 8usize); - assert_eq!(::std::mem::align_of::<GCCellPtr>() , 8usize); + assert_eq!(::std::mem::size_of::<GCCellPtr>() , 8usize , concat ! + ( "Size of: " , stringify ! ( GCCellPtr ) )); + assert_eq! (::std::mem::align_of::<GCCellPtr>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GCCellPtr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GCCellPtr ) ) . ptr as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GCCellPtr ) , + "::" , stringify ! ( ptr ) )); } impl Clone for GCCellPtr { fn clone(&self) -> Self { *self } @@ -6263,9 +8559,29 @@ pub mod root { #[test] fn bindgen_test_layout_GarbageCollectionEvent_Collection() { assert_eq!(::std::mem::size_of::<GarbageCollectionEvent_Collection>() - , 16usize); - assert_eq!(::std::mem::align_of::<GarbageCollectionEvent_Collection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + GarbageCollectionEvent_Collection ) )); + assert_eq! (::std::mem::align_of::<GarbageCollectionEvent_Collection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + GarbageCollectionEvent_Collection ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const GarbageCollectionEvent_Collection + ) ) . startTimestamp as * const _ as usize } , + 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent_Collection ) , "::" , + stringify ! ( startTimestamp ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const GarbageCollectionEvent_Collection + ) ) . endTimestamp as * const _ as usize } , + 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent_Collection ) , "::" , + stringify ! ( endTimestamp ) )); } impl Clone for GarbageCollectionEvent_Collection { fn clone(&self) -> Self { *self } @@ -6276,9 +8592,41 @@ pub mod root { #[test] fn bindgen_test_layout_GarbageCollectionEvent() { assert_eq!(::std::mem::size_of::<GarbageCollectionEvent>() , - 56usize); - assert_eq!(::std::mem::align_of::<GarbageCollectionEvent>() , - 8usize); + 56usize , concat ! ( + "Size of: " , stringify ! ( GarbageCollectionEvent + ) )); + assert_eq! (::std::mem::align_of::<GarbageCollectionEvent>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + GarbageCollectionEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + majorGCNumber_ as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + majorGCNumber_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + reason as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + reason ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + nonincrementalReason as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + nonincrementalReason ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GarbageCollectionEvent ) ) . + collections as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + GarbageCollectionEvent ) , "::" , stringify ! ( + collections ) )); } } /** @@ -6349,48 +8697,6 @@ pub mod root { #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum TenuredHeap__bindgen_ty_1 { maskBits = 0, } - #[test] - fn __bindgen_test_layout_template_17() { - assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_18() { - assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_19() { - assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_20() { - assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_21() { - assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize); - assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_22() { - assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], - root::JS::FreePolicy>>() - , 8usize); - assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], - root::JS::FreePolicy>>() - , 8usize); - } } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -6411,8 +8717,15 @@ pub mod root { } #[test] fn bindgen_test_layout_jsid() { - assert_eq!(::std::mem::size_of::<jsid>() , 8usize); - assert_eq!(::std::mem::align_of::<jsid>() , 8usize); + assert_eq!(::std::mem::size_of::<jsid>() , 8usize , concat ! ( + "Size of: " , stringify ! ( jsid ) )); + assert_eq! (::std::mem::align_of::<jsid>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( jsid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const jsid ) ) . asBits as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( jsid ) , "::" , + stringify ! ( asBits ) )); } impl Clone for jsid { fn clone(&self) -> Self { *self } @@ -6487,8 +8800,10 @@ pub mod root { } #[test] fn bindgen_test_layout_SourceHook() { - assert_eq!(::std::mem::size_of::<SourceHook>() , 8usize); - assert_eq!(::std::mem::align_of::<SourceHook>() , 8usize); + assert_eq!(::std::mem::size_of::<SourceHook>() , 8usize , concat ! + ( "Size of: " , stringify ! ( SourceHook ) )); + assert_eq! (::std::mem::align_of::<SourceHook>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( SourceHook ) )); } } #[repr(C)] @@ -6514,8 +8829,25 @@ pub mod root { } #[test] fn bindgen_test_layout_JSTracer() { - assert_eq!(::std::mem::size_of::<JSTracer>() , 16usize); - assert_eq!(::std::mem::align_of::<JSTracer>() , 8usize); + assert_eq!(::std::mem::size_of::<JSTracer>() , 16usize , concat ! ( + "Size of: " , stringify ! ( JSTracer ) )); + assert_eq! (::std::mem::align_of::<JSTracer>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( JSTracer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . runtime_ as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( runtime_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . weakMapAction_ as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( weakMapAction_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const JSTracer ) ) . tag_ as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( JSTracer ) , "::" , + stringify ! ( tag_ ) )); } impl Clone for JSTracer { fn clone(&self) -> Self { *self } @@ -6631,8 +8963,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAString_internal() { - assert_eq!(::std::mem::size_of::<nsAString_internal>() , 16usize); - assert_eq!(::std::mem::align_of::<nsAString_internal>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAString_internal>() , 16usize , + concat ! ( "Size of: " , stringify ! ( nsAString_internal ) + )); + assert_eq! (::std::mem::align_of::<nsAString_internal>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAString_internal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAString_internal ) ) . mData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAString_internal + ) , "::" , stringify ! ( mData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAString_internal ) ) . mLength as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAString_internal + ) , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAString_internal ) ) . mFlags as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAString_internal + ) , "::" , stringify ! ( mFlags ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -6649,8 +9000,27 @@ pub mod root { pub type nsSubstringTuple_size_type = u32; #[test] fn bindgen_test_layout_nsSubstringTuple() { - assert_eq!(::std::mem::size_of::<nsSubstringTuple>() , 24usize); - assert_eq!(::std::mem::align_of::<nsSubstringTuple>() , 8usize); + assert_eq!(::std::mem::size_of::<nsSubstringTuple>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsSubstringTuple ) + )); + assert_eq! (::std::mem::align_of::<nsSubstringTuple>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsSubstringTuple ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSubstringTuple ) ) . mHead as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSubstringTuple ) + , "::" , stringify ! ( mHead ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSubstringTuple ) ) . mFragA as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSubstringTuple ) + , "::" , stringify ! ( mFragA ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSubstringTuple ) ) . mFragB as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSubstringTuple ) + , "::" , stringify ! ( mFragB ) )); } impl Clone for nsSubstringTuple { fn clone(&self) -> Self { *self } @@ -6669,8 +9039,15 @@ pub mod root { pub enum nsAutoString__bindgen_ty_1 { kDefaultStorageSize = 64, } #[test] fn bindgen_test_layout_nsAutoString() { - assert_eq!(::std::mem::size_of::<nsAutoString>() , 160usize); - assert_eq!(::std::mem::align_of::<nsAutoString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAutoString>() , 160usize , concat ! + ( "Size of: " , stringify ! ( nsAutoString ) )); + assert_eq! (::std::mem::align_of::<nsAutoString>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsAutoString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAutoString ) ) . mStorage as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAutoString ) , + "::" , stringify ! ( mStorage ) )); } #[repr(C)] pub struct nsStringComparator__bindgen_vtable { @@ -6683,8 +9060,12 @@ pub mod root { pub type nsStringComparator_char_type = u16; #[test] fn bindgen_test_layout_nsStringComparator() { - assert_eq!(::std::mem::size_of::<nsStringComparator>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStringComparator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStringComparator>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsStringComparator ) + )); + assert_eq! (::std::mem::align_of::<nsStringComparator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStringComparator ) )); } impl Clone for nsStringComparator { fn clone(&self) -> Self { *self } @@ -6759,8 +9140,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsACString_internal() { - assert_eq!(::std::mem::size_of::<nsACString_internal>() , 16usize); - assert_eq!(::std::mem::align_of::<nsACString_internal>() , 8usize); + assert_eq!(::std::mem::size_of::<nsACString_internal>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsACString_internal ) )); + assert_eq! (::std::mem::align_of::<nsACString_internal>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsACString_internal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsACString_internal ) ) . mData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsACString_internal + ) , "::" , stringify ! ( mData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsACString_internal ) ) . mLength as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsACString_internal + ) , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsACString_internal ) ) . mFlags as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsACString_internal + ) , "::" , stringify ! ( mFlags ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -6778,8 +9178,27 @@ pub mod root { pub type nsCSubstringTuple_size_type = u32; #[test] fn bindgen_test_layout_nsCSubstringTuple() { - assert_eq!(::std::mem::size_of::<nsCSubstringTuple>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSubstringTuple>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSubstringTuple>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsCSubstringTuple ) + )); + assert_eq! (::std::mem::align_of::<nsCSubstringTuple>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSubstringTuple ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringTuple ) ) . mHead as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSubstringTuple ) + , "::" , stringify ! ( mHead ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringTuple ) ) . mFragA as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSubstringTuple ) + , "::" , stringify ! ( mFragA ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringTuple ) ) . mFragB as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSubstringTuple ) + , "::" , stringify ! ( mFragB ) )); } impl Clone for nsCSubstringTuple { fn clone(&self) -> Self { *self } @@ -6798,16 +9217,32 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCString_Segment() { - assert_eq!(::std::mem::size_of::<nsCString_Segment>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCString_Segment>() , 4usize); + assert_eq!(::std::mem::size_of::<nsCString_Segment>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsCString_Segment ) + )); + assert_eq! (::std::mem::align_of::<nsCString_Segment>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsCString_Segment ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCString_Segment ) ) . mBegin as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCString_Segment ) + , "::" , stringify ! ( mBegin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCString_Segment ) ) . mLength as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCString_Segment ) + , "::" , stringify ! ( mLength ) )); } impl Clone for nsCString_Segment { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCString() { - assert_eq!(::std::mem::size_of::<nsCString>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCString>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsCString ) )); + assert_eq! (::std::mem::align_of::<nsCString>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCString ) )); } #[repr(C)] pub struct nsCStringComparator__bindgen_vtable { @@ -6820,8 +9255,12 @@ pub mod root { pub type nsCStringComparator_char_type = ::std::os::raw::c_char; #[test] fn bindgen_test_layout_nsCStringComparator() { - assert_eq!(::std::mem::size_of::<nsCStringComparator>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCStringComparator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCStringComparator>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsCStringComparator ) )); + assert_eq! (::std::mem::align_of::<nsCStringComparator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCStringComparator ) )); } impl Clone for nsCStringComparator { fn clone(&self) -> Self { *self } @@ -6854,8 +9293,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISupports() { - assert_eq!(::std::mem::size_of::<nsISupports>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISupports>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISupports>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsISupports ) )); + assert_eq! (::std::mem::align_of::<nsISupports>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsISupports ) )); } impl Clone for nsISupports { fn clone(&self) -> Self { *self } @@ -6876,9 +9317,26 @@ pub mod root { #[test] fn bindgen_test_layout_nsCycleCollectionParticipant() { assert_eq!(::std::mem::size_of::<nsCycleCollectionParticipant>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsCycleCollectionParticipant>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsCycleCollectionParticipant ) + )); + assert_eq! (::std::mem::align_of::<nsCycleCollectionParticipant>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCycleCollectionParticipant ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectionParticipant ) ) . + mMightSkip as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectionParticipant ) , "::" , stringify ! ( + mMightSkip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectionParticipant ) ) . + mTraverseShouldTrace as * const _ as usize } , 9usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectionParticipant ) , "::" , stringify ! ( + mTraverseShouldTrace ) )); } impl Clone for nsCycleCollectionParticipant { fn clone(&self) -> Self { *self } @@ -6891,9 +9349,20 @@ pub mod root { #[test] fn bindgen_test_layout_nsCycleCollectingAutoRefCnt() { assert_eq!(::std::mem::size_of::<nsCycleCollectingAutoRefCnt>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsCycleCollectingAutoRefCnt>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsCycleCollectingAutoRefCnt ) + )); + assert_eq! (::std::mem::align_of::<nsCycleCollectingAutoRefCnt>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCycleCollectingAutoRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCycleCollectingAutoRefCnt ) ) . + mRefCntAndFlags as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCycleCollectingAutoRefCnt ) , "::" , stringify ! ( + mRefCntAndFlags ) )); } impl Clone for nsCycleCollectingAutoRefCnt { fn clone(&self) -> Self { *self } @@ -6905,17 +9374,26 @@ pub mod root { pub _phantom_0: ::std::marker::PhantomData<CharT>, } #[test] - fn __bindgen_test_layout_template_23() { - assert_eq!(::std::mem::size_of::<root::nsCharTraits<u16>>() , 1usize); - assert_eq!(::std::mem::align_of::<root::nsCharTraits<u16>>() , - 1usize); + fn __bindgen_test_layout_template_2() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits<u16>>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits<u16>>() , 1usize + , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits<u16> ) )); } #[test] - fn __bindgen_test_layout_template_24() { + fn __bindgen_test_layout_template_3() { assert_eq!(::std::mem::size_of::<root::nsCharTraits<::std::os::raw::c_char>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits<::std::os::raw::c_char> ) )); assert_eq!(::std::mem::align_of::<root::nsCharTraits<::std::os::raw::c_char>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits<::std::os::raw::c_char> ) )); } /** * @see nsTAString @@ -6969,9 +9447,31 @@ pub mod root { #[test] fn bindgen_test_layout_nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter() { assert_eq!(::std::mem::size_of::<nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) )); + assert_eq! (::std::mem::align_of::<nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) ) . + mObj as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) , "::" + , stringify ! ( mObj ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) ) . + mPos as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter ) , "::" + , stringify ! ( mPos ) )); } impl Clone for nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter { fn clone(&self) -> Self { *self } @@ -6979,9 +9479,37 @@ pub mod root { #[test] fn bindgen_test_layout_nsTSubstringSplitter_CharT() { assert_eq!(::std::mem::size_of::<nsTSubstringSplitter_CharT>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsTSubstringSplitter_CharT>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( nsTSubstringSplitter_CharT ) + )); + assert_eq! (::std::mem::align_of::<nsTSubstringSplitter_CharT>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsTSubstringSplitter_CharT + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . mStr + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( mStr ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . + mArray as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( mArray + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . + mArraySize as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( + mArraySize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTSubstringSplitter_CharT ) ) . + mDelim as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTSubstringSplitter_CharT ) , "::" , stringify ! ( mDelim + ) )); } #[repr(C)] #[derive(Debug)] @@ -7001,17 +9529,62 @@ pub mod root { #[test] fn bindgen_test_layout_nsCSubstringSplitter_nsTSubstringSplit_Iter() { assert_eq!(::std::mem::size_of::<nsCSubstringSplitter_nsTSubstringSplit_Iter>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsCSubstringSplitter_nsTSubstringSplit_Iter>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) )); + assert_eq! (::std::mem::align_of::<nsCSubstringSplitter_nsTSubstringSplit_Iter>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCSubstringSplitter_nsTSubstringSplit_Iter ) + ) . mObj as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) , "::" , + stringify ! ( mObj ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCSubstringSplitter_nsTSubstringSplit_Iter ) + ) . mPos as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter_nsTSubstringSplit_Iter ) , "::" , + stringify ! ( mPos ) )); } impl Clone for nsCSubstringSplitter_nsTSubstringSplit_Iter { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCSubstringSplitter() { - assert_eq!(::std::mem::size_of::<nsCSubstringSplitter>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSubstringSplitter>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSubstringSplitter>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsCSubstringSplitter ) )); + assert_eq! (::std::mem::align_of::<nsCSubstringSplitter>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSubstringSplitter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mStr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mStr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mArray as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mArray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mArraySize + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mArraySize ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSubstringSplitter ) ) . mDelim as + * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSubstringSplitter ) , "::" , stringify ! ( mDelim ) )); } #[repr(C)] #[derive(Debug)] @@ -7024,8 +9597,20 @@ pub mod root { pub type nsFixedString_fixed_string_type = root::nsFixedString; #[test] fn bindgen_test_layout_nsFixedString() { - assert_eq!(::std::mem::size_of::<nsFixedString>() , 32usize); - assert_eq!(::std::mem::align_of::<nsFixedString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsFixedString>() , 32usize , concat ! + ( "Size of: " , stringify ! ( nsFixedString ) )); + assert_eq! (::std::mem::align_of::<nsFixedString>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsFixedString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFixedString ) ) . mFixedCapacity as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFixedString ) , + "::" , stringify ! ( mFixedCapacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFixedString ) ) . mFixedBuf as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFixedString ) , + "::" , stringify ! ( mFixedBuf ) )); } pub type PRUint32 = ::std::os::raw::c_uint; pub type PRUintn = ::std::os::raw::c_uint; @@ -7046,8 +9631,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLHashEntry() { - assert_eq!(::std::mem::size_of::<PLHashEntry>() , 32usize); - assert_eq!(::std::mem::align_of::<PLHashEntry>() , 8usize); + assert_eq!(::std::mem::size_of::<PLHashEntry>() , 32usize , concat ! ( + "Size of: " , stringify ! ( PLHashEntry ) )); + assert_eq! (::std::mem::align_of::<PLHashEntry>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLHashEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . next as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . keyHash as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( keyHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . key as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( key ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashEntry ) ) . value as * const _ + as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashEntry ) , + "::" , stringify ! ( value ) )); } impl Clone for PLHashEntry { fn clone(&self) -> Self { *self } @@ -7066,8 +9673,50 @@ pub mod root { } #[test] fn bindgen_test_layout_PLHashTable() { - assert_eq!(::std::mem::size_of::<PLHashTable>() , 56usize); - assert_eq!(::std::mem::align_of::<PLHashTable>() , 8usize); + assert_eq!(::std::mem::size_of::<PLHashTable>() , 56usize , concat ! ( + "Size of: " , stringify ! ( PLHashTable ) )); + assert_eq! (::std::mem::align_of::<PLHashTable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLHashTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . buckets as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( buckets ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . nentries as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( nentries ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . shift as * const _ + as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( shift ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . keyHash as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( keyHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . keyCompare as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( keyCompare ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . valueCompare as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( valueCompare ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . allocOps as * const + _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( allocOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashTable ) ) . allocPriv as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashTable ) , + "::" , stringify ! ( allocPriv ) )); } impl Clone for PLHashTable { fn clone(&self) -> Self { *self } @@ -7110,8 +9759,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLHashAllocOps() { - assert_eq!(::std::mem::size_of::<PLHashAllocOps>() , 32usize); - assert_eq!(::std::mem::align_of::<PLHashAllocOps>() , 8usize); + assert_eq!(::std::mem::size_of::<PLHashAllocOps>() , 32usize , concat + ! ( "Size of: " , stringify ! ( PLHashAllocOps ) )); + assert_eq! (::std::mem::align_of::<PLHashAllocOps>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( PLHashAllocOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . allocTable as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( allocTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . freeTable as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( freeTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . allocEntry as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( allocEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLHashAllocOps ) ) . freeEntry as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLHashAllocOps ) , + "::" , stringify ! ( freeEntry ) )); } impl Clone for PLHashAllocOps { fn clone(&self) -> Self { *self } @@ -7130,8 +9801,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsID() { - assert_eq!(::std::mem::size_of::<nsID>() , 16usize); - assert_eq!(::std::mem::align_of::<nsID>() , 4usize); + assert_eq!(::std::mem::size_of::<nsID>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsID ) )); + assert_eq! (::std::mem::align_of::<nsID>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m0 as * const _ as usize } + , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m0 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m1 as * const _ as usize } + , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m2 as * const _ as usize } + , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsID ) ) . m3 as * const _ as usize } + , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsID ) , "::" , + stringify ! ( m3 ) )); } impl Clone for nsID { fn clone(&self) -> Self { *self } @@ -7150,8 +9843,15 @@ pub mod root { pub const nsAutoRefCnt_isThreadSafe: bool = false; #[test] fn bindgen_test_layout_nsAutoRefCnt() { - assert_eq!(::std::mem::size_of::<nsAutoRefCnt>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAutoRefCnt>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAutoRefCnt>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsAutoRefCnt ) )); + assert_eq! (::std::mem::align_of::<nsAutoRefCnt>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsAutoRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAutoRefCnt ) ) . mValue as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAutoRefCnt ) , + "::" , stringify ! ( mValue ) )); } impl Clone for nsAutoRefCnt { fn clone(&self) -> Self { *self } @@ -7196,16 +9896,51 @@ pub mod root { } #[test] fn bindgen_test_layout_nsRegion_RectIterator() { - assert_eq!(::std::mem::size_of::<nsRegion_RectIterator>() , 32usize); - assert_eq!(::std::mem::align_of::<nsRegion_RectIterator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsRegion_RectIterator>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsRegion_RectIterator ) )); + assert_eq! (::std::mem::align_of::<nsRegion_RectIterator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsRegion_RectIterator ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mCurrent + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mCurrent ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mLimit as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mLimit ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mTmp as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mTmp ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion_RectIterator ) ) . mBoxes as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsRegion_RectIterator ) , "::" , stringify ! ( mBoxes ) + )); } impl Clone for nsRegion_RectIterator { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsRegion() { - assert_eq!(::std::mem::size_of::<nsRegion>() , 24usize); - assert_eq!(::std::mem::align_of::<nsRegion>() , 8usize); + assert_eq!(::std::mem::size_of::<nsRegion>() , 24usize , concat ! ( + "Size of: " , stringify ! ( nsRegion ) )); + assert_eq! (::std::mem::align_of::<nsRegion>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsRegion ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRegion ) ) . mImpl as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRegion ) , "::" , + stringify ! ( mImpl ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -7219,42 +9954,19 @@ pub mod root { } #[test] fn bindgen_test_layout_nsTArrayHeader() { - assert_eq!(::std::mem::size_of::<nsTArrayHeader>() , 8usize); - assert_eq!(::std::mem::align_of::<nsTArrayHeader>() , 4usize); + assert_eq!(::std::mem::size_of::<nsTArrayHeader>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsTArrayHeader ) )); + assert_eq! (::std::mem::align_of::<nsTArrayHeader>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( nsTArrayHeader ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTArrayHeader ) ) . mLength as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsTArrayHeader ) , + "::" , stringify ! ( mLength ) )); } impl Clone for nsTArrayHeader { fn clone(&self) -> Self { *self } } - impl nsTArrayHeader { - #[inline] - pub fn mCapacity(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483647usize as u32)) >> 0u32) - as u32) - } - } - #[inline] - pub fn set_mCapacity(&mut self, val: u32) { - self._bitfield_1 &= !(2147483647usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 0u32) & (2147483647usize as u32); - } - #[inline] - pub fn mIsAutoArray(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u32)) >> - 31u32) as u32) - } - } - #[inline] - pub fn set_mIsAutoArray(&mut self, val: u32) { - self._bitfield_1 &= !(2147483648usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 31u32) & (2147483648usize as u32); - } - } #[repr(C)] #[derive(Debug)] pub struct nsCOMPtr<T> { @@ -7269,8 +9981,16 @@ pub mod root { } #[test] fn bindgen_test_layout_nsQueryInterface() { - assert_eq!(::std::mem::size_of::<nsQueryInterface>() , 8usize); - assert_eq!(::std::mem::align_of::<nsQueryInterface>() , 8usize); + assert_eq!(::std::mem::size_of::<nsQueryInterface>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsQueryInterface ) )); + assert_eq! (::std::mem::align_of::<nsQueryInterface>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsQueryInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsQueryInterface ) ) . mRawPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsQueryInterface ) + , "::" , stringify ! ( mRawPtr ) )); } impl Clone for nsQueryInterface { fn clone(&self) -> Self { *self } @@ -7284,9 +10004,24 @@ pub mod root { #[test] fn bindgen_test_layout_nsQueryInterfaceWithError() { assert_eq!(::std::mem::size_of::<nsQueryInterfaceWithError>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsQueryInterfaceWithError>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsQueryInterfaceWithError ) )); + assert_eq! (::std::mem::align_of::<nsQueryInterfaceWithError>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsQueryInterfaceWithError + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsQueryInterfaceWithError ) ) . + mRawPtr as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsQueryInterfaceWithError ) , "::" , stringify ! ( mRawPtr + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsQueryInterfaceWithError ) ) . + mErrorPtr as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsQueryInterfaceWithError ) , "::" , stringify ! ( + mErrorPtr ) )); } impl Clone for nsQueryInterfaceWithError { fn clone(&self) -> Self { *self } @@ -7296,11 +10031,21 @@ pub mod root { #[derive(Debug, Copy)] pub struct nsGetServiceByCID { pub mCID: *const root::nsCID, + pub __bindgen_align: [u64; 0usize], } #[test] fn bindgen_test_layout_nsGetServiceByCID() { - assert_eq!(::std::mem::size_of::<nsGetServiceByCID>() , 8usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByCID>() , 8usize); + assert_eq!(::std::mem::size_of::<nsGetServiceByCID>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsGetServiceByCID ) + )); + assert_eq! (::std::mem::align_of::<nsGetServiceByCID>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsGetServiceByCID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByCID ) ) . mCID as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsGetServiceByCID ) + , "::" , stringify ! ( mCID ) )); } impl Clone for nsGetServiceByCID { fn clone(&self) -> Self { *self } @@ -7314,9 +10059,25 @@ pub mod root { #[test] fn bindgen_test_layout_nsGetServiceByCIDWithError() { assert_eq!(::std::mem::size_of::<nsGetServiceByCIDWithError>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByCIDWithError>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsGetServiceByCIDWithError ) + )); + assert_eq! (::std::mem::align_of::<nsGetServiceByCIDWithError>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsGetServiceByCIDWithError + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByCIDWithError ) ) . mCID + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByCIDWithError ) , "::" , stringify ! ( mCID ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByCIDWithError ) ) . + mErrorPtr as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByCIDWithError ) , "::" , stringify ! ( + mErrorPtr ) )); } impl Clone for nsGetServiceByCIDWithError { fn clone(&self) -> Self { *self } @@ -7328,10 +10089,19 @@ pub mod root { } #[test] fn bindgen_test_layout_nsGetServiceByContractID() { - assert_eq!(::std::mem::size_of::<nsGetServiceByContractID>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByContractID>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsGetServiceByContractID>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( nsGetServiceByContractID ) )); + assert_eq! (::std::mem::align_of::<nsGetServiceByContractID>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsGetServiceByContractID ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByContractID ) ) . + mContractID as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByContractID ) , "::" , stringify ! ( + mContractID ) )); } impl Clone for nsGetServiceByContractID { fn clone(&self) -> Self { *self } @@ -7345,9 +10115,26 @@ pub mod root { #[test] fn bindgen_test_layout_nsGetServiceByContractIDWithError() { assert_eq!(::std::mem::size_of::<nsGetServiceByContractIDWithError>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsGetServiceByContractIDWithError>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsGetServiceByContractIDWithError ) )); + assert_eq! (::std::mem::align_of::<nsGetServiceByContractIDWithError>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsGetServiceByContractIDWithError ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByContractIDWithError ) ) + . mContractID as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsGetServiceByContractIDWithError ) , "::" , stringify ! ( + mContractID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsGetServiceByContractIDWithError ) ) + . mErrorPtr as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsGetServiceByContractIDWithError ) , "::" , stringify ! ( + mErrorPtr ) )); } impl Clone for nsGetServiceByContractIDWithError { fn clone(&self) -> Self { *self } @@ -7367,11 +10154,27 @@ pub mod root { pub mRawPtr: *mut root::nsISupports, } #[test] - fn __bindgen_test_layout_template_25() { + fn bindgen_test_layout_nsCOMPtr_base() { + assert_eq!(::std::mem::size_of::<nsCOMPtr_base>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsCOMPtr_base ) )); + assert_eq! (::std::mem::align_of::<nsCOMPtr_base>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCOMPtr_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCOMPtr_base ) ) . mRawPtr as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCOMPtr_base ) , + "::" , stringify ! ( mRawPtr ) )); + } + #[test] + fn __bindgen_test_layout_template_4() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsISupports> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsISupports> ) )); } #[repr(C)] #[derive(Debug)] @@ -7409,8 +10212,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStringBuffer() { - assert_eq!(::std::mem::size_of::<nsStringBuffer>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStringBuffer>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStringBuffer>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsStringBuffer ) )); + assert_eq! (::std::mem::align_of::<nsStringBuffer>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( nsStringBuffer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStringBuffer ) ) . mRefCount as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStringBuffer ) , + "::" , stringify ! ( mRefCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStringBuffer ) ) . mStorageSize as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStringBuffer ) , + "::" , stringify ! ( mStorageSize ) )); } impl Clone for nsStringBuffer { fn clone(&self) -> Self { *self } @@ -7437,42 +10252,24 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIAtom() { - assert_eq!(::std::mem::size_of::<nsIAtom>() , 24usize); - assert_eq!(::std::mem::align_of::<nsIAtom>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIAtom>() , 24usize , concat ! ( + "Size of: " , stringify ! ( nsIAtom ) )); + assert_eq! (::std::mem::align_of::<nsIAtom>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIAtom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIAtom ) ) . mHash as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIAtom ) , "::" , + stringify ! ( mHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIAtom ) ) . mString as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIAtom ) , "::" , + stringify ! ( mString ) )); } impl Clone for nsIAtom { fn clone(&self) -> Self { *self } } - impl nsIAtom { - #[inline] - pub fn mLength(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483647usize as u32)) >> 0u32) - as u32) - } - } - #[inline] - pub fn set_mLength(&mut self, val: u32) { - self._bitfield_1 &= !(2147483647usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 0u32) & (2147483647usize as u32); - } - #[inline] - pub fn mIsStatic(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u32)) >> - 31u32) as u32) - } - } - #[inline] - pub fn set_mIsStatic(&mut self, val: u32) { - self._bitfield_1 &= !(2147483648usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 31u32) & (2147483648usize as u32); - } - } #[repr(C)] #[derive(Debug, Copy)] pub struct nsIPrincipal { @@ -7507,8 +10304,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPrincipal() { - assert_eq!(::std::mem::size_of::<nsIPrincipal>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIPrincipal>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIPrincipal>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIPrincipal ) )); + assert_eq! (::std::mem::align_of::<nsIPrincipal>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIPrincipal ) )); } impl Clone for nsIPrincipal { fn clone(&self) -> Self { *self } @@ -7602,8 +10401,20 @@ pub mod root { pub enum nsWrapperCache__bindgen_ty_3 { kWrapperFlagsMask = 3, } #[test] fn bindgen_test_layout_nsWrapperCache() { - assert_eq!(::std::mem::size_of::<nsWrapperCache>() , 24usize); - assert_eq!(::std::mem::align_of::<nsWrapperCache>() , 8usize); + assert_eq!(::std::mem::size_of::<nsWrapperCache>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsWrapperCache ) )); + assert_eq! (::std::mem::align_of::<nsWrapperCache>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsWrapperCache ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsWrapperCache ) ) . mWrapper as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsWrapperCache ) , + "::" , stringify ! ( mWrapper ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsWrapperCache ) ) . mFlags as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsWrapperCache ) , + "::" , stringify ! ( mFlags ) )); } #[repr(C)] pub struct TraceCallbacks__bindgen_vtable { @@ -7615,8 +10426,10 @@ pub mod root { } #[test] fn bindgen_test_layout_TraceCallbacks() { - assert_eq!(::std::mem::size_of::<TraceCallbacks>() , 8usize); - assert_eq!(::std::mem::align_of::<TraceCallbacks>() , 8usize); + assert_eq!(::std::mem::size_of::<TraceCallbacks>() , 8usize , concat ! + ( "Size of: " , stringify ! ( TraceCallbacks ) )); + assert_eq! (::std::mem::align_of::<TraceCallbacks>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( TraceCallbacks ) )); } impl Clone for TraceCallbacks { fn clone(&self) -> Self { *self } @@ -7628,8 +10441,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsScriptObjectTracer() { - assert_eq!(::std::mem::size_of::<nsScriptObjectTracer>() , 16usize); - assert_eq!(::std::mem::align_of::<nsScriptObjectTracer>() , 8usize); + assert_eq!(::std::mem::size_of::<nsScriptObjectTracer>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsScriptObjectTracer ) )); + assert_eq! (::std::mem::align_of::<nsScriptObjectTracer>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsScriptObjectTracer ) )); } impl Clone for nsScriptObjectTracer { fn clone(&self) -> Self { *self } @@ -7649,9 +10466,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsXPCOMCycleCollectionParticipant() { assert_eq!(::std::mem::size_of::<nsXPCOMCycleCollectionParticipant>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsXPCOMCycleCollectionParticipant>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsXPCOMCycleCollectionParticipant ) )); + assert_eq! (::std::mem::align_of::<nsXPCOMCycleCollectionParticipant>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsXPCOMCycleCollectionParticipant ) )); } impl Clone for nsXPCOMCycleCollectionParticipant { fn clone(&self) -> Self { *self } @@ -7686,8 +10507,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIEventTarget() { - assert_eq!(::std::mem::size_of::<nsIEventTarget>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIEventTarget>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIEventTarget>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsIEventTarget ) )); + assert_eq! (::std::mem::align_of::<nsIEventTarget>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsIEventTarget ) )); } impl Clone for nsIEventTarget { fn clone(&self) -> Self { *self } @@ -7706,8 +10529,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIRunnable() { - assert_eq!(::std::mem::size_of::<nsIRunnable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIRunnable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIRunnable>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIRunnable ) )); + assert_eq! (::std::mem::align_of::<nsIRunnable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIRunnable ) )); } impl Clone for nsIRunnable { fn clone(&self) -> Self { *self } @@ -7729,8 +10554,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIGlobalObject() { - assert_eq!(::std::mem::size_of::<nsIGlobalObject>() , 32usize); - assert_eq!(::std::mem::align_of::<nsIGlobalObject>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIGlobalObject>() , 32usize , concat + ! ( "Size of: " , stringify ! ( nsIGlobalObject ) )); + assert_eq! (::std::mem::align_of::<nsIGlobalObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIGlobalObject ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -7752,8 +10580,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISerializable() { - assert_eq!(::std::mem::size_of::<nsISerializable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISerializable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISerializable>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsISerializable ) )); + assert_eq! (::std::mem::align_of::<nsISerializable>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsISerializable ) )); } impl Clone for nsISerializable { fn clone(&self) -> Self { *self } @@ -7772,8 +10603,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIURI() { - assert_eq!(::std::mem::size_of::<nsIURI>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIURI>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIURI>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIURI ) )); + assert_eq! (::std::mem::align_of::<nsIURI>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIURI ) )); } impl Clone for nsIURI { fn clone(&self) -> Self { *self } @@ -7798,8 +10631,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPIDOMWindowInner() { - assert_eq!(::std::mem::size_of::<nsPIDOMWindowInner>() , 224usize); - assert_eq!(::std::mem::align_of::<nsPIDOMWindowInner>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPIDOMWindowInner>() , 224usize , + concat ! ( "Size of: " , stringify ! ( nsPIDOMWindowInner ) + )); + assert_eq! (::std::mem::align_of::<nsPIDOMWindowInner>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPIDOMWindowInner ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -7822,8 +10659,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScriptContext() { - assert_eq!(::std::mem::size_of::<nsIScriptContext>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIScriptContext>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScriptContext>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIScriptContext ) )); + assert_eq! (::std::mem::align_of::<nsIScriptContext>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScriptContext ) )); } impl Clone for nsIScriptContext { fn clone(&self) -> Self { *self } @@ -7870,7 +10710,12 @@ pub mod root { pub mExtraPropertyTables: root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>, pub mChildrenCollection: root::nsCOMPtr<root::nsIHTMLCollection>, pub mFontFaceSet: root::RefPtr<root::mozilla::dom::FontFaceSet>, - pub _bitfield_1: u64, + pub _bitfield_1: u8, + pub _bitfield_2: u8, + pub _bitfield_3: u8, + pub _bitfield_4: u8, + pub _bitfield_5: u8, + pub _bitfield_6: u8, pub mCompatMode: root::nsCompatibility, pub mReadyState: root::nsIDocument_ReadyState, pub mStyleBackendType: root::mozilla::StyleBackendType, @@ -7918,7 +10763,7 @@ pub mod root { pub mXPathEvaluator: root::RefPtr<root::mozilla::dom::XPathEvaluator>, pub mAnonymousContents: root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>, pub mBlockDOMContentLoaded: u32, - pub _bitfield_2: u8, + pub _bitfield_7: u8, pub mDOMMediaQueryLists: root::PRCList, pub mUseCounters: [u64; 2usize], pub mChildDocumentUseCounters: [u64; 2usize], @@ -7950,9 +10795,28 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_PageUnloadingEventTimeStamp() { assert_eq!(::std::mem::size_of::<nsIDocument_PageUnloadingEventTimeStamp>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsIDocument_PageUnloadingEventTimeStamp>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) )); + assert_eq! (::std::mem::align_of::<nsIDocument_PageUnloadingEventTimeStamp>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsIDocument_PageUnloadingEventTimeStamp ) + ) . mDocument as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) , "::" , + stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsIDocument_PageUnloadingEventTimeStamp ) + ) . mSet as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_PageUnloadingEventTimeStamp ) , "::" , + stringify ! ( mSet ) )); } /** * This gets fired when the element that an id refers to changes. @@ -7979,9 +10843,25 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_SelectorCacheKey() { assert_eq!(::std::mem::size_of::<nsIDocument_SelectorCacheKey>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsIDocument_SelectorCacheKey>() , - 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( nsIDocument_SelectorCacheKey ) + )); + assert_eq! (::std::mem::align_of::<nsIDocument_SelectorCacheKey>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIDocument_SelectorCacheKey ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIDocument_SelectorCacheKey ) ) . + mKey as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_SelectorCacheKey ) , "::" , stringify ! ( mKey + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIDocument_SelectorCacheKey ) ) . + mState as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_SelectorCacheKey ) , "::" , stringify ! ( + mState ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -7994,9 +10874,12 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_SelectorCache() { assert_eq!(::std::mem::size_of::<nsIDocument_SelectorCache>() , - 120usize); - assert_eq!(::std::mem::align_of::<nsIDocument_SelectorCache>() , - 8usize); + 120usize , concat ! ( + "Size of: " , stringify ! ( nsIDocument_SelectorCache ) )); + assert_eq! (::std::mem::align_of::<nsIDocument_SelectorCache>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIDocument_SelectorCache + ) )); } impl Clone for nsIDocument_SelectorCache { fn clone(&self) -> Self { *self } @@ -8054,9 +10937,19 @@ pub mod root { #[test] fn bindgen_test_layout_nsIDocument_ExternalResourceLoad() { assert_eq!(::std::mem::size_of::<nsIDocument_ExternalResourceLoad>() , - 88usize); - assert_eq!(::std::mem::align_of::<nsIDocument_ExternalResourceLoad>() - , 8usize); + 88usize , concat ! ( + "Size of: " , stringify ! ( + nsIDocument_ExternalResourceLoad ) )); + assert_eq! (::std::mem::align_of::<nsIDocument_ExternalResourceLoad>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIDocument_ExternalResourceLoad ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIDocument_ExternalResourceLoad ) ) + . mObservers as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIDocument_ExternalResourceLoad ) , "::" , stringify ! ( + mObservers ) )); } pub type nsIDocument_ActivityObserverEnumerator = ::std::option::Option<unsafe extern "C" fn(arg1: @@ -8120,7 +11013,8 @@ pub mod root { eLenientSetter = 37, eFileLastModifiedDate = 38, eImageBitmapRenderingContext_TransferImageBitmap = 39, - eDeprecatedOperationCount = 40, + eURLCreateObjectURL_MediaStream = 40, + eDeprecatedOperationCount = 41, } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -8137,6 +11031,14 @@ pub mod root { eDetached = 2, eAttributeChanged = 3, } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsIDocument_FlashClassification { + Unclassified = 0, + Unknown = 1, + Allowed = 2, + Denied = 3, + } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsIDocument_Type { @@ -8155,622 +11057,10 @@ pub mod root { pub struct nsIDocument_FrameRequest([u8; 0]); #[test] fn bindgen_test_layout_nsIDocument() { - assert_eq!(::std::mem::size_of::<nsIDocument>() , 992usize); - assert_eq!(::std::mem::align_of::<nsIDocument>() , 8usize); - } - impl nsIDocument { - #[inline] - pub fn mBidiEnabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u64)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mBidiEnabled(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 0u32) & (1usize as u64); - } - #[inline] - pub fn mMathMLEnabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u64)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mMathMLEnabled(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 1u32) & (2usize as u64); - } - #[inline] - pub fn mIsInitialDocumentInWindow(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u64)) >> - 2u32) as u8) - } - } - #[inline] - pub fn set_mIsInitialDocumentInWindow(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 2u32) & (4usize as u64); - } - #[inline] - pub fn mLoadedAsData(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u64)) >> - 3u32) as u8) - } - } - #[inline] - pub fn set_mLoadedAsData(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 3u32) & (8usize as u64); - } - #[inline] - pub fn mLoadedAsInteractiveData(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u64)) - >> 4u32) as u8) - } - } - #[inline] - pub fn set_mLoadedAsInteractiveData(&mut self, val: bool) { - self._bitfield_1 &= !(16usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 4u32) & (16usize as u64); - } - #[inline] - pub fn mMayStartLayout(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u64)) - >> 5u32) as u8) - } - } - #[inline] - pub fn set_mMayStartLayout(&mut self, val: bool) { - self._bitfield_1 &= !(32usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 5u32) & (32usize as u64); - } - #[inline] - pub fn mHaveFiredTitleChange(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (64usize as u64)) - >> 6u32) as u8) - } - } - #[inline] - pub fn set_mHaveFiredTitleChange(&mut self, val: bool) { - self._bitfield_1 &= !(64usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 6u32) & (64usize as u64); - } - #[inline] - pub fn mIsShowing(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (128usize as u64)) - >> 7u32) as u8) - } - } - #[inline] - pub fn set_mIsShowing(&mut self, val: bool) { - self._bitfield_1 &= !(128usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 7u32) & (128usize as u64); - } - #[inline] - pub fn mVisible(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (256usize as u64)) - >> 8u32) as u8) - } - } - #[inline] - pub fn set_mVisible(&mut self, val: bool) { - self._bitfield_1 &= !(256usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 8u32) & (256usize as u64); - } - #[inline] - pub fn mHasReferrerPolicyCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (512usize as u64)) - >> 9u32) as u8) - } - } - #[inline] - pub fn set_mHasReferrerPolicyCSP(&mut self, val: bool) { - self._bitfield_1 &= !(512usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 9u32) & (512usize as u64); - } - #[inline] - pub fn mRemovedFromDocShell(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1024usize as u64)) - >> 10u32) as u8) - } - } - #[inline] - pub fn set_mRemovedFromDocShell(&mut self, val: bool) { - self._bitfield_1 &= !(1024usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 10u32) & (1024usize as u64); - } - #[inline] - pub fn mAllowDNSPrefetch(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2048usize as u64)) - >> 11u32) as u8) - } - } - #[inline] - pub fn set_mAllowDNSPrefetch(&mut self, val: bool) { - self._bitfield_1 &= !(2048usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 11u32) & (2048usize as u64); - } - #[inline] - pub fn mIsStaticDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4096usize as u64)) - >> 12u32) as u8) - } - } - #[inline] - pub fn set_mIsStaticDocument(&mut self, val: bool) { - self._bitfield_1 &= !(4096usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 12u32) & (4096usize as u64); - } - #[inline] - pub fn mCreatingStaticClone(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8192usize as u64)) - >> 13u32) as u8) - } - } - #[inline] - pub fn set_mCreatingStaticClone(&mut self, val: bool) { - self._bitfield_1 &= !(8192usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 13u32) & (8192usize as u64); - } - #[inline] - pub fn mInUnlinkOrDeletion(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16384usize as u64)) >> 14u32) as - u8) - } - } - #[inline] - pub fn set_mInUnlinkOrDeletion(&mut self, val: bool) { - self._bitfield_1 &= !(16384usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 14u32) & (16384usize as u64); - } - #[inline] - pub fn mHasHadScriptHandlingObject(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (32768usize as u64)) >> 15u32) as - u8) - } - } - #[inline] - pub fn set_mHasHadScriptHandlingObject(&mut self, val: bool) { - self._bitfield_1 &= !(32768usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 15u32) & (32768usize as u64); - } - #[inline] - pub fn mIsBeingUsedAsImage(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (65536usize as u64)) >> 16u32) as - u8) - } - } - #[inline] - pub fn set_mIsBeingUsedAsImage(&mut self, val: bool) { - self._bitfield_1 &= !(65536usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 16u32) & (65536usize as u64); - } - #[inline] - pub fn mIsSyntheticDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (131072usize as u64)) >> 17u32) as - u8) - } - } - #[inline] - pub fn set_mIsSyntheticDocument(&mut self, val: bool) { - self._bitfield_1 &= !(131072usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 17u32) & (131072usize as u64); - } - #[inline] - pub fn mHasLinksToUpdate(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (262144usize as u64)) >> 18u32) as - u8) - } - } - #[inline] - pub fn set_mHasLinksToUpdate(&mut self, val: bool) { - self._bitfield_1 &= !(262144usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 18u32) & (262144usize as u64); - } - #[inline] - pub fn mNeedLayoutFlush(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (524288usize as u64)) >> 19u32) as - u8) - } - } - #[inline] - pub fn set_mNeedLayoutFlush(&mut self, val: bool) { - self._bitfield_1 &= !(524288usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 19u32) & (524288usize as u64); - } - #[inline] - pub fn mNeedStyleFlush(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1048576usize as u64)) >> 20u32) - as u8) - } - } - #[inline] - pub fn set_mNeedStyleFlush(&mut self, val: bool) { - self._bitfield_1 &= !(1048576usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 20u32) & (1048576usize as u64); - } - #[inline] - pub fn mMayHaveDOMMutationObservers(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2097152usize as u64)) >> 21u32) - as u8) - } - } - #[inline] - pub fn set_mMayHaveDOMMutationObservers(&mut self, val: bool) { - self._bitfield_1 &= !(2097152usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 21u32) & (2097152usize as u64); - } - #[inline] - pub fn mMayHaveAnimationObservers(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4194304usize as u64)) >> 22u32) - as u8) - } - } - #[inline] - pub fn set_mMayHaveAnimationObservers(&mut self, val: bool) { - self._bitfield_1 &= !(4194304usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 22u32) & (4194304usize as u64); - } - #[inline] - pub fn mHasMixedActiveContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8388608usize as u64)) >> 23u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedActiveContentLoaded(&mut self, val: bool) { - self._bitfield_1 &= !(8388608usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 23u32) & (8388608usize as u64); - } - #[inline] - pub fn mHasMixedActiveContentBlocked(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16777216usize as u64)) >> 24u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedActiveContentBlocked(&mut self, val: bool) { - self._bitfield_1 &= !(16777216usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 24u32) & (16777216usize as u64); - } - #[inline] - pub fn mHasMixedDisplayContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (33554432usize as u64)) >> 25u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedDisplayContentLoaded(&mut self, val: bool) { - self._bitfield_1 &= !(33554432usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 25u32) & (33554432usize as u64); - } - #[inline] - pub fn mHasMixedDisplayContentBlocked(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (67108864usize as u64)) >> 26u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedDisplayContentBlocked(&mut self, val: bool) { - self._bitfield_1 &= !(67108864usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 26u32) & (67108864usize as u64); - } - #[inline] - pub fn mHasMixedContentObjectSubrequest(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (134217728usize as u64)) >> 27u32) - as u8) - } - } - #[inline] - pub fn set_mHasMixedContentObjectSubrequest(&mut self, val: bool) { - self._bitfield_1 &= !(134217728usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 27u32) & (134217728usize as u64); - } - #[inline] - pub fn mHasCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (268435456usize as u64)) >> 28u32) - as u8) - } - } - #[inline] - pub fn set_mHasCSP(&mut self, val: bool) { - self._bitfield_1 &= !(268435456usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 28u32) & (268435456usize as u64); - } - #[inline] - pub fn mHasUnsafeEvalCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (536870912usize as u64)) >> 29u32) - as u8) - } - } - #[inline] - pub fn set_mHasUnsafeEvalCSP(&mut self, val: bool) { - self._bitfield_1 &= !(536870912usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 29u32) & (536870912usize as u64); - } - #[inline] - pub fn mHasUnsafeInlineCSP(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1073741824usize as u64)) >> - 30u32) as u8) - } - } - #[inline] - pub fn set_mHasUnsafeInlineCSP(&mut self, val: bool) { - self._bitfield_1 &= !(1073741824usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 30u32) & (1073741824usize as u64); - } - #[inline] - pub fn mHasTrackingContentBlocked(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u64)) >> - 31u32) as u8) - } - } - #[inline] - pub fn set_mHasTrackingContentBlocked(&mut self, val: bool) { - self._bitfield_1 &= !(2147483648usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 31u32) & (2147483648usize as u64); - } - #[inline] - pub fn mHasTrackingContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4294967296usize as u64)) >> - 32u32) as u8) - } - } - #[inline] - pub fn set_mHasTrackingContentLoaded(&mut self, val: bool) { - self._bitfield_1 &= !(4294967296usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 32u32) & (4294967296usize as u64); - } - #[inline] - pub fn mBFCacheDisallowed(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8589934592usize as u64)) >> - 33u32) as u8) - } - } - #[inline] - pub fn set_mBFCacheDisallowed(&mut self, val: bool) { - self._bitfield_1 &= !(8589934592usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 33u32) & (8589934592usize as u64); - } - #[inline] - pub fn mHasHadDefaultView(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (17179869184usize as u64)) >> - 34u32) as u8) - } - } - #[inline] - pub fn set_mHasHadDefaultView(&mut self, val: bool) { - self._bitfield_1 &= !(17179869184usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 34u32) & (17179869184usize as u64); - } - #[inline] - pub fn mStyleSheetChangeEventsEnabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (34359738368usize as u64)) >> - 35u32) as u8) - } - } - #[inline] - pub fn set_mStyleSheetChangeEventsEnabled(&mut self, val: bool) { - self._bitfield_1 &= !(34359738368usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 35u32) & (34359738368usize as u64); - } - #[inline] - pub fn mIsSrcdocDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (68719476736usize as u64)) >> - 36u32) as u8) - } - } - #[inline] - pub fn set_mIsSrcdocDocument(&mut self, val: bool) { - self._bitfield_1 &= !(68719476736usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 36u32) & (68719476736usize as u64); - } - #[inline] - pub fn mDidDocumentOpen(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (137438953472usize as u64)) >> - 37u32) as u8) - } - } - #[inline] - pub fn set_mDidDocumentOpen(&mut self, val: bool) { - self._bitfield_1 &= !(137438953472usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 37u32) & (137438953472usize as u64); - } - #[inline] - pub fn mHasDisplayDocument(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (274877906944usize as u64)) >> - 38u32) as u8) - } - } - #[inline] - pub fn set_mHasDisplayDocument(&mut self, val: bool) { - self._bitfield_1 &= !(274877906944usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 38u32) & (274877906944usize as u64); - } - #[inline] - pub fn mFontFaceSetDirty(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (549755813888usize as u64)) >> - 39u32) as u8) - } - } - #[inline] - pub fn set_mFontFaceSetDirty(&mut self, val: bool) { - self._bitfield_1 &= !(549755813888usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 39u32) & (549755813888usize as u64); - } - #[inline] - pub fn mGetUserFontSetCalled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1099511627776usize as u64)) >> - 40u32) as u8) - } - } - #[inline] - pub fn set_mGetUserFontSetCalled(&mut self, val: bool) { - self._bitfield_1 &= !(1099511627776usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 40u32) & (1099511627776usize as u64); - } - #[inline] - pub fn mPostedFlushUserFontSet(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2199023255552usize as u64)) >> - 41u32) as u8) - } - } - #[inline] - pub fn set_mPostedFlushUserFontSet(&mut self, val: bool) { - self._bitfield_1 &= !(2199023255552usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 41u32) & (2199023255552usize as u64); - } - #[inline] - pub fn mEverInForeground(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4398046511104usize as u64)) >> - 42u32) as u8) - } - } - #[inline] - pub fn set_mEverInForeground(&mut self, val: bool) { - self._bitfield_1 &= !(4398046511104usize as u64); - self._bitfield_1 |= - ((val as u8 as u64) << 42u32) & (4398046511104usize as u64); - } - #[inline] - pub fn mDidFireDOMContentLoaded(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_2 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mDidFireDOMContentLoaded(&mut self, val: bool) { - self._bitfield_2 &= !(1usize as u8); - self._bitfield_2 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mHasScrollLinkedEffect(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_2 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mHasScrollLinkedEffect(&mut self, val: bool) { - self._bitfield_2 &= !(2usize as u8); - self._bitfield_2 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } + assert_eq!(::std::mem::size_of::<nsIDocument>() , 992usize , concat ! + ( "Size of: " , stringify ! ( nsIDocument ) )); + assert_eq! (::std::mem::align_of::<nsIDocument>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIDocument ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -8795,8 +11085,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScriptGlobalObject() { - assert_eq!(::std::mem::size_of::<nsIScriptGlobalObject>() , 32usize); - assert_eq!(::std::mem::align_of::<nsIScriptGlobalObject>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScriptGlobalObject>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsIScriptGlobalObject ) )); + assert_eq! (::std::mem::align_of::<nsIScriptGlobalObject>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScriptGlobalObject ) + )); } #[repr(u32)] /** @@ -8823,8 +11118,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIObserver() { - assert_eq!(::std::mem::size_of::<nsIObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIObserver>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIObserver ) )); + assert_eq! (::std::mem::align_of::<nsIObserver>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIObserver ) )); } impl Clone for nsIObserver { fn clone(&self) -> Self { *self } @@ -8843,8 +11140,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIVariant() { - assert_eq!(::std::mem::size_of::<nsIVariant>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIVariant>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIVariant>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIVariant ) )); + assert_eq! (::std::mem::align_of::<nsIVariant>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIVariant ) )); } impl Clone for nsIVariant { fn clone(&self) -> Self { *self } @@ -8866,8 +11165,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINamed() { - assert_eq!(::std::mem::size_of::<nsINamed>() , 8usize); - assert_eq!(::std::mem::align_of::<nsINamed>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINamed>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsINamed ) )); + assert_eq! (::std::mem::align_of::<nsINamed>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsINamed ) )); } impl Clone for nsINamed { fn clone(&self) -> Self { *self } @@ -8892,8 +11193,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMAttr() { - assert_eq!(::std::mem::size_of::<nsIDOMAttr>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMAttr>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMAttr>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIDOMAttr ) )); + assert_eq! (::std::mem::align_of::<nsIDOMAttr>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIDOMAttr ) )); } impl Clone for nsIDOMAttr { fn clone(&self) -> Self { *self } @@ -8912,8 +11215,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMElement() { - assert_eq!(::std::mem::size_of::<nsIDOMElement>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMElement>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMElement>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsIDOMElement ) )); + assert_eq! (::std::mem::align_of::<nsIDOMElement>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsIDOMElement ) )); } impl Clone for nsIDOMElement { fn clone(&self) -> Self { *self } @@ -9003,8 +11308,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMNode() { - assert_eq!(::std::mem::size_of::<nsIDOMNode>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMNode>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMNode>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIDOMNode ) )); + assert_eq! (::std::mem::align_of::<nsIDOMNode>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIDOMNode ) )); } impl Clone for nsIDOMNode { fn clone(&self) -> Self { *self } @@ -9023,8 +11330,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMNodeList() { - assert_eq!(::std::mem::size_of::<nsIDOMNodeList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMNodeList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMNodeList>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsIDOMNodeList ) )); + assert_eq! (::std::mem::align_of::<nsIDOMNodeList>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsIDOMNodeList ) )); } impl Clone for nsIDOMNodeList { fn clone(&self) -> Self { *self } @@ -9043,8 +11352,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMClientRect() { - assert_eq!(::std::mem::size_of::<nsIDOMClientRect>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMClientRect>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMClientRect>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIDOMClientRect ) )); + assert_eq! (::std::mem::align_of::<nsIDOMClientRect>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMClientRect ) )); } impl Clone for nsIDOMClientRect { fn clone(&self) -> Self { *self } @@ -9063,8 +11375,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMClientRectList() { - assert_eq!(::std::mem::size_of::<nsIDOMClientRectList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMClientRectList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMClientRectList>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMClientRectList ) )); + assert_eq! (::std::mem::align_of::<nsIDOMClientRectList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMClientRectList ) )); } impl Clone for nsIDOMClientRectList { fn clone(&self) -> Self { *self } @@ -9083,8 +11399,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMStyleSheet() { - assert_eq!(::std::mem::size_of::<nsIDOMStyleSheet>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMStyleSheet>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMStyleSheet>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIDOMStyleSheet ) )); + assert_eq! (::std::mem::align_of::<nsIDOMStyleSheet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMStyleSheet ) )); } impl Clone for nsIDOMStyleSheet { fn clone(&self) -> Self { *self } @@ -9103,8 +11422,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMMediaList() { - assert_eq!(::std::mem::size_of::<nsIDOMMediaList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMMediaList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMMediaList>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIDOMMediaList ) )); + assert_eq! (::std::mem::align_of::<nsIDOMMediaList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMMediaList ) )); } impl Clone for nsIDOMMediaList { fn clone(&self) -> Self { *self } @@ -9126,8 +11448,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMEventTarget() { - assert_eq!(::std::mem::size_of::<nsIDOMEventTarget>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMEventTarget>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMEventTarget>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIDOMEventTarget ) + )); + assert_eq! (::std::mem::align_of::<nsIDOMEventTarget>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMEventTarget ) )); } impl Clone for nsIDOMEventTarget { fn clone(&self) -> Self { *self } @@ -9149,8 +11475,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMHTMLCollection() { - assert_eq!(::std::mem::size_of::<nsIDOMHTMLCollection>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMHTMLCollection>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMHTMLCollection>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMHTMLCollection ) )); + assert_eq! (::std::mem::align_of::<nsIDOMHTMLCollection>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMHTMLCollection ) )); } impl Clone for nsIDOMHTMLCollection { fn clone(&self) -> Self { *self } @@ -9175,8 +11505,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMCSSStyleSheet() { - assert_eq!(::std::mem::size_of::<nsIDOMCSSStyleSheet>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMCSSStyleSheet>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMCSSStyleSheet>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMCSSStyleSheet ) )); + assert_eq! (::std::mem::align_of::<nsIDOMCSSStyleSheet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMCSSStyleSheet ) )); } impl Clone for nsIDOMCSSStyleSheet { fn clone(&self) -> Self { *self } @@ -9201,8 +11535,12 @@ pub mod root { } #[test] fn bindgen_test_layout_mozIDOMWindowProxy() { - assert_eq!(::std::mem::size_of::<mozIDOMWindowProxy>() , 8usize); - assert_eq!(::std::mem::align_of::<mozIDOMWindowProxy>() , 8usize); + assert_eq!(::std::mem::size_of::<mozIDOMWindowProxy>() , 8usize , + concat ! ( "Size of: " , stringify ! ( mozIDOMWindowProxy ) + )); + assert_eq! (::std::mem::align_of::<mozIDOMWindowProxy>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( mozIDOMWindowProxy ) )); } impl Clone for mozIDOMWindowProxy { fn clone(&self) -> Self { *self } @@ -9277,7 +11615,8 @@ pub mod root { pub mFirstScrollTime: root::mozilla::TimeStamp, pub mInteractionTimeEnabled: bool, pub mLastStyleUpdateForAllAnimations: root::mozilla::TimeStamp, - pub _bitfield_1: u64, + pub _bitfield_1: [u8; 4usize], + pub _bitfield_2: [u8; 2usize], } pub type nsPresContext_FramePropertyTable = root::mozilla::FramePropertyTable; @@ -9294,9 +11633,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsPresContext_cycleCollection() { assert_eq!(::std::mem::size_of::<nsPresContext_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsPresContext_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsPresContext_cycleCollection ) + )); + assert_eq! (::std::mem::align_of::<nsPresContext_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsPresContext_cycleCollection ) )); } impl Clone for nsPresContext_cycleCollection { fn clone(&self) -> Self { *self } @@ -9330,9 +11673,33 @@ pub mod root { #[test] fn bindgen_test_layout_nsPresContext_InterruptPreventer() { assert_eq!(::std::mem::size_of::<nsPresContext_InterruptPreventer>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsPresContext_InterruptPreventer>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + nsPresContext_InterruptPreventer ) )); + assert_eq! (::std::mem::align_of::<nsPresContext_InterruptPreventer>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsPresContext_InterruptPreventer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) + . mCtx as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresContext_InterruptPreventer ) , "::" , stringify ! ( + mCtx ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) + . mInterruptsEnabled as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsPresContext_InterruptPreventer ) , "::" , stringify ! ( + mInterruptsEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext_InterruptPreventer ) ) + . mHasPendingInterrupt as * const _ as usize } , 9usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsPresContext_InterruptPreventer ) , "::" , stringify ! ( + mHasPendingInterrupt ) )); } extern "C" { #[link_name = "_ZN13nsPresContext21_cycleCollectorGlobalE"] @@ -9341,676 +11708,358 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPresContext() { - assert_eq!(::std::mem::size_of::<nsPresContext>() , 1264usize); - assert_eq!(::std::mem::align_of::<nsPresContext>() , 8usize); - } - impl nsPresContext { - #[inline] - pub fn mHasPendingInterrupt(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u64)) >> - 0u32) as u32) - } - } - #[inline] - pub fn set_mHasPendingInterrupt(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 0u32) & (1usize as u64); - } - #[inline] - pub fn mPendingInterruptFromTest(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u64)) >> - 1u32) as u32) - } - } - #[inline] - pub fn set_mPendingInterruptFromTest(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 1u32) & (2usize as u64); - } - #[inline] - pub fn mInterruptsEnabled(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u64)) >> - 2u32) as u32) - } - } - #[inline] - pub fn set_mInterruptsEnabled(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 2u32) & (4usize as u64); - } - #[inline] - pub fn mUseDocumentFonts(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u64)) >> - 3u32) as u32) - } - } - #[inline] - pub fn set_mUseDocumentFonts(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 3u32) & (8usize as u64); - } - #[inline] - pub fn mUseDocumentColors(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u64)) - >> 4u32) as u32) - } - } - #[inline] - pub fn set_mUseDocumentColors(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(16usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 4u32) & (16usize as u64); - } - #[inline] - pub fn mUnderlineLinks(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u64)) - >> 5u32) as u32) - } - } - #[inline] - pub fn set_mUnderlineLinks(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(32usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 5u32) & (32usize as u64); - } - #[inline] - pub fn mSendAfterPaintToContent(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (64usize as u64)) - >> 6u32) as u32) - } - } - #[inline] - pub fn set_mSendAfterPaintToContent(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(64usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 6u32) & (64usize as u64); - } - #[inline] - pub fn mUseFocusColors(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (128usize as u64)) - >> 7u32) as u32) - } - } - #[inline] - pub fn set_mUseFocusColors(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(128usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 7u32) & (128usize as u64); - } - #[inline] - pub fn mFocusRingOnAnything(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (256usize as u64)) - >> 8u32) as u32) - } - } - #[inline] - pub fn set_mFocusRingOnAnything(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(256usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 8u32) & (256usize as u64); - } - #[inline] - pub fn mFocusRingStyle(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (512usize as u64)) - >> 9u32) as u32) - } - } - #[inline] - pub fn set_mFocusRingStyle(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(512usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 9u32) & (512usize as u64); - } - #[inline] - pub fn mDrawImageBackground(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1024usize as u64)) - >> 10u32) as u32) - } - } - #[inline] - pub fn set_mDrawImageBackground(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1024usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 10u32) & (1024usize as u64); - } - #[inline] - pub fn mDrawColorBackground(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2048usize as u64)) - >> 11u32) as u32) - } - } - #[inline] - pub fn set_mDrawColorBackground(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2048usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 11u32) & (2048usize as u64); - } - #[inline] - pub fn mNeverAnimate(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4096usize as u64)) - >> 12u32) as u32) - } - } - #[inline] - pub fn set_mNeverAnimate(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4096usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 12u32) & (4096usize as u64); - } - #[inline] - pub fn mIsRenderingOnlySelection(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8192usize as u64)) - >> 13u32) as u32) - } - } - #[inline] - pub fn set_mIsRenderingOnlySelection(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8192usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 13u32) & (8192usize as u64); - } - #[inline] - pub fn mPaginated(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16384usize as u64)) >> 14u32) as - u32) - } - } - #[inline] - pub fn set_mPaginated(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(16384usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 14u32) & (16384usize as u64); - } - #[inline] - pub fn mCanPaginatedScroll(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (32768usize as u64)) >> 15u32) as - u32) - } - } - #[inline] - pub fn set_mCanPaginatedScroll(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(32768usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 15u32) & (32768usize as u64); - } - #[inline] - pub fn mDoScaledTwips(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (65536usize as u64)) >> 16u32) as - u32) - } - } - #[inline] - pub fn set_mDoScaledTwips(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(65536usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 16u32) & (65536usize as u64); - } - #[inline] - pub fn mIsRootPaginatedDocument(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (131072usize as u64)) >> 17u32) as - u32) - } - } - #[inline] - pub fn set_mIsRootPaginatedDocument(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(131072usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 17u32) & (131072usize as u64); - } - #[inline] - pub fn mPrefBidiDirection(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (262144usize as u64)) >> 18u32) as - u32) - } - } - #[inline] - pub fn set_mPrefBidiDirection(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(262144usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 18u32) & (262144usize as u64); - } - #[inline] - pub fn mPrefScrollbarSide(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1572864usize as u64)) >> 19u32) - as u32) - } - } - #[inline] - pub fn set_mPrefScrollbarSide(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1572864usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 19u32) & (1572864usize as u64); - } - #[inline] - pub fn mPendingSysColorChanged(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2097152usize as u64)) >> 21u32) - as u32) - } - } - #[inline] - pub fn set_mPendingSysColorChanged(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2097152usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 21u32) & (2097152usize as u64); - } - #[inline] - pub fn mPendingThemeChanged(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4194304usize as u64)) >> 22u32) - as u32) - } - } - #[inline] - pub fn set_mPendingThemeChanged(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4194304usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 22u32) & (4194304usize as u64); - } - #[inline] - pub fn mPendingUIResolutionChanged(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8388608usize as u64)) >> 23u32) - as u32) - } - } - #[inline] - pub fn set_mPendingUIResolutionChanged(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8388608usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 23u32) & (8388608usize as u64); - } - #[inline] - pub fn mPendingMediaFeatureValuesChanged(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (16777216usize as u64)) >> 24u32) - as u32) - } - } - #[inline] - pub fn set_mPendingMediaFeatureValuesChanged(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(16777216usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 24u32) & (16777216usize as u64); - } - #[inline] - pub fn mPrefChangePendingNeedsReflow(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (33554432usize as u64)) >> 25u32) - as u32) - } - } - #[inline] - pub fn set_mPrefChangePendingNeedsReflow(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(33554432usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 25u32) & (33554432usize as u64); - } - #[inline] - pub fn mIsEmulatingMedia(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (67108864usize as u64)) >> 26u32) - as u32) - } - } - #[inline] - pub fn set_mIsEmulatingMedia(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(67108864usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 26u32) & (67108864usize as u64); - } - #[inline] - pub fn mAllInvalidated(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (134217728usize as u64)) >> 27u32) - as u32) - } - } - #[inline] - pub fn set_mAllInvalidated(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(134217728usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 27u32) & (134217728usize as u64); - } - #[inline] - pub fn mIsGlyph(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (268435456usize as u64)) >> 28u32) - as u32) - } - } - #[inline] - pub fn set_mIsGlyph(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(268435456usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 28u32) & (268435456usize as u64); - } - #[inline] - pub fn mUsesRootEMUnits(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (536870912usize as u64)) >> 29u32) - as u32) - } - } - #[inline] - pub fn set_mUsesRootEMUnits(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(536870912usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 29u32) & (536870912usize as u64); - } - #[inline] - pub fn mUsesExChUnits(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1073741824usize as u64)) >> - 30u32) as u32) - } - } - #[inline] - pub fn set_mUsesExChUnits(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1073741824usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 30u32) & (1073741824usize as u64); - } - #[inline] - pub fn mUsesViewportUnits(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2147483648usize as u64)) >> - 31u32) as u32) - } - } - #[inline] - pub fn set_mUsesViewportUnits(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2147483648usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 31u32) & (2147483648usize as u64); - } - #[inline] - pub fn mPendingViewportChange(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4294967296usize as u64)) >> - 32u32) as u32) - } - } - #[inline] - pub fn set_mPendingViewportChange(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4294967296usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 32u32) & (4294967296usize as u64); - } - #[inline] - pub fn mCounterStylesDirty(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8589934592usize as u64)) >> - 33u32) as u32) - } - } - #[inline] - pub fn set_mCounterStylesDirty(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8589934592usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 33u32) & (8589934592usize as u64); - } - #[inline] - pub fn mPostedFlushCounterStyles(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (17179869184usize as u64)) >> - 34u32) as u32) - } - } - #[inline] - pub fn set_mPostedFlushCounterStyles(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(17179869184usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 34u32) & (17179869184usize as u64); - } - #[inline] - pub fn mSuppressResizeReflow(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (34359738368usize as u64)) >> - 35u32) as u32) - } - } - #[inline] - pub fn set_mSuppressResizeReflow(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(34359738368usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 35u32) & (34359738368usize as u64); - } - #[inline] - pub fn mIsVisual(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (68719476736usize as u64)) >> - 36u32) as u32) - } - } - #[inline] - pub fn set_mIsVisual(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(68719476736usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 36u32) & (68719476736usize as u64); - } - #[inline] - pub fn mFireAfterPaintEvents(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (137438953472usize as u64)) >> - 37u32) as u32) - } - } - #[inline] - pub fn set_mFireAfterPaintEvents(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(137438953472usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 37u32) & (137438953472usize as u64); - } - #[inline] - pub fn mIsChrome(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (274877906944usize as u64)) >> - 38u32) as u32) - } - } - #[inline] - pub fn set_mIsChrome(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(274877906944usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 38u32) & (274877906944usize as u64); - } - #[inline] - pub fn mIsChromeOriginImage(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (549755813888usize as u64)) >> - 39u32) as u32) - } - } - #[inline] - pub fn set_mIsChromeOriginImage(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(549755813888usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 39u32) & (549755813888usize as u64); - } - #[inline] - pub fn mPaintFlashing(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (1099511627776usize as u64)) >> - 40u32) as u32) - } - } - #[inline] - pub fn set_mPaintFlashing(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(1099511627776usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 40u32) & (1099511627776usize as u64); - } - #[inline] - pub fn mPaintFlashingInitialized(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (2199023255552usize as u64)) >> - 41u32) as u32) - } - } - #[inline] - pub fn set_mPaintFlashingInitialized(&mut self, - val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(2199023255552usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 41u32) & (2199023255552usize as u64); - } - #[inline] - pub fn mHasWarnedAboutPositionedTableParts(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4398046511104usize as u64)) >> - 42u32) as u32) - } - } - #[inline] - pub fn set_mHasWarnedAboutPositionedTableParts(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(4398046511104usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 42u32) & (4398046511104usize as u64); - } - #[inline] - pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius(&self) - -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (8796093022208usize as u64)) >> - 43u32) as u32) - } - } - #[inline] - pub fn set_mHasWarnedAboutTooLargeDashedOrDottedRadius(&mut self, - val: - ::std::os::raw::c_uint) { - self._bitfield_1 &= !(8796093022208usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 43u32) & (8796093022208usize as u64); - } - #[inline] - pub fn mQuirkSheetAdded(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (17592186044416usize as u64)) >> - 44u32) as u32) - } - } - #[inline] - pub fn set_mQuirkSheetAdded(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(17592186044416usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 44u32) & (17592186044416usize as u64); - } - #[inline] - pub fn mNeedsPrefUpdate(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (35184372088832usize as u64)) >> - 45u32) as u32) - } - } - #[inline] - pub fn set_mNeedsPrefUpdate(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(35184372088832usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 45u32) & (35184372088832usize as u64); - } - #[inline] - pub fn mHadNonBlankPaint(&self) -> ::std::os::raw::c_uint { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (70368744177664usize as u64)) >> - 46u32) as u32) - } - } - #[inline] - pub fn set_mHadNonBlankPaint(&mut self, val: ::std::os::raw::c_uint) { - self._bitfield_1 &= !(70368744177664usize as u64); - self._bitfield_1 |= - ((val as u32 as u64) << 46u32) & (70368744177664usize as u64); - } + assert_eq!(::std::mem::size_of::<nsPresContext>() , 1264usize , concat + ! ( "Size of: " , stringify ! ( nsPresContext ) )); + assert_eq! (::std::mem::align_of::<nsPresContext>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mRefCnt as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mType as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mShell as * const + _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mShell ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mDocument as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mDeviceContext as + * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mDeviceContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mEventManager as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mEventManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mRefreshDriver as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRefreshDriver ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mEffectCompositor + as * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mEffectCompositor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mTransitionManager as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTransitionManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mAnimationManager + as * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mAnimationManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mRestyleManager + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mRestyleManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mCounterStyleManager as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mCounterStyleManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mMedium as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mMedium ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mMediaEmulated as + * const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mMediaEmulated ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLinkHandler as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLinkHandler ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLanguage as * + const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLanguage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInflationDisabledForShrinkWrap as * const _ as usize } , + 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInflationDisabledForShrinkWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mContainer as * + const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mContainer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBaseMinFontSize + as * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBaseMinFontSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mTextZoom as * + const _ as usize } , 164usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTextZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFullZoom as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFullZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mOverrideDPPX as + * const _ as usize } , 172usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mOverrideDPPX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mLastFontInflationScreenSize as * const _ as usize } , + 176usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLastFontInflationScreenSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mCurAppUnitsPerDevPixel as * const _ as usize } , 192usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mCurAppUnitsPerDevPixel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mAutoQualityMinFontSizePixelsPref as * const _ as usize } + , 196usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mAutoQualityMinFontSizePixelsPref ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mTheme as * const + _ as usize } , 200usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTheme ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLangService as * + const _ as usize } , 208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLangService ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPrintSettings as + * const _ as usize } , 216usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPrintSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPrefChangedTimer + as * const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPrefChangedTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPropertyTable as + * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPropertyTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInvalidateRequestsSinceLastPaint as * const _ as usize } + , 288usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInvalidateRequestsSinceLastPaint ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mUndeliveredInvalidateRequestsBeforeLastPaint as * const _ + as usize } , 296usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( + mUndeliveredInvalidateRequestsBeforeLastPaint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mTextPerf as * + const _ as usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mTextPerf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mMissingFonts as + * const _ as usize } , 312usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mMissingFonts ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mVisibleArea as * + const _ as usize } , 320usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mVisibleArea ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPageSize as * + const _ as usize } , 336usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPageSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPageScale as * + const _ as usize } , 344usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPageScale ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mPPScale as * + const _ as usize } , 348usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mPPScale ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mDefaultColor as + * const _ as usize } , 352usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mDefaultColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBackgroundColor + as * const _ as usize } , 356usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBackgroundColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLinkColor as * + const _ as usize } , 360usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLinkColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mActiveLinkColor + as * const _ as usize } , 364usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mActiveLinkColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mVisitedLinkColor + as * const _ as usize } , 368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mVisitedLinkColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFocusBackgroundColor as * const _ as usize } , 372usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFocusBackgroundColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFocusTextColor + as * const _ as usize } , 376usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFocusTextColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBodyTextColor as + * const _ as usize } , 380usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBodyTextColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mViewportStyleScrollbar as * const _ as usize } , 384usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mViewportStyleScrollbar ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFocusRingWidth + as * const _ as usize } , 448usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFocusRingWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mExistThrottledUpdates as * const _ as usize } , 449usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mExistThrottledUpdates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mImageAnimationMode as * const _ as usize } , 450usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mImageAnimationMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mImageAnimationModePref as * const _ as usize } , 452usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mImageAnimationModePref ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mLangGroupFontPrefs as * const _ as usize } , 456usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLangGroupFontPrefs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mBorderWidthTable + as * const _ as usize } , 1152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mBorderWidthTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInterruptChecksToSkip as * const _ as usize } , 1164usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInterruptChecksToSkip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mElementsRestyled + as * const _ as usize } , 1168usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mElementsRestyled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFramesConstructed as * const _ as usize } , 1176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFramesConstructed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFramesReflowed + as * const _ as usize } , 1184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFramesReflowed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mReflowStartTime + as * const _ as usize } , 1192usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mReflowStartTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstPaintTime + as * const _ as usize } , 1200usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstPaintTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstClickTime + as * const _ as usize } , 1208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstClickTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstKeyTime as + * const _ as usize } , 1216usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstKeyTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFirstMouseMoveTime as * const _ as usize } , 1224usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstMouseMoveTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mFirstScrollTime + as * const _ as usize } , 1232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFirstScrollTime ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mInteractionTimeEnabled as * const _ as usize } , + 1240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mInteractionTimeEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mLastStyleUpdateForAllAnimations as * const _ as usize } , + 1248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLastStyleUpdateForAllAnimations ) + )); } #[repr(C)] #[derive(Debug)] @@ -10026,8 +12075,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPIDOMWindowOuter() { - assert_eq!(::std::mem::size_of::<nsPIDOMWindowOuter>() , 224usize); - assert_eq!(::std::mem::align_of::<nsPIDOMWindowOuter>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPIDOMWindowOuter>() , 224usize , + concat ! ( "Size of: " , stringify ! ( nsPIDOMWindowOuter ) + )); + assert_eq! (::std::mem::align_of::<nsPIDOMWindowOuter>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPIDOMWindowOuter ) )); } pub type PLDHashNumber = u32; #[repr(C)] @@ -10048,10 +12101,25 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashTable_EntryStore() { - assert_eq!(::std::mem::size_of::<PLDHashTable_EntryStore>() , - 16usize); - assert_eq!(::std::mem::align_of::<PLDHashTable_EntryStore>() , - 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTable_EntryStore>() , 16usize + , concat ! ( + "Size of: " , stringify ! ( PLDHashTable_EntryStore ) )); + assert_eq! (::std::mem::align_of::<PLDHashTable_EntryStore>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( PLDHashTable_EntryStore ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_EntryStore ) ) . + mEntryStore as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_EntryStore ) , "::" , stringify ! ( + mEntryStore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_EntryStore ) ) . + mGeneration as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_EntryStore ) , "::" , stringify ! ( + mGeneration ) )); } #[repr(C)] #[derive(Debug)] @@ -10066,8 +12134,56 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashTable_Iterator() { - assert_eq!(::std::mem::size_of::<PLDHashTable_Iterator>() , 48usize); - assert_eq!(::std::mem::align_of::<PLDHashTable_Iterator>() , 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTable_Iterator>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( PLDHashTable_Iterator ) )); + assert_eq! (::std::mem::align_of::<PLDHashTable_Iterator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PLDHashTable_Iterator ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mTable as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mStart as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mStart ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mLimit as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mLimit ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mCurrent + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mCurrent ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . mNexts as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mNexts ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . + mNextsLimit as * const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( mNextsLimit + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable_Iterator ) ) . + mHaveRemoved as * const _ as usize } , 40usize , concat ! + ( + "Alignment of field: " , stringify ! ( + PLDHashTable_Iterator ) , "::" , stringify ! ( + mHaveRemoved ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -10081,8 +12197,40 @@ pub mod root { pub const PLDHashTable_kCollisionFlag: root::PLDHashNumber = 1; #[test] fn bindgen_test_layout_PLDHashTable() { - assert_eq!(::std::mem::size_of::<PLDHashTable>() , 40usize); - assert_eq!(::std::mem::align_of::<PLDHashTable>() , 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTable>() , 40usize , concat ! + ( "Size of: " , stringify ! ( PLDHashTable ) )); + assert_eq! (::std::mem::align_of::<PLDHashTable>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLDHashTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mOps as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mHashShift as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mHashShift ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mEntrySize as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mEntrySize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mEntryCount as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mEntryCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mRemovedCount as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mRemovedCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTable ) ) . mEntryStore as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTable ) , + "::" , stringify ! ( mEntryStore ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -10095,8 +12243,36 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashTableOps() { - assert_eq!(::std::mem::size_of::<PLDHashTableOps>() , 40usize); - assert_eq!(::std::mem::align_of::<PLDHashTableOps>() , 8usize); + assert_eq!(::std::mem::size_of::<PLDHashTableOps>() , 40usize , concat + ! ( "Size of: " , stringify ! ( PLDHashTableOps ) )); + assert_eq! (::std::mem::align_of::<PLDHashTableOps>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PLDHashTableOps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . hashKey as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( hashKey ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . matchEntry as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( matchEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . moveEntry as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( moveEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . clearEntry as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( clearEntry ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashTableOps ) ) . initEntry as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashTableOps ) , + "::" , stringify ! ( initEntry ) )); } impl Clone for PLDHashTableOps { fn clone(&self) -> Self { *self } @@ -10108,8 +12284,16 @@ pub mod root { } #[test] fn bindgen_test_layout_PLDHashEntryHdr() { - assert_eq!(::std::mem::size_of::<PLDHashEntryHdr>() , 4usize); - assert_eq!(::std::mem::align_of::<PLDHashEntryHdr>() , 4usize); + assert_eq!(::std::mem::size_of::<PLDHashEntryHdr>() , 4usize , concat + ! ( "Size of: " , stringify ! ( PLDHashEntryHdr ) )); + assert_eq! (::std::mem::align_of::<PLDHashEntryHdr>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( PLDHashEntryHdr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLDHashEntryHdr ) ) . mKeyHash as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLDHashEntryHdr ) , + "::" , stringify ! ( mKeyHash ) )); } impl Clone for PLDHashEntryHdr { fn clone(&self) -> Self { *self } @@ -10246,8 +12430,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIContent() { - assert_eq!(::std::mem::size_of::<nsIContent>() , 96usize); - assert_eq!(::std::mem::align_of::<nsIContent>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIContent>() , 96usize , concat ! ( + "Size of: " , stringify ! ( nsIContent ) )); + assert_eq! (::std::mem::align_of::<nsIContent>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIContent ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -10275,8 +12461,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIWeakReference() { - assert_eq!(::std::mem::size_of::<nsIWeakReference>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIWeakReference>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIWeakReference>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsIWeakReference ) )); + assert_eq! (::std::mem::align_of::<nsIWeakReference>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIWeakReference ) )); } impl Clone for nsIWeakReference { fn clone(&self) -> Self { *self } @@ -10350,8 +12539,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIChannel() { - assert_eq!(::std::mem::size_of::<nsIChannel>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIChannel>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIChannel>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIChannel ) )); + assert_eq! (::std::mem::align_of::<nsIChannel>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIChannel ) )); } impl Clone for nsIChannel { fn clone(&self) -> Self { *self } @@ -10370,8 +12561,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILoadContext() { - assert_eq!(::std::mem::size_of::<nsILoadContext>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILoadContext>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILoadContext>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsILoadContext ) )); + assert_eq! (::std::mem::align_of::<nsILoadContext>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsILoadContext ) )); } impl Clone for nsILoadContext { fn clone(&self) -> Self { *self } @@ -10390,8 +12583,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIInterfaceRequestor() { - assert_eq!(::std::mem::size_of::<nsIInterfaceRequestor>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIInterfaceRequestor>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIInterfaceRequestor>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIInterfaceRequestor ) )); + assert_eq! (::std::mem::align_of::<nsIInterfaceRequestor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIInterfaceRequestor ) + )); } impl Clone for nsIInterfaceRequestor { fn clone(&self) -> Self { *self } @@ -10410,8 +12608,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILoadGroup() { - assert_eq!(::std::mem::size_of::<nsILoadGroup>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILoadGroup>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILoadGroup>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsILoadGroup ) )); + assert_eq! (::std::mem::align_of::<nsILoadGroup>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsILoadGroup ) )); } impl Clone for nsILoadGroup { fn clone(&self) -> Self { *self } @@ -10477,8 +12677,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIRequest() { - assert_eq!(::std::mem::size_of::<nsIRequest>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIRequest>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIRequest>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIRequest ) )); + assert_eq! (::std::mem::align_of::<nsIRequest>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIRequest ) )); } impl Clone for nsIRequest { fn clone(&self) -> Self { *self } @@ -10513,6 +12715,7 @@ pub mod root { root::mozilla::dom::OwningNodeOrString; pub type nsINode_TextOrElementOrDocument = root::mozilla::dom::TextOrElementOrDocument; + pub use self::super::root::mozilla::dom::CallerType as nsINode_CallerType; pub type nsINode_ErrorResult = root::mozilla::ErrorResult; #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -10594,8 +12797,33 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINode_nsSlots() { - assert_eq!(::std::mem::size_of::<nsINode_nsSlots>() , 48usize); - assert_eq!(::std::mem::align_of::<nsINode_nsSlots>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINode_nsSlots>() , 48usize , concat + ! ( "Size of: " , stringify ! ( nsINode_nsSlots ) )); + assert_eq! (::std::mem::align_of::<nsINode_nsSlots>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsINode_nsSlots ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . + mMutationObservers as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mMutationObservers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . mChildNodes as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mChildNodes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . mWeakReference + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mWeakReference ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode_nsSlots ) ) . + mEditableDescendantCount as * const _ as usize } , 40usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsINode_nsSlots ) , + "::" , stringify ! ( mEditableDescendantCount ) )); } #[repr(u32)] /** @@ -10646,16 +12874,71 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINode__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_1>() , 8usize); - assert_eq!(::std::mem::align_of::<nsINode__bindgen_ty_1>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINode__bindgen_ty_1>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsINode__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsINode__bindgen_ty_1>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsINode__bindgen_ty_1 ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode__bindgen_ty_1 ) ) . + mPrimaryFrame as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsINode__bindgen_ty_1 ) , "::" , stringify ! ( + mPrimaryFrame ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode__bindgen_ty_1 ) ) . + mSubtreeRoot as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsINode__bindgen_ty_1 ) , "::" , stringify ! ( + mSubtreeRoot ) )); } impl Clone for nsINode__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsINode() { - assert_eq!(::std::mem::size_of::<nsINode>() , 96usize); - assert_eq!(::std::mem::align_of::<nsINode>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINode>() , 96usize , concat ! ( + "Size of: " , stringify ! ( nsINode ) )); + assert_eq! (::std::mem::align_of::<nsINode>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsINode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mNodeInfo as * const _ + as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mParent as * const _ as + usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mParent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mBoolFlags as * const _ + as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mBoolFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mNextSibling as * const + _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mNextSibling ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mPreviousSibling as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mPreviousSibling ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mFirstChild as * const + _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mFirstChild ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsINode ) ) . mSlots as * const _ as + usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsINode ) , "::" , + stringify ! ( mSlots ) )); } pub type nsSecurityFlags = u32; #[repr(C)] @@ -10756,8 +13039,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILoadInfo() { - assert_eq!(::std::mem::size_of::<nsILoadInfo>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILoadInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILoadInfo>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsILoadInfo ) )); + assert_eq! (::std::mem::align_of::<nsILoadInfo>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsILoadInfo ) )); } impl Clone for nsILoadInfo { fn clone(&self) -> Self { *self } @@ -10779,8 +13064,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIStreamListener() { - assert_eq!(::std::mem::size_of::<nsIStreamListener>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIStreamListener>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIStreamListener>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIStreamListener ) + )); + assert_eq! (::std::mem::align_of::<nsIStreamListener>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIStreamListener ) )); } impl Clone for nsIStreamListener { fn clone(&self) -> Self { *self } @@ -10813,17 +13102,46 @@ pub mod root { #[test] fn bindgen_test_layout_nsCOMArray_base_nsCOMArrayComparatorContext() { assert_eq!(::std::mem::size_of::<nsCOMArray_base_nsCOMArrayComparatorContext>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsCOMArray_base_nsCOMArrayComparatorContext>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) )); + assert_eq! (::std::mem::align_of::<nsCOMArray_base_nsCOMArrayComparatorContext>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCOMArray_base_nsCOMArrayComparatorContext ) + ) . mComparatorFunc as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) , "::" , + stringify ! ( mComparatorFunc ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsCOMArray_base_nsCOMArrayComparatorContext ) + ) . mData as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCOMArray_base_nsCOMArrayComparatorContext ) , "::" , + stringify ! ( mData ) )); } impl Clone for nsCOMArray_base_nsCOMArrayComparatorContext { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCOMArray_base() { - assert_eq!(::std::mem::size_of::<nsCOMArray_base>() , 8usize); - assert_eq!(::std::mem::align_of::<nsCOMArray_base>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCOMArray_base>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsCOMArray_base ) )); + assert_eq! (::std::mem::align_of::<nsCOMArray_base>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCOMArray_base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCOMArray_base ) ) . mArray as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCOMArray_base ) , + "::" , stringify ! ( mArray ) )); } #[repr(C)] #[derive(Debug)] @@ -10868,9 +13186,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaList_cycleCollection() { assert_eq!(::std::mem::size_of::<nsMediaList_cycleCollection>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsMediaList_cycleCollection>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsMediaList_cycleCollection ) + )); + assert_eq! (::std::mem::align_of::<nsMediaList_cycleCollection>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaList_cycleCollection ) )); } impl Clone for nsMediaList_cycleCollection { fn clone(&self) -> Self { *self } @@ -10882,8 +13204,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMediaList() { - assert_eq!(::std::mem::size_of::<nsMediaList>() , 56usize); - assert_eq!(::std::mem::align_of::<nsMediaList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaList>() , 56usize , concat ! ( + "Size of: " , stringify ! ( nsMediaList ) )); + assert_eq! (::std::mem::align_of::<nsMediaList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsMediaList ) )); } #[repr(C)] #[derive(Debug)] @@ -10946,8 +13270,23 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrValue_EnumTable() { - assert_eq!(::std::mem::size_of::<nsAttrValue_EnumTable>() , 16usize); - assert_eq!(::std::mem::align_of::<nsAttrValue_EnumTable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrValue_EnumTable>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsAttrValue_EnumTable ) )); + assert_eq! (::std::mem::align_of::<nsAttrValue_EnumTable>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAttrValue_EnumTable ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . tag as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrValue_EnumTable ) , "::" , stringify ! ( tag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrValue_EnumTable ) ) . value as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrValue_EnumTable ) , "::" , stringify ! ( value ) )); } impl Clone for nsAttrValue_EnumTable { fn clone(&self) -> Self { *self } @@ -10967,8 +13306,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrValue() { - assert_eq!(::std::mem::size_of::<nsAttrValue>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAttrValue>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrValue>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsAttrValue ) )); + assert_eq! (::std::mem::align_of::<nsAttrValue>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsAttrValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrValue ) ) . mBits as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAttrValue ) , + "::" , stringify ! ( mBits ) )); } /** * Information details about a characterdata change. Basically, we @@ -11034,19 +13380,69 @@ pub mod root { #[test] fn bindgen_test_layout_CharacterDataChangeInfo_Details() { assert_eq!(::std::mem::size_of::<CharacterDataChangeInfo_Details>() , - 16usize); - assert_eq!(::std::mem::align_of::<CharacterDataChangeInfo_Details>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( CharacterDataChangeInfo_Details + ) )); + assert_eq! (::std::mem::align_of::<CharacterDataChangeInfo_Details>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CharacterDataChangeInfo_Details ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo_Details ) ) . + mType as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo_Details ) , "::" , stringify ! ( + mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo_Details ) ) . + mNextSibling as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo_Details ) , "::" , stringify ! ( + mNextSibling ) )); } impl Clone for CharacterDataChangeInfo_Details { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_CharacterDataChangeInfo() { - assert_eq!(::std::mem::size_of::<CharacterDataChangeInfo>() , - 24usize); - assert_eq!(::std::mem::align_of::<CharacterDataChangeInfo>() , - 8usize); + assert_eq!(::std::mem::size_of::<CharacterDataChangeInfo>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( CharacterDataChangeInfo ) )); + assert_eq! (::std::mem::align_of::<CharacterDataChangeInfo>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( CharacterDataChangeInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . mAppend + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( mAppend ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mChangeStart as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( + mChangeStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mChangeEnd as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( + mChangeEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mReplaceLength as * const _ as usize } , 12usize , concat + ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( + mReplaceLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CharacterDataChangeInfo ) ) . + mDetails as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CharacterDataChangeInfo ) , "::" , stringify ! ( mDetails + ) )); } impl Clone for CharacterDataChangeInfo { fn clone(&self) -> Self { *self } @@ -11079,8 +13475,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIMutationObserver() { - assert_eq!(::std::mem::size_of::<nsIMutationObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIMutationObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIMutationObserver>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIMutationObserver ) )); + assert_eq! (::std::mem::align_of::<nsIMutationObserver>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIMutationObserver ) )); } impl Clone for nsIMutationObserver { fn clone(&self) -> Self { *self } @@ -11100,8 +13500,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDocumentObserver() { - assert_eq!(::std::mem::size_of::<nsIDocumentObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDocumentObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDocumentObserver>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDocumentObserver ) )); + assert_eq! (::std::mem::align_of::<nsIDocumentObserver>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDocumentObserver ) )); } impl Clone for nsIDocumentObserver { fn clone(&self) -> Self { *self } @@ -11120,8 +13524,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIRequestObserver() { - assert_eq!(::std::mem::size_of::<nsIRequestObserver>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIRequestObserver>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIRequestObserver>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIRequestObserver ) + )); + assert_eq! (::std::mem::align_of::<nsIRequestObserver>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIRequestObserver ) )); } impl Clone for nsIRequestObserver { fn clone(&self) -> Self { *self } @@ -11149,9 +13557,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsNodeInfoManager_cycleCollection() { assert_eq!(::std::mem::size_of::<nsNodeInfoManager_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsNodeInfoManager_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsNodeInfoManager_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<nsNodeInfoManager_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsNodeInfoManager_cycleCollection ) )); } impl Clone for nsNodeInfoManager_cycleCollection { fn clone(&self) -> Self { *self } @@ -11164,8 +13576,67 @@ pub mod root { } #[test] fn bindgen_test_layout_nsNodeInfoManager() { - assert_eq!(::std::mem::size_of::<nsNodeInfoManager>() , 80usize); - assert_eq!(::std::mem::align_of::<nsNodeInfoManager>() , 8usize); + assert_eq!(::std::mem::size_of::<nsNodeInfoManager>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) + )); + assert_eq! (::std::mem::align_of::<nsNodeInfoManager>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsNodeInfoManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mNodeInfoHash + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mNodeInfoHash ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mDocument as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mNonDocumentNodeInfos as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mNonDocumentNodeInfos ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mPrincipal as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mDefaultPrincipal as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mDefaultPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mTextNodeInfo + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mTextNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mCommentNodeInfo as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mCommentNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mDocumentNodeInfo as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mDocumentNodeInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mBindingManager as * const _ as usize } , 72usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mBindingManager ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -11196,8 +13667,16 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPropertyOwner() { - assert_eq!(::std::mem::size_of::<nsPropertyOwner>() , 8usize); - assert_eq!(::std::mem::align_of::<nsPropertyOwner>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPropertyOwner>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsPropertyOwner ) )); + assert_eq! (::std::mem::align_of::<nsPropertyOwner>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPropertyOwner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPropertyOwner ) ) . mObject as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPropertyOwner ) , + "::" , stringify ! ( mObject ) )); } impl Clone for nsPropertyOwner { fn clone(&self) -> Self { *self } @@ -11212,8 +13691,16 @@ pub mod root { pub struct nsPropertyTable_PropertyList([u8; 0]); #[test] fn bindgen_test_layout_nsPropertyTable() { - assert_eq!(::std::mem::size_of::<nsPropertyTable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsPropertyTable>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPropertyTable>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsPropertyTable ) )); + assert_eq! (::std::mem::align_of::<nsPropertyTable>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPropertyTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPropertyTable ) ) . mPropertyList + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPropertyTable ) , + "::" , stringify ! ( mPropertyList ) )); } #[repr(C)] #[derive(Debug)] @@ -11231,9 +13718,25 @@ pub mod root { #[test] fn bindgen_test_layout_nsAttrAndChildArray_InternalAttr() { assert_eq!(::std::mem::size_of::<nsAttrAndChildArray_InternalAttr>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsAttrAndChildArray_InternalAttr>() - , 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) )); + assert_eq! (::std::mem::align_of::<nsAttrAndChildArray_InternalAttr>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) + . mName as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( + mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_InternalAttr ) ) + . mValue as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_InternalAttr ) , "::" , stringify ! ( + mValue ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -11245,18 +13748,55 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrAndChildArray_Impl() { - assert_eq!(::std::mem::size_of::<nsAttrAndChildArray_Impl>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsAttrAndChildArray_Impl>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsAttrAndChildArray_Impl>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( nsAttrAndChildArray_Impl ) )); + assert_eq! (::std::mem::align_of::<nsAttrAndChildArray_Impl>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsAttrAndChildArray_Impl ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mAttrAndChildCount as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( + mAttrAndChildCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mBufferSize as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( + mBufferSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mMappedAttrs as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( + mMappedAttrs ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray_Impl ) ) . + mBuffer as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsAttrAndChildArray_Impl ) , "::" , stringify ! ( mBuffer + ) )); } impl Clone for nsAttrAndChildArray_Impl { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsAttrAndChildArray() { - assert_eq!(::std::mem::size_of::<nsAttrAndChildArray>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAttrAndChildArray>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrAndChildArray>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsAttrAndChildArray ) )); + assert_eq! (::std::mem::align_of::<nsAttrAndChildArray>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsAttrAndChildArray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrAndChildArray ) ) . mImpl as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAttrAndChildArray + ) , "::" , stringify ! ( mImpl ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -11288,9 +13828,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsDOMAttributeMap_cycleCollection() { assert_eq!(::std::mem::size_of::<nsDOMAttributeMap_cycleCollection>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsDOMAttributeMap_cycleCollection>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsDOMAttributeMap_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<nsDOMAttributeMap_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsDOMAttributeMap_cycleCollection ) )); } impl Clone for nsDOMAttributeMap_cycleCollection { fn clone(&self) -> Self { *self } @@ -11303,8 +13847,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsDOMAttributeMap() { - assert_eq!(::std::mem::size_of::<nsDOMAttributeMap>() , 88usize); - assert_eq!(::std::mem::align_of::<nsDOMAttributeMap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsDOMAttributeMap>() , 88usize , + concat ! ( "Size of: " , stringify ! ( nsDOMAttributeMap ) + )); + assert_eq! (::std::mem::align_of::<nsDOMAttributeMap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsDOMAttributeMap ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -11330,8 +13878,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsINodeList() { - assert_eq!(::std::mem::size_of::<nsINodeList>() , 32usize); - assert_eq!(::std::mem::align_of::<nsINodeList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsINodeList>() , 32usize , concat ! ( + "Size of: " , stringify ! ( nsINodeList ) )); + assert_eq! (::std::mem::align_of::<nsINodeList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsINodeList ) )); } /** * Presentation shell interface. Presentation shells are the @@ -11367,7 +13917,8 @@ pub mod root { pub mResolution: [u64; 2usize], pub mSelectionFlags: i16, pub mRenderFlags: root::nsIPresShell_RenderFlags, - pub _bitfield_1: u16, + pub _bitfield_1: u8, + pub _bitfield_2: u8, pub mPresShellId: u32, pub mChangedScopeStyleRoots: [u64; 3usize], pub mFontSizeInflationEmPerLine: u32, @@ -11462,9 +14013,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPresShell_ScrollAxis() { - assert_eq!(::std::mem::size_of::<nsIPresShell_ScrollAxis>() , 4usize); - assert_eq!(::std::mem::align_of::<nsIPresShell_ScrollAxis>() , - 4usize); + assert_eq!(::std::mem::size_of::<nsIPresShell_ScrollAxis>() , 4usize , + concat ! ( + "Size of: " , stringify ! ( nsIPresShell_ScrollAxis ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell_ScrollAxis>() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( nsIPresShell_ScrollAxis ) + )); } impl Clone for nsIPresShell_ScrollAxis { fn clone(&self) -> Self { *self } @@ -11593,9 +14148,27 @@ pub mod root { #[test] fn bindgen_test_layout_nsIPresShell_PointerCaptureInfo() { assert_eq!(::std::mem::size_of::<nsIPresShell_PointerCaptureInfo>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsIPresShell_PointerCaptureInfo>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsIPresShell_PointerCaptureInfo + ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell_PointerCaptureInfo>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIPresShell_PointerCaptureInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerCaptureInfo ) ) . + mPendingContent as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerCaptureInfo ) , "::" , stringify ! ( + mPendingContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerCaptureInfo ) ) . + mOverrideContent as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerCaptureInfo ) , "::" , stringify ! ( + mOverrideContent ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -11607,10 +14180,39 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPresShell_PointerInfo() { - assert_eq!(::std::mem::size_of::<nsIPresShell_PointerInfo>() , - 6usize); - assert_eq!(::std::mem::align_of::<nsIPresShell_PointerInfo>() , - 2usize); + assert_eq!(::std::mem::size_of::<nsIPresShell_PointerInfo>() , 6usize + , concat ! ( + "Size of: " , stringify ! ( nsIPresShell_PointerInfo ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell_PointerInfo>() , + 2usize , concat ! ( + "Alignment of " , stringify ! ( nsIPresShell_PointerInfo ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mPointerType as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mPointerType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mActiveState as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mActiveState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mPrimaryState as * const _ as usize } , 3usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mPrimaryState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell_PointerInfo ) ) . + mPreventMouseEventByContent as * const _ as usize } , + 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsIPresShell_PointerInfo ) , "::" , stringify ! ( + mPreventMouseEventByContent ) )); } impl Clone for nsIPresShell_PointerInfo { fn clone(&self) -> Self { *self } @@ -11645,180 +14247,177 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIPresShell() { - assert_eq!(::std::mem::size_of::<nsIPresShell>() , 344usize); - assert_eq!(::std::mem::align_of::<nsIPresShell>() , 8usize); - } - impl nsIPresShell { - #[inline] - pub fn mStylesHaveChanged(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u16)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mStylesHaveChanged(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 0u32) & (1usize as u16); - } - #[inline] - pub fn mDidInitialize(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u16)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mDidInitialize(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 1u32) & (2usize as u16); - } - #[inline] - pub fn mIsDestroying(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u16)) >> - 2u32) as u8) - } - } - #[inline] - pub fn set_mIsDestroying(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 2u32) & (4usize as u16); - } - #[inline] - pub fn mIsReflowing(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u16)) >> - 3u32) as u8) - } - } - #[inline] - pub fn set_mIsReflowing(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 3u32) & (8usize as u16); - } - #[inline] - pub fn mPaintingSuppressed(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u16)) - >> 4u32) as u8) - } - } - #[inline] - pub fn set_mPaintingSuppressed(&mut self, val: bool) { - self._bitfield_1 &= !(16usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 4u32) & (16usize as u16); - } - #[inline] - pub fn mIsThemeSupportDisabled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u16)) - >> 5u32) as u8) - } - } - #[inline] - pub fn set_mIsThemeSupportDisabled(&mut self, val: bool) { - self._bitfield_1 &= !(32usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 5u32) & (32usize as u16); - } - #[inline] - pub fn mIsActive(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (64usize as u16)) - >> 6u32) as u8) - } - } - #[inline] - pub fn set_mIsActive(&mut self, val: bool) { - self._bitfield_1 &= !(64usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 6u32) & (64usize as u16); - } - #[inline] - pub fn mFrozen(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (128usize as u16)) - >> 7u32) as u8) - } - } - #[inline] - pub fn set_mFrozen(&mut self, val: bool) { - self._bitfield_1 &= !(128usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 7u32) & (128usize as u16); - } - #[inline] - pub fn mIsFirstPaint(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (256usize as u16)) - >> 8u32) as u8) - } - } - #[inline] - pub fn set_mIsFirstPaint(&mut self, val: bool) { - self._bitfield_1 &= !(256usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 8u32) & (256usize as u16); - } - #[inline] - pub fn mObservesMutationsForPrint(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (512usize as u16)) - >> 9u32) as u8) - } - } - #[inline] - pub fn set_mObservesMutationsForPrint(&mut self, val: bool) { - self._bitfield_1 &= !(512usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 9u32) & (512usize as u16); - } - #[inline] - pub fn mReflowScheduled(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1024usize as u16)) - >> 10u32) as u8) - } - } - #[inline] - pub fn set_mReflowScheduled(&mut self, val: bool) { - self._bitfield_1 &= !(1024usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 10u32) & (1024usize as u16); - } - #[inline] - pub fn mSuppressInterruptibleReflows(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2048usize as u16)) - >> 11u32) as u8) - } - } - #[inline] - pub fn set_mSuppressInterruptibleReflows(&mut self, val: bool) { - self._bitfield_1 &= !(2048usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 11u32) & (2048usize as u16); - } - #[inline] - pub fn mScrollPositionClampingScrollPortSizeSet(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4096usize as u16)) - >> 12u32) as u8) - } - } - #[inline] - pub fn set_mScrollPositionClampingScrollPortSizeSet(&mut self, - val: bool) { - self._bitfield_1 &= !(4096usize as u16); - self._bitfield_1 |= - ((val as u8 as u16) << 12u32) & (4096usize as u16); - } + assert_eq!(::std::mem::size_of::<nsIPresShell>() , 344usize , concat ! + ( "Size of: " , stringify ! ( nsIPresShell ) )); + assert_eq! (::std::mem::align_of::<nsIPresShell>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIPresShell ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mDocument as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mDocument ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPresContext as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mStyleSet as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mStyleSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mFrameConstructor + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFrameConstructor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mViewManager as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mViewManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mFrameArena as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFrameArena ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mSelection as * + const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mSelection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mFrameManager as * + const _ as usize } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFrameManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mForwardingContainer as * const _ as usize } , 200usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mForwardingContainer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mHiddenInvalidationObserverRefreshDriver as * const _ as + usize } , 208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( + mHiddenInvalidationObserverRefreshDriver ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mDocAccessible as + * const _ as usize } , 216usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mDocAccessible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mReflowContinueTimer as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mReflowContinueTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPaintCount as * + const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPaintCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mScrollPositionClampingScrollPortSize as * const _ as + usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mScrollPositionClampingScrollPortSize + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mWeakFrames as * + const _ as usize } , 248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mWeakFrames ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mCanvasBackgroundColor as * const _ as usize } , 256usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mCanvasBackgroundColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mResolution as * + const _ as usize } , 264usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mResolution ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mSelectionFlags as + * const _ as usize } , 280usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mSelectionFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mRenderFlags as * + const _ as usize } , 282usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mRenderFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPresShellId as * + const _ as usize } , 288usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPresShellId ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mChangedScopeStyleRoots as * const _ as usize } , 296usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mChangedScopeStyleRoots ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationEmPerLine as * const _ as usize } , + 320usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationEmPerLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationMinTwips as * const _ as usize } , + 324usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationMinTwips ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationLineThreshold as * const _ as usize } , + 328usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationLineThreshold ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationForceEnabled as * const _ as usize } , + 332usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationForceEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationDisabledInMasterProcess as * const _ as + usize } , 333usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( + mFontSizeInflationDisabledInMasterProcess ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationEnabled as * const _ as usize } , + 334usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mPaintingIsFrozen + as * const _ as usize } , 335usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mPaintingIsFrozen ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . + mFontSizeInflationEnabledIsDirty as * const _ as usize } , + 336usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mFontSizeInflationEnabledIsDirty ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIPresShell ) ) . mIsNeverPainting + as * const _ as usize } , 337usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIPresShell ) , + "::" , stringify ! ( mIsNeverPainting ) )); } /** * A class that implements nsIWeakReference @@ -11834,69 +14433,83 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsNodeWeakReference() { - assert_eq!(::std::mem::size_of::<nsNodeWeakReference>() , 24usize); - assert_eq!(::std::mem::align_of::<nsNodeWeakReference>() , 8usize); + assert_eq!(::std::mem::size_of::<nsNodeWeakReference>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsNodeWeakReference ) )); + assert_eq! (::std::mem::align_of::<nsNodeWeakReference>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsNodeWeakReference ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeWeakReference ) ) . mRefCnt as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeWeakReference + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeWeakReference ) ) . mNode as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeWeakReference + ) , "::" , stringify ! ( mNode ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct nsDOMMutationObserver([u8; 0]); - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_IS_EDITABLE; - pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_MAY_HAVE_CLASS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_2; - pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_118 = - _bindgen_ty_118::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_IS_EDITABLE; + pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_MAY_HAVE_CLASS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_SHARED_RESTYLE_BIT_2; + pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_91 = + _bindgen_ty_91::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_118 { + pub enum _bindgen_ty_91 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -11939,8 +14552,10 @@ pub mod root { pub type gfxSize_Super = [u64; 2usize]; #[test] fn bindgen_test_layout_gfxSize() { - assert_eq!(::std::mem::size_of::<gfxSize>() , 16usize); - assert_eq!(::std::mem::align_of::<gfxSize>() , 8usize); + assert_eq!(::std::mem::size_of::<gfxSize>() , 16usize , concat ! ( + "Size of: " , stringify ! ( gfxSize ) )); + assert_eq! (::std::mem::align_of::<gfxSize>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( gfxSize ) )); } impl Clone for gfxSize { fn clone(&self) -> Self { *self } @@ -11955,8 +14570,23 @@ pub mod root { } #[test] fn bindgen_test_layout_pixman_region32_data() { - assert_eq!(::std::mem::size_of::<pixman_region32_data>() , 16usize); - assert_eq!(::std::mem::align_of::<pixman_region32_data>() , 8usize); + assert_eq!(::std::mem::size_of::<pixman_region32_data>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( pixman_region32_data ) )); + assert_eq! (::std::mem::align_of::<pixman_region32_data>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( pixman_region32_data ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32_data ) ) . size as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + pixman_region32_data ) , "::" , stringify ! ( size ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32_data ) ) . numRects + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + pixman_region32_data ) , "::" , stringify ! ( numRects ) + )); } impl Clone for pixman_region32_data { fn clone(&self) -> Self { *self } @@ -11972,8 +14602,30 @@ pub mod root { } #[test] fn bindgen_test_layout_pixman_box32() { - assert_eq!(::std::mem::size_of::<pixman_box32>() , 16usize); - assert_eq!(::std::mem::align_of::<pixman_box32>() , 4usize); + assert_eq!(::std::mem::size_of::<pixman_box32>() , 16usize , concat ! + ( "Size of: " , stringify ! ( pixman_box32 ) )); + assert_eq! (::std::mem::align_of::<pixman_box32>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( pixman_box32 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . x1 as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( x1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . y1 as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( y1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . x2 as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( x2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_box32 ) ) . y2 as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_box32 ) , + "::" , stringify ! ( y2 ) )); } impl Clone for pixman_box32 { fn clone(&self) -> Self { *self } @@ -11987,8 +14639,21 @@ pub mod root { } #[test] fn bindgen_test_layout_pixman_region32() { - assert_eq!(::std::mem::size_of::<pixman_region32>() , 24usize); - assert_eq!(::std::mem::align_of::<pixman_region32>() , 8usize); + assert_eq!(::std::mem::size_of::<pixman_region32>() , 24usize , concat + ! ( "Size of: " , stringify ! ( pixman_region32 ) )); + assert_eq! (::std::mem::align_of::<pixman_region32>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( pixman_region32 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32 ) ) . extents as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_region32 ) , + "::" , stringify ! ( extents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const pixman_region32 ) ) . data as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( pixman_region32 ) , + "::" , stringify ! ( data ) )); } impl Clone for pixman_region32 { fn clone(&self) -> Self { *self } @@ -12039,8 +14704,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsITimer() { - assert_eq!(::std::mem::size_of::<nsITimer>() , 8usize); - assert_eq!(::std::mem::align_of::<nsITimer>() , 8usize); + assert_eq!(::std::mem::size_of::<nsITimer>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsITimer ) )); + assert_eq! (::std::mem::align_of::<nsITimer>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsITimer ) )); } impl Clone for nsITimer { fn clone(&self) -> Self { *self } @@ -12085,8 +14752,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsITimerCallback() { - assert_eq!(::std::mem::size_of::<nsITimerCallback>() , 8usize); - assert_eq!(::std::mem::align_of::<nsITimerCallback>() , 8usize); + assert_eq!(::std::mem::size_of::<nsITimerCallback>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsITimerCallback ) )); + assert_eq! (::std::mem::align_of::<nsITimerCallback>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsITimerCallback ) )); } impl Clone for nsITimerCallback { fn clone(&self) -> Self { *self } @@ -12100,6 +14770,7 @@ pub mod root { #[derive(Debug, Copy)] pub struct nsExpirationState { pub _bitfield_1: u32, + pub __bindgen_align: [u32; 0usize], } pub const nsExpirationState_NOT_TRACKED: root::nsExpirationState__bindgen_ty_1 = @@ -12115,41 +14786,16 @@ pub mod root { } #[test] fn bindgen_test_layout_nsExpirationState() { - assert_eq!(::std::mem::size_of::<nsExpirationState>() , 4usize); - assert_eq!(::std::mem::align_of::<nsExpirationState>() , 4usize); + assert_eq!(::std::mem::size_of::<nsExpirationState>() , 4usize , + concat ! ( "Size of: " , stringify ! ( nsExpirationState ) + )); + assert_eq! (::std::mem::align_of::<nsExpirationState>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsExpirationState ) )); } impl Clone for nsExpirationState { fn clone(&self) -> Self { *self } } - impl nsExpirationState { - #[inline] - pub fn mGeneration(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (15usize as u32)) - >> 0u32) as u32) - } - } - #[inline] - pub fn set_mGeneration(&mut self, val: u32) { - self._bitfield_1 &= !(15usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 0u32) & (15usize as u32); - } - #[inline] - pub fn mIndexInGeneration(&self) -> u32 { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & - (4294967280usize as u32)) >> 4u32) - as u32) - } - } - #[inline] - pub fn set_mIndexInGeneration(&mut self, val: u32) { - self._bitfield_1 &= !(4294967280usize as u32); - self._bitfield_1 |= - ((val as u32 as u32) << 4u32) & (4294967280usize as u32); - } - } #[repr(C)] #[derive(Debug, Copy)] pub struct PRCListStr { @@ -12158,8 +14804,20 @@ pub mod root { } #[test] fn bindgen_test_layout_PRCListStr() { - assert_eq!(::std::mem::size_of::<PRCListStr>() , 16usize); - assert_eq!(::std::mem::align_of::<PRCListStr>() , 8usize); + assert_eq!(::std::mem::size_of::<PRCListStr>() , 16usize , concat ! ( + "Size of: " , stringify ! ( PRCListStr ) )); + assert_eq! (::std::mem::align_of::<PRCListStr>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( PRCListStr ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCListStr ) ) . next as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCListStr ) , "::" + , stringify ! ( next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PRCListStr ) ) . prev as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PRCListStr ) , "::" + , stringify ! ( prev ) )); } impl Clone for PRCListStr { fn clone(&self) -> Self { *self } @@ -12230,8 +14888,10 @@ pub mod root { } #[test] fn bindgen_test_layout_imgIRequest() { - assert_eq!(::std::mem::size_of::<imgIRequest>() , 8usize); - assert_eq!(::std::mem::align_of::<imgIRequest>() , 8usize); + assert_eq!(::std::mem::size_of::<imgIRequest>() , 8usize , concat ! ( + "Size of: " , stringify ! ( imgIRequest ) )); + assert_eq! (::std::mem::align_of::<imgIRequest>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( imgIRequest ) )); } impl Clone for imgIRequest { fn clone(&self) -> Self { *self } @@ -12280,8 +14940,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIHTMLCollection() { - assert_eq!(::std::mem::size_of::<nsIHTMLCollection>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIHTMLCollection>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIHTMLCollection>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIHTMLCollection ) + )); + assert_eq! (::std::mem::align_of::<nsIHTMLCollection>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIHTMLCollection ) )); } impl Clone for nsIHTMLCollection { fn clone(&self) -> Self { *self } @@ -12902,718 +15566,715 @@ pub mod root { eCSSKeyword__moz_inline_box = 44, eCSSKeyword__moz_inline_grid = 45, eCSSKeyword__moz_inline_stack = 46, - eCSSKeyword__moz_isolate = 47, - eCSSKeyword__moz_isolate_override = 48, - eCSSKeyword__moz_left = 49, - eCSSKeyword__moz_list = 50, - eCSSKeyword__moz_mac_buttonactivetext = 51, - eCSSKeyword__moz_mac_chrome_active = 52, - eCSSKeyword__moz_mac_chrome_inactive = 53, - eCSSKeyword__moz_mac_defaultbuttontext = 54, - eCSSKeyword__moz_mac_focusring = 55, - eCSSKeyword__moz_mac_fullscreen_button = 56, - eCSSKeyword__moz_mac_menuselect = 57, - eCSSKeyword__moz_mac_menushadow = 58, - eCSSKeyword__moz_mac_menutextdisable = 59, - eCSSKeyword__moz_mac_menutextselect = 60, - eCSSKeyword__moz_mac_disabledtoolbartext = 61, - eCSSKeyword__moz_mac_secondaryhighlight = 62, - eCSSKeyword__moz_max_content = 63, - eCSSKeyword__moz_menuhover = 64, - eCSSKeyword__moz_menuhovertext = 65, - eCSSKeyword__moz_menubartext = 66, - eCSSKeyword__moz_menubarhovertext = 67, - eCSSKeyword__moz_middle_with_baseline = 68, - eCSSKeyword__moz_min_content = 69, - eCSSKeyword__moz_nativehyperlinktext = 70, - eCSSKeyword__moz_none = 71, - eCSSKeyword__moz_oddtreerow = 72, - eCSSKeyword__moz_plaintext = 73, - eCSSKeyword__moz_popup = 74, - eCSSKeyword__moz_pre_space = 75, - eCSSKeyword__moz_pull_down_menu = 76, - eCSSKeyword__moz_right = 77, - eCSSKeyword__moz_scrollbars_horizontal = 78, - eCSSKeyword__moz_scrollbars_none = 79, - eCSSKeyword__moz_scrollbars_vertical = 80, - eCSSKeyword__moz_stack = 81, - eCSSKeyword__moz_text = 82, - eCSSKeyword__moz_use_system_font = 83, - eCSSKeyword__moz_visitedhyperlinktext = 84, - eCSSKeyword__moz_window = 85, - eCSSKeyword__moz_workspace = 86, - eCSSKeyword__moz_zoom_in = 87, - eCSSKeyword__moz_zoom_out = 88, - eCSSKeyword__webkit_box = 89, - eCSSKeyword__webkit_flex = 90, - eCSSKeyword__webkit_inline_box = 91, - eCSSKeyword__webkit_inline_flex = 92, - eCSSKeyword_absolute = 93, - eCSSKeyword_active = 94, - eCSSKeyword_activeborder = 95, - eCSSKeyword_activecaption = 96, - eCSSKeyword_add = 97, - eCSSKeyword_additive = 98, - eCSSKeyword_alias = 99, - eCSSKeyword_all = 100, - eCSSKeyword_all_petite_caps = 101, - eCSSKeyword_all_scroll = 102, - eCSSKeyword_all_small_caps = 103, - eCSSKeyword_alpha = 104, - eCSSKeyword_alternate = 105, - eCSSKeyword_alternate_reverse = 106, - eCSSKeyword_always = 107, - eCSSKeyword_annotation = 108, - eCSSKeyword_appworkspace = 109, - eCSSKeyword_auto = 110, - eCSSKeyword_auto_fill = 111, - eCSSKeyword_auto_fit = 112, - eCSSKeyword_auto_flow = 113, - eCSSKeyword_avoid = 114, - eCSSKeyword_background = 115, - eCSSKeyword_backwards = 116, - eCSSKeyword_balance = 117, - eCSSKeyword_baseline = 118, - eCSSKeyword_bidi_override = 119, - eCSSKeyword_blink = 120, - eCSSKeyword_block = 121, - eCSSKeyword_block_axis = 122, - eCSSKeyword_blur = 123, - eCSSKeyword_bold = 124, - eCSSKeyword_bold_fraktur = 125, - eCSSKeyword_bold_italic = 126, - eCSSKeyword_bold_sans_serif = 127, - eCSSKeyword_bold_script = 128, - eCSSKeyword_bolder = 129, - eCSSKeyword_border_box = 130, - eCSSKeyword_both = 131, - eCSSKeyword_bottom = 132, - eCSSKeyword_bottom_outside = 133, - eCSSKeyword_break_all = 134, - eCSSKeyword_break_word = 135, - eCSSKeyword_brightness = 136, - eCSSKeyword_browser = 137, - eCSSKeyword_bullets = 138, - eCSSKeyword_button = 139, - eCSSKeyword_buttonface = 140, - eCSSKeyword_buttonhighlight = 141, - eCSSKeyword_buttonshadow = 142, - eCSSKeyword_buttontext = 143, - eCSSKeyword_capitalize = 144, - eCSSKeyword_caption = 145, - eCSSKeyword_captiontext = 146, - eCSSKeyword_cell = 147, - eCSSKeyword_center = 148, - eCSSKeyword_ch = 149, - eCSSKeyword_character_variant = 150, - eCSSKeyword_circle = 151, - eCSSKeyword_cjk_decimal = 152, - eCSSKeyword_clip = 153, - eCSSKeyword_clone = 154, - eCSSKeyword_close_quote = 155, - eCSSKeyword_closest_corner = 156, - eCSSKeyword_closest_side = 157, - eCSSKeyword_cm = 158, - eCSSKeyword_col_resize = 159, - eCSSKeyword_collapse = 160, - eCSSKeyword_color = 161, - eCSSKeyword_color_burn = 162, - eCSSKeyword_color_dodge = 163, - eCSSKeyword_common_ligatures = 164, - eCSSKeyword_column = 165, - eCSSKeyword_column_reverse = 166, - eCSSKeyword_condensed = 167, - eCSSKeyword_contain = 168, - eCSSKeyword_content_box = 169, - eCSSKeyword_contents = 170, - eCSSKeyword_context_fill = 171, - eCSSKeyword_context_fill_opacity = 172, - eCSSKeyword_context_menu = 173, - eCSSKeyword_context_stroke = 174, - eCSSKeyword_context_stroke_opacity = 175, - eCSSKeyword_context_value = 176, - eCSSKeyword_continuous = 177, - eCSSKeyword_contrast = 178, - eCSSKeyword_copy = 179, - eCSSKeyword_contextual = 180, - eCSSKeyword_cover = 181, - eCSSKeyword_crop = 182, - eCSSKeyword_cross = 183, - eCSSKeyword_crosshair = 184, - eCSSKeyword_currentcolor = 185, - eCSSKeyword_cursive = 186, - eCSSKeyword_cyclic = 187, - eCSSKeyword_darken = 188, - eCSSKeyword_dashed = 189, - eCSSKeyword_dense = 190, - eCSSKeyword_decimal = 191, - eCSSKeyword_default = 192, - eCSSKeyword_deg = 193, - eCSSKeyword_diagonal_fractions = 194, - eCSSKeyword_dialog = 195, - eCSSKeyword_difference = 196, - eCSSKeyword_digits = 197, - eCSSKeyword_disabled = 198, - eCSSKeyword_disc = 199, - eCSSKeyword_disclosure_closed = 200, - eCSSKeyword_disclosure_open = 201, - eCSSKeyword_discretionary_ligatures = 202, - eCSSKeyword_dot = 203, - eCSSKeyword_dotted = 204, - eCSSKeyword_double = 205, - eCSSKeyword_double_circle = 206, - eCSSKeyword_double_struck = 207, - eCSSKeyword_drag = 208, - eCSSKeyword_drop_shadow = 209, - eCSSKeyword_e_resize = 210, - eCSSKeyword_ease = 211, - eCSSKeyword_ease_in = 212, - eCSSKeyword_ease_in_out = 213, - eCSSKeyword_ease_out = 214, - eCSSKeyword_economy = 215, - eCSSKeyword_element = 216, - eCSSKeyword_elements = 217, - eCSSKeyword_ellipse = 218, - eCSSKeyword_ellipsis = 219, - eCSSKeyword_em = 220, - eCSSKeyword_embed = 221, - eCSSKeyword_enabled = 222, - eCSSKeyword_end = 223, - eCSSKeyword_ethiopic_numeric = 224, - eCSSKeyword_ex = 225, - eCSSKeyword_exact = 226, - eCSSKeyword_exclude = 227, - eCSSKeyword_exclusion = 228, - eCSSKeyword_expanded = 229, - eCSSKeyword_extends = 230, - eCSSKeyword_extra_condensed = 231, - eCSSKeyword_extra_expanded = 232, - eCSSKeyword_ew_resize = 233, - eCSSKeyword_fallback = 234, - eCSSKeyword_fantasy = 235, - eCSSKeyword_farthest_side = 236, - eCSSKeyword_farthest_corner = 237, - eCSSKeyword_fill = 238, - eCSSKeyword_filled = 239, - eCSSKeyword_fill_box = 240, - eCSSKeyword_first = 241, - eCSSKeyword_fit_content = 242, - eCSSKeyword_fixed = 243, - eCSSKeyword_flat = 244, - eCSSKeyword_flex = 245, - eCSSKeyword_flex_end = 246, - eCSSKeyword_flex_start = 247, - eCSSKeyword_flip = 248, - eCSSKeyword_flow_root = 249, - eCSSKeyword_forwards = 250, - eCSSKeyword_fraktur = 251, - eCSSKeyword_from_image = 252, - eCSSKeyword_full_width = 253, - eCSSKeyword_fullscreen = 254, - eCSSKeyword_grab = 255, - eCSSKeyword_grabbing = 256, - eCSSKeyword_grad = 257, - eCSSKeyword_grayscale = 258, - eCSSKeyword_graytext = 259, - eCSSKeyword_grid = 260, - eCSSKeyword_groove = 261, - eCSSKeyword_hard_light = 262, - eCSSKeyword_hebrew = 263, - eCSSKeyword_help = 264, - eCSSKeyword_hidden = 265, - eCSSKeyword_hide = 266, - eCSSKeyword_highlight = 267, - eCSSKeyword_highlighttext = 268, - eCSSKeyword_historical_forms = 269, - eCSSKeyword_historical_ligatures = 270, - eCSSKeyword_horizontal = 271, - eCSSKeyword_horizontal_tb = 272, - eCSSKeyword_hue = 273, - eCSSKeyword_hue_rotate = 274, - eCSSKeyword_hz = 275, - eCSSKeyword_icon = 276, - eCSSKeyword_ignore = 277, - eCSSKeyword_in = 278, - eCSSKeyword_interlace = 279, - eCSSKeyword_inactive = 280, - eCSSKeyword_inactiveborder = 281, - eCSSKeyword_inactivecaption = 282, - eCSSKeyword_inactivecaptiontext = 283, - eCSSKeyword_infinite = 284, - eCSSKeyword_infobackground = 285, - eCSSKeyword_infotext = 286, - eCSSKeyword_inherit = 287, - eCSSKeyword_initial = 288, - eCSSKeyword_inline = 289, - eCSSKeyword_inline_axis = 290, - eCSSKeyword_inline_block = 291, - eCSSKeyword_inline_end = 292, - eCSSKeyword_inline_flex = 293, - eCSSKeyword_inline_grid = 294, - eCSSKeyword_inline_start = 295, - eCSSKeyword_inline_table = 296, - eCSSKeyword_inset = 297, - eCSSKeyword_inside = 298, - eCSSKeyword_interpolatematrix = 299, - eCSSKeyword_accumulatematrix = 300, - eCSSKeyword_intersect = 301, - eCSSKeyword_isolate = 302, - eCSSKeyword_isolate_override = 303, - eCSSKeyword_invert = 304, - eCSSKeyword_italic = 305, - eCSSKeyword_japanese_formal = 306, - eCSSKeyword_japanese_informal = 307, - eCSSKeyword_jis78 = 308, - eCSSKeyword_jis83 = 309, - eCSSKeyword_jis90 = 310, - eCSSKeyword_jis04 = 311, - eCSSKeyword_justify = 312, - eCSSKeyword_keep_all = 313, - eCSSKeyword_khz = 314, - eCSSKeyword_korean_hangul_formal = 315, - eCSSKeyword_korean_hanja_formal = 316, - eCSSKeyword_korean_hanja_informal = 317, - eCSSKeyword_landscape = 318, - eCSSKeyword_large = 319, - eCSSKeyword_larger = 320, - eCSSKeyword_last = 321, - eCSSKeyword_last_baseline = 322, - eCSSKeyword_layout = 323, - eCSSKeyword_left = 324, - eCSSKeyword_legacy = 325, - eCSSKeyword_lighten = 326, - eCSSKeyword_lighter = 327, - eCSSKeyword_line_through = 328, - eCSSKeyword_linear = 329, - eCSSKeyword_lining_nums = 330, - eCSSKeyword_list_item = 331, - eCSSKeyword_local = 332, - eCSSKeyword_logical = 333, - eCSSKeyword_looped = 334, - eCSSKeyword_lowercase = 335, - eCSSKeyword_lr = 336, - eCSSKeyword_lr_tb = 337, - eCSSKeyword_ltr = 338, - eCSSKeyword_luminance = 339, - eCSSKeyword_luminosity = 340, - eCSSKeyword_mandatory = 341, - eCSSKeyword_manipulation = 342, - eCSSKeyword_manual = 343, - eCSSKeyword_margin_box = 344, - eCSSKeyword_markers = 345, - eCSSKeyword_match_parent = 346, - eCSSKeyword_match_source = 347, - eCSSKeyword_matrix = 348, - eCSSKeyword_matrix3d = 349, - eCSSKeyword_max_content = 350, - eCSSKeyword_medium = 351, - eCSSKeyword_menu = 352, - eCSSKeyword_menutext = 353, - eCSSKeyword_message_box = 354, - eCSSKeyword_middle = 355, - eCSSKeyword_min_content = 356, - eCSSKeyword_minmax = 357, - eCSSKeyword_mix = 358, - eCSSKeyword_mixed = 359, - eCSSKeyword_mm = 360, - eCSSKeyword_monospace = 361, - eCSSKeyword_move = 362, - eCSSKeyword_ms = 363, - eCSSKeyword_multiply = 364, - eCSSKeyword_n_resize = 365, - eCSSKeyword_narrower = 366, - eCSSKeyword_ne_resize = 367, - eCSSKeyword_nesw_resize = 368, - eCSSKeyword_no_clip = 369, - eCSSKeyword_no_close_quote = 370, - eCSSKeyword_no_common_ligatures = 371, - eCSSKeyword_no_contextual = 372, - eCSSKeyword_no_discretionary_ligatures = 373, - eCSSKeyword_no_drag = 374, - eCSSKeyword_no_drop = 375, - eCSSKeyword_no_historical_ligatures = 376, - eCSSKeyword_no_open_quote = 377, - eCSSKeyword_no_repeat = 378, - eCSSKeyword_none = 379, - eCSSKeyword_normal = 380, - eCSSKeyword_not_allowed = 381, - eCSSKeyword_nowrap = 382, - eCSSKeyword_numeric = 383, - eCSSKeyword_ns_resize = 384, - eCSSKeyword_nw_resize = 385, - eCSSKeyword_nwse_resize = 386, - eCSSKeyword_oblique = 387, - eCSSKeyword_oldstyle_nums = 388, - eCSSKeyword_opacity = 389, - eCSSKeyword_open = 390, - eCSSKeyword_open_quote = 391, - eCSSKeyword_optional = 392, - eCSSKeyword_ordinal = 393, - eCSSKeyword_ornaments = 394, - eCSSKeyword_outset = 395, - eCSSKeyword_outside = 396, - eCSSKeyword_over = 397, - eCSSKeyword_overlay = 398, - eCSSKeyword_overline = 399, - eCSSKeyword_paint = 400, - eCSSKeyword_padding_box = 401, - eCSSKeyword_painted = 402, - eCSSKeyword_pan_x = 403, - eCSSKeyword_pan_y = 404, - eCSSKeyword_paused = 405, - eCSSKeyword_pc = 406, - eCSSKeyword_perspective = 407, - eCSSKeyword_petite_caps = 408, - eCSSKeyword_physical = 409, - eCSSKeyword_plaintext = 410, - eCSSKeyword_pointer = 411, - eCSSKeyword_polygon = 412, - eCSSKeyword_portrait = 413, - eCSSKeyword_pre = 414, - eCSSKeyword_pre_wrap = 415, - eCSSKeyword_pre_line = 416, - eCSSKeyword_preserve_3d = 417, - eCSSKeyword_progress = 418, - eCSSKeyword_progressive = 419, - eCSSKeyword_proportional_nums = 420, - eCSSKeyword_proportional_width = 421, - eCSSKeyword_proximity = 422, - eCSSKeyword_pt = 423, - eCSSKeyword_px = 424, - eCSSKeyword_rad = 425, - eCSSKeyword_read_only = 426, - eCSSKeyword_read_write = 427, - eCSSKeyword_relative = 428, - eCSSKeyword_repeat = 429, - eCSSKeyword_repeat_x = 430, - eCSSKeyword_repeat_y = 431, - eCSSKeyword_reverse = 432, - eCSSKeyword_ridge = 433, - eCSSKeyword_right = 434, - eCSSKeyword_rl = 435, - eCSSKeyword_rl_tb = 436, - eCSSKeyword_rotate = 437, - eCSSKeyword_rotate3d = 438, - eCSSKeyword_rotatex = 439, - eCSSKeyword_rotatey = 440, - eCSSKeyword_rotatez = 441, - eCSSKeyword_round = 442, - eCSSKeyword_row = 443, - eCSSKeyword_row_resize = 444, - eCSSKeyword_row_reverse = 445, - eCSSKeyword_rtl = 446, - eCSSKeyword_ruby = 447, - eCSSKeyword_ruby_base = 448, - eCSSKeyword_ruby_base_container = 449, - eCSSKeyword_ruby_text = 450, - eCSSKeyword_ruby_text_container = 451, - eCSSKeyword_running = 452, - eCSSKeyword_s = 453, - eCSSKeyword_s_resize = 454, - eCSSKeyword_safe = 455, - eCSSKeyword_saturate = 456, - eCSSKeyword_saturation = 457, - eCSSKeyword_scale = 458, - eCSSKeyword_scale_down = 459, - eCSSKeyword_scale3d = 460, - eCSSKeyword_scalex = 461, - eCSSKeyword_scaley = 462, - eCSSKeyword_scalez = 463, - eCSSKeyword_screen = 464, - eCSSKeyword_script = 465, - eCSSKeyword_scroll = 466, - eCSSKeyword_scrollbar = 467, - eCSSKeyword_scrollbar_small = 468, - eCSSKeyword_scrollbar_horizontal = 469, - eCSSKeyword_scrollbar_vertical = 470, - eCSSKeyword_se_resize = 471, - eCSSKeyword_select_after = 472, - eCSSKeyword_select_all = 473, - eCSSKeyword_select_before = 474, - eCSSKeyword_select_menu = 475, - eCSSKeyword_select_same = 476, - eCSSKeyword_self_end = 477, - eCSSKeyword_self_start = 478, - eCSSKeyword_semi_condensed = 479, - eCSSKeyword_semi_expanded = 480, - eCSSKeyword_separate = 481, - eCSSKeyword_sepia = 482, - eCSSKeyword_serif = 483, - eCSSKeyword_sesame = 484, - eCSSKeyword_show = 485, - eCSSKeyword_sideways = 486, - eCSSKeyword_sideways_lr = 487, - eCSSKeyword_sideways_right = 488, - eCSSKeyword_sideways_rl = 489, - eCSSKeyword_simp_chinese_formal = 490, - eCSSKeyword_simp_chinese_informal = 491, - eCSSKeyword_simplified = 492, - eCSSKeyword_skew = 493, - eCSSKeyword_skewx = 494, - eCSSKeyword_skewy = 495, - eCSSKeyword_slashed_zero = 496, - eCSSKeyword_slice = 497, - eCSSKeyword_small = 498, - eCSSKeyword_small_caps = 499, - eCSSKeyword_small_caption = 500, - eCSSKeyword_smaller = 501, - eCSSKeyword_smooth = 502, - eCSSKeyword_soft = 503, - eCSSKeyword_soft_light = 504, - eCSSKeyword_solid = 505, - eCSSKeyword_space_around = 506, - eCSSKeyword_space_between = 507, - eCSSKeyword_space_evenly = 508, - eCSSKeyword_span = 509, - eCSSKeyword_spell_out = 510, - eCSSKeyword_square = 511, - eCSSKeyword_stacked_fractions = 512, - eCSSKeyword_start = 513, - eCSSKeyword_static = 514, - eCSSKeyword_standalone = 515, - eCSSKeyword_status_bar = 516, - eCSSKeyword_step_end = 517, - eCSSKeyword_step_start = 518, - eCSSKeyword_sticky = 519, - eCSSKeyword_stretch = 520, - eCSSKeyword_stretch_to_fit = 521, - eCSSKeyword_stretched = 522, - eCSSKeyword_strict = 523, - eCSSKeyword_stroke = 524, - eCSSKeyword_stroke_box = 525, - eCSSKeyword_style = 526, - eCSSKeyword_styleset = 527, - eCSSKeyword_stylistic = 528, - eCSSKeyword_sub = 529, - eCSSKeyword_subgrid = 530, - eCSSKeyword_subtract = 531, - eCSSKeyword_super = 532, - eCSSKeyword_sw_resize = 533, - eCSSKeyword_swash = 534, - eCSSKeyword_swap = 535, - eCSSKeyword_table = 536, - eCSSKeyword_table_caption = 537, - eCSSKeyword_table_cell = 538, - eCSSKeyword_table_column = 539, - eCSSKeyword_table_column_group = 540, - eCSSKeyword_table_footer_group = 541, - eCSSKeyword_table_header_group = 542, - eCSSKeyword_table_row = 543, - eCSSKeyword_table_row_group = 544, - eCSSKeyword_tabular_nums = 545, - eCSSKeyword_tailed = 546, - eCSSKeyword_tb = 547, - eCSSKeyword_tb_rl = 548, - eCSSKeyword_text = 549, - eCSSKeyword_text_bottom = 550, - eCSSKeyword_text_top = 551, - eCSSKeyword_thick = 552, - eCSSKeyword_thin = 553, - eCSSKeyword_threeddarkshadow = 554, - eCSSKeyword_threedface = 555, - eCSSKeyword_threedhighlight = 556, - eCSSKeyword_threedlightshadow = 557, - eCSSKeyword_threedshadow = 558, - eCSSKeyword_titling_caps = 559, - eCSSKeyword_toggle = 560, - eCSSKeyword_top = 561, - eCSSKeyword_top_outside = 562, - eCSSKeyword_trad_chinese_formal = 563, - eCSSKeyword_trad_chinese_informal = 564, - eCSSKeyword_traditional = 565, - eCSSKeyword_translate = 566, - eCSSKeyword_translate3d = 567, - eCSSKeyword_translatex = 568, - eCSSKeyword_translatey = 569, - eCSSKeyword_translatez = 570, - eCSSKeyword_transparent = 571, - eCSSKeyword_triangle = 572, - eCSSKeyword_tri_state = 573, - eCSSKeyword_ultra_condensed = 574, - eCSSKeyword_ultra_expanded = 575, - eCSSKeyword_under = 576, - eCSSKeyword_underline = 577, - eCSSKeyword_unicase = 578, - eCSSKeyword_unsafe = 579, - eCSSKeyword_unset = 580, - eCSSKeyword_uppercase = 581, - eCSSKeyword_upright = 582, - eCSSKeyword_vertical = 583, - eCSSKeyword_vertical_lr = 584, - eCSSKeyword_vertical_rl = 585, - eCSSKeyword_vertical_text = 586, - eCSSKeyword_view_box = 587, - eCSSKeyword_visible = 588, - eCSSKeyword_visiblefill = 589, - eCSSKeyword_visiblepainted = 590, - eCSSKeyword_visiblestroke = 591, - eCSSKeyword_w_resize = 592, - eCSSKeyword_wait = 593, - eCSSKeyword_wavy = 594, - eCSSKeyword_weight = 595, - eCSSKeyword_wider = 596, - eCSSKeyword_window = 597, - eCSSKeyword_windowframe = 598, - eCSSKeyword_windowtext = 599, - eCSSKeyword_words = 600, - eCSSKeyword_wrap = 601, - eCSSKeyword_wrap_reverse = 602, - eCSSKeyword_write_only = 603, - eCSSKeyword_x_large = 604, - eCSSKeyword_x_small = 605, - eCSSKeyword_xx_large = 606, - eCSSKeyword_xx_small = 607, - eCSSKeyword_zoom_in = 608, - eCSSKeyword_zoom_out = 609, - eCSSKeyword_radio = 610, - eCSSKeyword_checkbox = 611, - eCSSKeyword_button_bevel = 612, - eCSSKeyword_toolbox = 613, - eCSSKeyword_toolbar = 614, - eCSSKeyword_toolbarbutton = 615, - eCSSKeyword_toolbargripper = 616, - eCSSKeyword_dualbutton = 617, - eCSSKeyword_toolbarbutton_dropdown = 618, - eCSSKeyword_button_arrow_up = 619, - eCSSKeyword_button_arrow_down = 620, - eCSSKeyword_button_arrow_next = 621, - eCSSKeyword_button_arrow_previous = 622, - eCSSKeyword_separator = 623, - eCSSKeyword_splitter = 624, - eCSSKeyword_statusbar = 625, - eCSSKeyword_statusbarpanel = 626, - eCSSKeyword_resizerpanel = 627, - eCSSKeyword_resizer = 628, - eCSSKeyword_listbox = 629, - eCSSKeyword_listitem = 630, - eCSSKeyword_numbers = 631, - eCSSKeyword_number_input = 632, - eCSSKeyword_treeview = 633, - eCSSKeyword_treeitem = 634, - eCSSKeyword_treetwisty = 635, - eCSSKeyword_treetwistyopen = 636, - eCSSKeyword_treeline = 637, - eCSSKeyword_treeheader = 638, - eCSSKeyword_treeheadercell = 639, - eCSSKeyword_treeheadersortarrow = 640, - eCSSKeyword_progressbar = 641, - eCSSKeyword_progressbar_vertical = 642, - eCSSKeyword_progresschunk = 643, - eCSSKeyword_progresschunk_vertical = 644, - eCSSKeyword_tab = 645, - eCSSKeyword_tabpanels = 646, - eCSSKeyword_tabpanel = 647, - eCSSKeyword_tab_scroll_arrow_back = 648, - eCSSKeyword_tab_scroll_arrow_forward = 649, - eCSSKeyword_tooltip = 650, - eCSSKeyword_spinner = 651, - eCSSKeyword_spinner_upbutton = 652, - eCSSKeyword_spinner_downbutton = 653, - eCSSKeyword_spinner_textfield = 654, - eCSSKeyword_scrollbarbutton_up = 655, - eCSSKeyword_scrollbarbutton_down = 656, - eCSSKeyword_scrollbarbutton_left = 657, - eCSSKeyword_scrollbarbutton_right = 658, - eCSSKeyword_scrollbartrack_horizontal = 659, - eCSSKeyword_scrollbartrack_vertical = 660, - eCSSKeyword_scrollbarthumb_horizontal = 661, - eCSSKeyword_scrollbarthumb_vertical = 662, - eCSSKeyword_sheet = 663, - eCSSKeyword_textfield = 664, - eCSSKeyword_textfield_multiline = 665, - eCSSKeyword_caret = 666, - eCSSKeyword_searchfield = 667, - eCSSKeyword_menubar = 668, - eCSSKeyword_menupopup = 669, - eCSSKeyword_menuitem = 670, - eCSSKeyword_checkmenuitem = 671, - eCSSKeyword_radiomenuitem = 672, - eCSSKeyword_menucheckbox = 673, - eCSSKeyword_menuradio = 674, - eCSSKeyword_menuseparator = 675, - eCSSKeyword_menuarrow = 676, - eCSSKeyword_menuimage = 677, - eCSSKeyword_menuitemtext = 678, - eCSSKeyword_menulist = 679, - eCSSKeyword_menulist_button = 680, - eCSSKeyword_menulist_text = 681, - eCSSKeyword_menulist_textfield = 682, - eCSSKeyword_meterbar = 683, - eCSSKeyword_meterchunk = 684, - eCSSKeyword_minimal_ui = 685, - eCSSKeyword_range = 686, - eCSSKeyword_range_thumb = 687, - eCSSKeyword_sans_serif = 688, - eCSSKeyword_sans_serif_bold_italic = 689, - eCSSKeyword_sans_serif_italic = 690, - eCSSKeyword_scale_horizontal = 691, - eCSSKeyword_scale_vertical = 692, - eCSSKeyword_scalethumb_horizontal = 693, - eCSSKeyword_scalethumb_vertical = 694, - eCSSKeyword_scalethumbstart = 695, - eCSSKeyword_scalethumbend = 696, - eCSSKeyword_scalethumbtick = 697, - eCSSKeyword_groupbox = 698, - eCSSKeyword_checkbox_container = 699, - eCSSKeyword_radio_container = 700, - eCSSKeyword_checkbox_label = 701, - eCSSKeyword_radio_label = 702, - eCSSKeyword_button_focus = 703, - eCSSKeyword__moz_win_media_toolbox = 704, - eCSSKeyword__moz_win_communications_toolbox = 705, - eCSSKeyword__moz_win_browsertabbar_toolbox = 706, - eCSSKeyword__moz_win_mediatext = 707, - eCSSKeyword__moz_win_communicationstext = 708, - eCSSKeyword__moz_win_glass = 709, - eCSSKeyword__moz_win_borderless_glass = 710, - eCSSKeyword__moz_window_titlebar = 711, - eCSSKeyword__moz_window_titlebar_maximized = 712, - eCSSKeyword__moz_window_frame_left = 713, - eCSSKeyword__moz_window_frame_right = 714, - eCSSKeyword__moz_window_frame_bottom = 715, - eCSSKeyword__moz_window_button_close = 716, - eCSSKeyword__moz_window_button_minimize = 717, - eCSSKeyword__moz_window_button_maximize = 718, - eCSSKeyword__moz_window_button_restore = 719, - eCSSKeyword__moz_window_button_box = 720, - eCSSKeyword__moz_window_button_box_maximized = 721, - eCSSKeyword__moz_mac_help_button = 722, - eCSSKeyword__moz_win_exclude_glass = 723, - eCSSKeyword__moz_mac_vibrancy_light = 724, - eCSSKeyword__moz_mac_vibrancy_dark = 725, - eCSSKeyword__moz_mac_disclosure_button_closed = 726, - eCSSKeyword__moz_mac_disclosure_button_open = 727, - eCSSKeyword__moz_mac_source_list = 728, - eCSSKeyword__moz_mac_source_list_selection = 729, - eCSSKeyword__moz_mac_active_source_list_selection = 730, - eCSSKeyword_alphabetic = 731, - eCSSKeyword_bevel = 732, - eCSSKeyword_butt = 733, - eCSSKeyword_central = 734, - eCSSKeyword_crispedges = 735, - eCSSKeyword_evenodd = 736, - eCSSKeyword_geometricprecision = 737, - eCSSKeyword_hanging = 738, - eCSSKeyword_ideographic = 739, - eCSSKeyword_linearrgb = 740, - eCSSKeyword_mathematical = 741, - eCSSKeyword_miter = 742, - eCSSKeyword_no_change = 743, - eCSSKeyword_non_scaling_stroke = 744, - eCSSKeyword_nonzero = 745, - eCSSKeyword_optimizelegibility = 746, - eCSSKeyword_optimizequality = 747, - eCSSKeyword_optimizespeed = 748, - eCSSKeyword_reset_size = 749, - eCSSKeyword_srgb = 750, - eCSSKeyword_symbolic = 751, - eCSSKeyword_symbols = 752, - eCSSKeyword_text_after_edge = 753, - eCSSKeyword_text_before_edge = 754, - eCSSKeyword_use_script = 755, - eCSSKeyword__moz_crisp_edges = 756, - eCSSKeyword_space = 757, - eCSSKeyword_COUNT = 758, + eCSSKeyword__moz_left = 47, + eCSSKeyword__moz_list = 48, + eCSSKeyword__moz_mac_buttonactivetext = 49, + eCSSKeyword__moz_mac_chrome_active = 50, + eCSSKeyword__moz_mac_chrome_inactive = 51, + eCSSKeyword__moz_mac_defaultbuttontext = 52, + eCSSKeyword__moz_mac_focusring = 53, + eCSSKeyword__moz_mac_fullscreen_button = 54, + eCSSKeyword__moz_mac_menuselect = 55, + eCSSKeyword__moz_mac_menushadow = 56, + eCSSKeyword__moz_mac_menutextdisable = 57, + eCSSKeyword__moz_mac_menutextselect = 58, + eCSSKeyword__moz_mac_disabledtoolbartext = 59, + eCSSKeyword__moz_mac_secondaryhighlight = 60, + eCSSKeyword__moz_max_content = 61, + eCSSKeyword__moz_menuhover = 62, + eCSSKeyword__moz_menuhovertext = 63, + eCSSKeyword__moz_menubartext = 64, + eCSSKeyword__moz_menubarhovertext = 65, + eCSSKeyword__moz_middle_with_baseline = 66, + eCSSKeyword__moz_min_content = 67, + eCSSKeyword__moz_nativehyperlinktext = 68, + eCSSKeyword__moz_none = 69, + eCSSKeyword__moz_oddtreerow = 70, + eCSSKeyword__moz_popup = 71, + eCSSKeyword__moz_pre_space = 72, + eCSSKeyword__moz_pull_down_menu = 73, + eCSSKeyword__moz_right = 74, + eCSSKeyword__moz_scrollbars_horizontal = 75, + eCSSKeyword__moz_scrollbars_none = 76, + eCSSKeyword__moz_scrollbars_vertical = 77, + eCSSKeyword__moz_stack = 78, + eCSSKeyword__moz_text = 79, + eCSSKeyword__moz_use_system_font = 80, + eCSSKeyword__moz_visitedhyperlinktext = 81, + eCSSKeyword__moz_window = 82, + eCSSKeyword__moz_workspace = 83, + eCSSKeyword__moz_zoom_in = 84, + eCSSKeyword__moz_zoom_out = 85, + eCSSKeyword__webkit_box = 86, + eCSSKeyword__webkit_flex = 87, + eCSSKeyword__webkit_inline_box = 88, + eCSSKeyword__webkit_inline_flex = 89, + eCSSKeyword_absolute = 90, + eCSSKeyword_active = 91, + eCSSKeyword_activeborder = 92, + eCSSKeyword_activecaption = 93, + eCSSKeyword_add = 94, + eCSSKeyword_additive = 95, + eCSSKeyword_alias = 96, + eCSSKeyword_all = 97, + eCSSKeyword_all_petite_caps = 98, + eCSSKeyword_all_scroll = 99, + eCSSKeyword_all_small_caps = 100, + eCSSKeyword_alpha = 101, + eCSSKeyword_alternate = 102, + eCSSKeyword_alternate_reverse = 103, + eCSSKeyword_always = 104, + eCSSKeyword_annotation = 105, + eCSSKeyword_appworkspace = 106, + eCSSKeyword_auto = 107, + eCSSKeyword_auto_fill = 108, + eCSSKeyword_auto_fit = 109, + eCSSKeyword_auto_flow = 110, + eCSSKeyword_avoid = 111, + eCSSKeyword_background = 112, + eCSSKeyword_backwards = 113, + eCSSKeyword_balance = 114, + eCSSKeyword_baseline = 115, + eCSSKeyword_bidi_override = 116, + eCSSKeyword_blink = 117, + eCSSKeyword_block = 118, + eCSSKeyword_block_axis = 119, + eCSSKeyword_blur = 120, + eCSSKeyword_bold = 121, + eCSSKeyword_bold_fraktur = 122, + eCSSKeyword_bold_italic = 123, + eCSSKeyword_bold_sans_serif = 124, + eCSSKeyword_bold_script = 125, + eCSSKeyword_bolder = 126, + eCSSKeyword_border_box = 127, + eCSSKeyword_both = 128, + eCSSKeyword_bottom = 129, + eCSSKeyword_bottom_outside = 130, + eCSSKeyword_break_all = 131, + eCSSKeyword_break_word = 132, + eCSSKeyword_brightness = 133, + eCSSKeyword_browser = 134, + eCSSKeyword_bullets = 135, + eCSSKeyword_button = 136, + eCSSKeyword_buttonface = 137, + eCSSKeyword_buttonhighlight = 138, + eCSSKeyword_buttonshadow = 139, + eCSSKeyword_buttontext = 140, + eCSSKeyword_capitalize = 141, + eCSSKeyword_caption = 142, + eCSSKeyword_captiontext = 143, + eCSSKeyword_cell = 144, + eCSSKeyword_center = 145, + eCSSKeyword_ch = 146, + eCSSKeyword_character_variant = 147, + eCSSKeyword_circle = 148, + eCSSKeyword_cjk_decimal = 149, + eCSSKeyword_clip = 150, + eCSSKeyword_clone = 151, + eCSSKeyword_close_quote = 152, + eCSSKeyword_closest_corner = 153, + eCSSKeyword_closest_side = 154, + eCSSKeyword_cm = 155, + eCSSKeyword_col_resize = 156, + eCSSKeyword_collapse = 157, + eCSSKeyword_color = 158, + eCSSKeyword_color_burn = 159, + eCSSKeyword_color_dodge = 160, + eCSSKeyword_common_ligatures = 161, + eCSSKeyword_column = 162, + eCSSKeyword_column_reverse = 163, + eCSSKeyword_condensed = 164, + eCSSKeyword_contain = 165, + eCSSKeyword_content_box = 166, + eCSSKeyword_contents = 167, + eCSSKeyword_context_fill = 168, + eCSSKeyword_context_fill_opacity = 169, + eCSSKeyword_context_menu = 170, + eCSSKeyword_context_stroke = 171, + eCSSKeyword_context_stroke_opacity = 172, + eCSSKeyword_context_value = 173, + eCSSKeyword_continuous = 174, + eCSSKeyword_contrast = 175, + eCSSKeyword_copy = 176, + eCSSKeyword_contextual = 177, + eCSSKeyword_cover = 178, + eCSSKeyword_crop = 179, + eCSSKeyword_cross = 180, + eCSSKeyword_crosshair = 181, + eCSSKeyword_currentcolor = 182, + eCSSKeyword_cursive = 183, + eCSSKeyword_cyclic = 184, + eCSSKeyword_darken = 185, + eCSSKeyword_dashed = 186, + eCSSKeyword_dense = 187, + eCSSKeyword_decimal = 188, + eCSSKeyword_default = 189, + eCSSKeyword_deg = 190, + eCSSKeyword_diagonal_fractions = 191, + eCSSKeyword_dialog = 192, + eCSSKeyword_difference = 193, + eCSSKeyword_digits = 194, + eCSSKeyword_disabled = 195, + eCSSKeyword_disc = 196, + eCSSKeyword_disclosure_closed = 197, + eCSSKeyword_disclosure_open = 198, + eCSSKeyword_discretionary_ligatures = 199, + eCSSKeyword_dot = 200, + eCSSKeyword_dotted = 201, + eCSSKeyword_double = 202, + eCSSKeyword_double_circle = 203, + eCSSKeyword_double_struck = 204, + eCSSKeyword_drag = 205, + eCSSKeyword_drop_shadow = 206, + eCSSKeyword_e_resize = 207, + eCSSKeyword_ease = 208, + eCSSKeyword_ease_in = 209, + eCSSKeyword_ease_in_out = 210, + eCSSKeyword_ease_out = 211, + eCSSKeyword_economy = 212, + eCSSKeyword_element = 213, + eCSSKeyword_elements = 214, + eCSSKeyword_ellipse = 215, + eCSSKeyword_ellipsis = 216, + eCSSKeyword_em = 217, + eCSSKeyword_embed = 218, + eCSSKeyword_enabled = 219, + eCSSKeyword_end = 220, + eCSSKeyword_ethiopic_numeric = 221, + eCSSKeyword_ex = 222, + eCSSKeyword_exact = 223, + eCSSKeyword_exclude = 224, + eCSSKeyword_exclusion = 225, + eCSSKeyword_expanded = 226, + eCSSKeyword_extends = 227, + eCSSKeyword_extra_condensed = 228, + eCSSKeyword_extra_expanded = 229, + eCSSKeyword_ew_resize = 230, + eCSSKeyword_fallback = 231, + eCSSKeyword_fantasy = 232, + eCSSKeyword_farthest_side = 233, + eCSSKeyword_farthest_corner = 234, + eCSSKeyword_fill = 235, + eCSSKeyword_filled = 236, + eCSSKeyword_fill_box = 237, + eCSSKeyword_first = 238, + eCSSKeyword_fit_content = 239, + eCSSKeyword_fixed = 240, + eCSSKeyword_flat = 241, + eCSSKeyword_flex = 242, + eCSSKeyword_flex_end = 243, + eCSSKeyword_flex_start = 244, + eCSSKeyword_flip = 245, + eCSSKeyword_flow_root = 246, + eCSSKeyword_forwards = 247, + eCSSKeyword_fraktur = 248, + eCSSKeyword_from_image = 249, + eCSSKeyword_full_width = 250, + eCSSKeyword_fullscreen = 251, + eCSSKeyword_grab = 252, + eCSSKeyword_grabbing = 253, + eCSSKeyword_grad = 254, + eCSSKeyword_grayscale = 255, + eCSSKeyword_graytext = 256, + eCSSKeyword_grid = 257, + eCSSKeyword_groove = 258, + eCSSKeyword_hard_light = 259, + eCSSKeyword_hebrew = 260, + eCSSKeyword_help = 261, + eCSSKeyword_hidden = 262, + eCSSKeyword_hide = 263, + eCSSKeyword_highlight = 264, + eCSSKeyword_highlighttext = 265, + eCSSKeyword_historical_forms = 266, + eCSSKeyword_historical_ligatures = 267, + eCSSKeyword_horizontal = 268, + eCSSKeyword_horizontal_tb = 269, + eCSSKeyword_hue = 270, + eCSSKeyword_hue_rotate = 271, + eCSSKeyword_hz = 272, + eCSSKeyword_icon = 273, + eCSSKeyword_ignore = 274, + eCSSKeyword_in = 275, + eCSSKeyword_interlace = 276, + eCSSKeyword_inactive = 277, + eCSSKeyword_inactiveborder = 278, + eCSSKeyword_inactivecaption = 279, + eCSSKeyword_inactivecaptiontext = 280, + eCSSKeyword_infinite = 281, + eCSSKeyword_infobackground = 282, + eCSSKeyword_infotext = 283, + eCSSKeyword_inherit = 284, + eCSSKeyword_initial = 285, + eCSSKeyword_inline = 286, + eCSSKeyword_inline_axis = 287, + eCSSKeyword_inline_block = 288, + eCSSKeyword_inline_end = 289, + eCSSKeyword_inline_flex = 290, + eCSSKeyword_inline_grid = 291, + eCSSKeyword_inline_start = 292, + eCSSKeyword_inline_table = 293, + eCSSKeyword_inset = 294, + eCSSKeyword_inside = 295, + eCSSKeyword_interpolatematrix = 296, + eCSSKeyword_accumulatematrix = 297, + eCSSKeyword_intersect = 298, + eCSSKeyword_isolate = 299, + eCSSKeyword_isolate_override = 300, + eCSSKeyword_invert = 301, + eCSSKeyword_italic = 302, + eCSSKeyword_japanese_formal = 303, + eCSSKeyword_japanese_informal = 304, + eCSSKeyword_jis78 = 305, + eCSSKeyword_jis83 = 306, + eCSSKeyword_jis90 = 307, + eCSSKeyword_jis04 = 308, + eCSSKeyword_justify = 309, + eCSSKeyword_keep_all = 310, + eCSSKeyword_khz = 311, + eCSSKeyword_korean_hangul_formal = 312, + eCSSKeyword_korean_hanja_formal = 313, + eCSSKeyword_korean_hanja_informal = 314, + eCSSKeyword_landscape = 315, + eCSSKeyword_large = 316, + eCSSKeyword_larger = 317, + eCSSKeyword_last = 318, + eCSSKeyword_last_baseline = 319, + eCSSKeyword_layout = 320, + eCSSKeyword_left = 321, + eCSSKeyword_legacy = 322, + eCSSKeyword_lighten = 323, + eCSSKeyword_lighter = 324, + eCSSKeyword_line_through = 325, + eCSSKeyword_linear = 326, + eCSSKeyword_lining_nums = 327, + eCSSKeyword_list_item = 328, + eCSSKeyword_local = 329, + eCSSKeyword_logical = 330, + eCSSKeyword_looped = 331, + eCSSKeyword_lowercase = 332, + eCSSKeyword_lr = 333, + eCSSKeyword_lr_tb = 334, + eCSSKeyword_ltr = 335, + eCSSKeyword_luminance = 336, + eCSSKeyword_luminosity = 337, + eCSSKeyword_mandatory = 338, + eCSSKeyword_manipulation = 339, + eCSSKeyword_manual = 340, + eCSSKeyword_margin_box = 341, + eCSSKeyword_markers = 342, + eCSSKeyword_match_parent = 343, + eCSSKeyword_match_source = 344, + eCSSKeyword_matrix = 345, + eCSSKeyword_matrix3d = 346, + eCSSKeyword_max_content = 347, + eCSSKeyword_medium = 348, + eCSSKeyword_menu = 349, + eCSSKeyword_menutext = 350, + eCSSKeyword_message_box = 351, + eCSSKeyword_middle = 352, + eCSSKeyword_min_content = 353, + eCSSKeyword_minmax = 354, + eCSSKeyword_mix = 355, + eCSSKeyword_mixed = 356, + eCSSKeyword_mm = 357, + eCSSKeyword_monospace = 358, + eCSSKeyword_move = 359, + eCSSKeyword_ms = 360, + eCSSKeyword_multiply = 361, + eCSSKeyword_n_resize = 362, + eCSSKeyword_narrower = 363, + eCSSKeyword_ne_resize = 364, + eCSSKeyword_nesw_resize = 365, + eCSSKeyword_no_clip = 366, + eCSSKeyword_no_close_quote = 367, + eCSSKeyword_no_common_ligatures = 368, + eCSSKeyword_no_contextual = 369, + eCSSKeyword_no_discretionary_ligatures = 370, + eCSSKeyword_no_drag = 371, + eCSSKeyword_no_drop = 372, + eCSSKeyword_no_historical_ligatures = 373, + eCSSKeyword_no_open_quote = 374, + eCSSKeyword_no_repeat = 375, + eCSSKeyword_none = 376, + eCSSKeyword_normal = 377, + eCSSKeyword_not_allowed = 378, + eCSSKeyword_nowrap = 379, + eCSSKeyword_numeric = 380, + eCSSKeyword_ns_resize = 381, + eCSSKeyword_nw_resize = 382, + eCSSKeyword_nwse_resize = 383, + eCSSKeyword_oblique = 384, + eCSSKeyword_oldstyle_nums = 385, + eCSSKeyword_opacity = 386, + eCSSKeyword_open = 387, + eCSSKeyword_open_quote = 388, + eCSSKeyword_optional = 389, + eCSSKeyword_ordinal = 390, + eCSSKeyword_ornaments = 391, + eCSSKeyword_outset = 392, + eCSSKeyword_outside = 393, + eCSSKeyword_over = 394, + eCSSKeyword_overlay = 395, + eCSSKeyword_overline = 396, + eCSSKeyword_paint = 397, + eCSSKeyword_padding_box = 398, + eCSSKeyword_painted = 399, + eCSSKeyword_pan_x = 400, + eCSSKeyword_pan_y = 401, + eCSSKeyword_paused = 402, + eCSSKeyword_pc = 403, + eCSSKeyword_perspective = 404, + eCSSKeyword_petite_caps = 405, + eCSSKeyword_physical = 406, + eCSSKeyword_plaintext = 407, + eCSSKeyword_pointer = 408, + eCSSKeyword_polygon = 409, + eCSSKeyword_portrait = 410, + eCSSKeyword_pre = 411, + eCSSKeyword_pre_wrap = 412, + eCSSKeyword_pre_line = 413, + eCSSKeyword_preserve_3d = 414, + eCSSKeyword_progress = 415, + eCSSKeyword_progressive = 416, + eCSSKeyword_proportional_nums = 417, + eCSSKeyword_proportional_width = 418, + eCSSKeyword_proximity = 419, + eCSSKeyword_pt = 420, + eCSSKeyword_px = 421, + eCSSKeyword_rad = 422, + eCSSKeyword_read_only = 423, + eCSSKeyword_read_write = 424, + eCSSKeyword_relative = 425, + eCSSKeyword_repeat = 426, + eCSSKeyword_repeat_x = 427, + eCSSKeyword_repeat_y = 428, + eCSSKeyword_reverse = 429, + eCSSKeyword_ridge = 430, + eCSSKeyword_right = 431, + eCSSKeyword_rl = 432, + eCSSKeyword_rl_tb = 433, + eCSSKeyword_rotate = 434, + eCSSKeyword_rotate3d = 435, + eCSSKeyword_rotatex = 436, + eCSSKeyword_rotatey = 437, + eCSSKeyword_rotatez = 438, + eCSSKeyword_round = 439, + eCSSKeyword_row = 440, + eCSSKeyword_row_resize = 441, + eCSSKeyword_row_reverse = 442, + eCSSKeyword_rtl = 443, + eCSSKeyword_ruby = 444, + eCSSKeyword_ruby_base = 445, + eCSSKeyword_ruby_base_container = 446, + eCSSKeyword_ruby_text = 447, + eCSSKeyword_ruby_text_container = 448, + eCSSKeyword_running = 449, + eCSSKeyword_s = 450, + eCSSKeyword_s_resize = 451, + eCSSKeyword_safe = 452, + eCSSKeyword_saturate = 453, + eCSSKeyword_saturation = 454, + eCSSKeyword_scale = 455, + eCSSKeyword_scale_down = 456, + eCSSKeyword_scale3d = 457, + eCSSKeyword_scalex = 458, + eCSSKeyword_scaley = 459, + eCSSKeyword_scalez = 460, + eCSSKeyword_screen = 461, + eCSSKeyword_script = 462, + eCSSKeyword_scroll = 463, + eCSSKeyword_scrollbar = 464, + eCSSKeyword_scrollbar_small = 465, + eCSSKeyword_scrollbar_horizontal = 466, + eCSSKeyword_scrollbar_vertical = 467, + eCSSKeyword_se_resize = 468, + eCSSKeyword_select_after = 469, + eCSSKeyword_select_all = 470, + eCSSKeyword_select_before = 471, + eCSSKeyword_select_menu = 472, + eCSSKeyword_select_same = 473, + eCSSKeyword_self_end = 474, + eCSSKeyword_self_start = 475, + eCSSKeyword_semi_condensed = 476, + eCSSKeyword_semi_expanded = 477, + eCSSKeyword_separate = 478, + eCSSKeyword_sepia = 479, + eCSSKeyword_serif = 480, + eCSSKeyword_sesame = 481, + eCSSKeyword_show = 482, + eCSSKeyword_sideways = 483, + eCSSKeyword_sideways_lr = 484, + eCSSKeyword_sideways_right = 485, + eCSSKeyword_sideways_rl = 486, + eCSSKeyword_simp_chinese_formal = 487, + eCSSKeyword_simp_chinese_informal = 488, + eCSSKeyword_simplified = 489, + eCSSKeyword_skew = 490, + eCSSKeyword_skewx = 491, + eCSSKeyword_skewy = 492, + eCSSKeyword_slashed_zero = 493, + eCSSKeyword_slice = 494, + eCSSKeyword_small = 495, + eCSSKeyword_small_caps = 496, + eCSSKeyword_small_caption = 497, + eCSSKeyword_smaller = 498, + eCSSKeyword_smooth = 499, + eCSSKeyword_soft = 500, + eCSSKeyword_soft_light = 501, + eCSSKeyword_solid = 502, + eCSSKeyword_space_around = 503, + eCSSKeyword_space_between = 504, + eCSSKeyword_space_evenly = 505, + eCSSKeyword_span = 506, + eCSSKeyword_spell_out = 507, + eCSSKeyword_square = 508, + eCSSKeyword_stacked_fractions = 509, + eCSSKeyword_start = 510, + eCSSKeyword_static = 511, + eCSSKeyword_standalone = 512, + eCSSKeyword_status_bar = 513, + eCSSKeyword_step_end = 514, + eCSSKeyword_step_start = 515, + eCSSKeyword_sticky = 516, + eCSSKeyword_stretch = 517, + eCSSKeyword_stretch_to_fit = 518, + eCSSKeyword_stretched = 519, + eCSSKeyword_strict = 520, + eCSSKeyword_stroke = 521, + eCSSKeyword_stroke_box = 522, + eCSSKeyword_style = 523, + eCSSKeyword_styleset = 524, + eCSSKeyword_stylistic = 525, + eCSSKeyword_sub = 526, + eCSSKeyword_subgrid = 527, + eCSSKeyword_subtract = 528, + eCSSKeyword_super = 529, + eCSSKeyword_sw_resize = 530, + eCSSKeyword_swash = 531, + eCSSKeyword_swap = 532, + eCSSKeyword_table = 533, + eCSSKeyword_table_caption = 534, + eCSSKeyword_table_cell = 535, + eCSSKeyword_table_column = 536, + eCSSKeyword_table_column_group = 537, + eCSSKeyword_table_footer_group = 538, + eCSSKeyword_table_header_group = 539, + eCSSKeyword_table_row = 540, + eCSSKeyword_table_row_group = 541, + eCSSKeyword_tabular_nums = 542, + eCSSKeyword_tailed = 543, + eCSSKeyword_tb = 544, + eCSSKeyword_tb_rl = 545, + eCSSKeyword_text = 546, + eCSSKeyword_text_bottom = 547, + eCSSKeyword_text_top = 548, + eCSSKeyword_thick = 549, + eCSSKeyword_thin = 550, + eCSSKeyword_threeddarkshadow = 551, + eCSSKeyword_threedface = 552, + eCSSKeyword_threedhighlight = 553, + eCSSKeyword_threedlightshadow = 554, + eCSSKeyword_threedshadow = 555, + eCSSKeyword_titling_caps = 556, + eCSSKeyword_toggle = 557, + eCSSKeyword_top = 558, + eCSSKeyword_top_outside = 559, + eCSSKeyword_trad_chinese_formal = 560, + eCSSKeyword_trad_chinese_informal = 561, + eCSSKeyword_traditional = 562, + eCSSKeyword_translate = 563, + eCSSKeyword_translate3d = 564, + eCSSKeyword_translatex = 565, + eCSSKeyword_translatey = 566, + eCSSKeyword_translatez = 567, + eCSSKeyword_transparent = 568, + eCSSKeyword_triangle = 569, + eCSSKeyword_tri_state = 570, + eCSSKeyword_ultra_condensed = 571, + eCSSKeyword_ultra_expanded = 572, + eCSSKeyword_under = 573, + eCSSKeyword_underline = 574, + eCSSKeyword_unicase = 575, + eCSSKeyword_unsafe = 576, + eCSSKeyword_unset = 577, + eCSSKeyword_uppercase = 578, + eCSSKeyword_upright = 579, + eCSSKeyword_vertical = 580, + eCSSKeyword_vertical_lr = 581, + eCSSKeyword_vertical_rl = 582, + eCSSKeyword_vertical_text = 583, + eCSSKeyword_view_box = 584, + eCSSKeyword_visible = 585, + eCSSKeyword_visiblefill = 586, + eCSSKeyword_visiblepainted = 587, + eCSSKeyword_visiblestroke = 588, + eCSSKeyword_w_resize = 589, + eCSSKeyword_wait = 590, + eCSSKeyword_wavy = 591, + eCSSKeyword_weight = 592, + eCSSKeyword_wider = 593, + eCSSKeyword_window = 594, + eCSSKeyword_windowframe = 595, + eCSSKeyword_windowtext = 596, + eCSSKeyword_words = 597, + eCSSKeyword_wrap = 598, + eCSSKeyword_wrap_reverse = 599, + eCSSKeyword_write_only = 600, + eCSSKeyword_x_large = 601, + eCSSKeyword_x_small = 602, + eCSSKeyword_xx_large = 603, + eCSSKeyword_xx_small = 604, + eCSSKeyword_zoom_in = 605, + eCSSKeyword_zoom_out = 606, + eCSSKeyword_radio = 607, + eCSSKeyword_checkbox = 608, + eCSSKeyword_button_bevel = 609, + eCSSKeyword_toolbox = 610, + eCSSKeyword_toolbar = 611, + eCSSKeyword_toolbarbutton = 612, + eCSSKeyword_toolbargripper = 613, + eCSSKeyword_dualbutton = 614, + eCSSKeyword_toolbarbutton_dropdown = 615, + eCSSKeyword_button_arrow_up = 616, + eCSSKeyword_button_arrow_down = 617, + eCSSKeyword_button_arrow_next = 618, + eCSSKeyword_button_arrow_previous = 619, + eCSSKeyword_separator = 620, + eCSSKeyword_splitter = 621, + eCSSKeyword_statusbar = 622, + eCSSKeyword_statusbarpanel = 623, + eCSSKeyword_resizerpanel = 624, + eCSSKeyword_resizer = 625, + eCSSKeyword_listbox = 626, + eCSSKeyword_listitem = 627, + eCSSKeyword_numbers = 628, + eCSSKeyword_number_input = 629, + eCSSKeyword_treeview = 630, + eCSSKeyword_treeitem = 631, + eCSSKeyword_treetwisty = 632, + eCSSKeyword_treetwistyopen = 633, + eCSSKeyword_treeline = 634, + eCSSKeyword_treeheader = 635, + eCSSKeyword_treeheadercell = 636, + eCSSKeyword_treeheadersortarrow = 637, + eCSSKeyword_progressbar = 638, + eCSSKeyword_progressbar_vertical = 639, + eCSSKeyword_progresschunk = 640, + eCSSKeyword_progresschunk_vertical = 641, + eCSSKeyword_tab = 642, + eCSSKeyword_tabpanels = 643, + eCSSKeyword_tabpanel = 644, + eCSSKeyword_tab_scroll_arrow_back = 645, + eCSSKeyword_tab_scroll_arrow_forward = 646, + eCSSKeyword_tooltip = 647, + eCSSKeyword_spinner = 648, + eCSSKeyword_spinner_upbutton = 649, + eCSSKeyword_spinner_downbutton = 650, + eCSSKeyword_spinner_textfield = 651, + eCSSKeyword_scrollbarbutton_up = 652, + eCSSKeyword_scrollbarbutton_down = 653, + eCSSKeyword_scrollbarbutton_left = 654, + eCSSKeyword_scrollbarbutton_right = 655, + eCSSKeyword_scrollbartrack_horizontal = 656, + eCSSKeyword_scrollbartrack_vertical = 657, + eCSSKeyword_scrollbarthumb_horizontal = 658, + eCSSKeyword_scrollbarthumb_vertical = 659, + eCSSKeyword_sheet = 660, + eCSSKeyword_textfield = 661, + eCSSKeyword_textfield_multiline = 662, + eCSSKeyword_caret = 663, + eCSSKeyword_searchfield = 664, + eCSSKeyword_menubar = 665, + eCSSKeyword_menupopup = 666, + eCSSKeyword_menuitem = 667, + eCSSKeyword_checkmenuitem = 668, + eCSSKeyword_radiomenuitem = 669, + eCSSKeyword_menucheckbox = 670, + eCSSKeyword_menuradio = 671, + eCSSKeyword_menuseparator = 672, + eCSSKeyword_menuarrow = 673, + eCSSKeyword_menuimage = 674, + eCSSKeyword_menuitemtext = 675, + eCSSKeyword_menulist = 676, + eCSSKeyword_menulist_button = 677, + eCSSKeyword_menulist_text = 678, + eCSSKeyword_menulist_textfield = 679, + eCSSKeyword_meterbar = 680, + eCSSKeyword_meterchunk = 681, + eCSSKeyword_minimal_ui = 682, + eCSSKeyword_range = 683, + eCSSKeyword_range_thumb = 684, + eCSSKeyword_sans_serif = 685, + eCSSKeyword_sans_serif_bold_italic = 686, + eCSSKeyword_sans_serif_italic = 687, + eCSSKeyword_scale_horizontal = 688, + eCSSKeyword_scale_vertical = 689, + eCSSKeyword_scalethumb_horizontal = 690, + eCSSKeyword_scalethumb_vertical = 691, + eCSSKeyword_scalethumbstart = 692, + eCSSKeyword_scalethumbend = 693, + eCSSKeyword_scalethumbtick = 694, + eCSSKeyword_groupbox = 695, + eCSSKeyword_checkbox_container = 696, + eCSSKeyword_radio_container = 697, + eCSSKeyword_checkbox_label = 698, + eCSSKeyword_radio_label = 699, + eCSSKeyword_button_focus = 700, + eCSSKeyword__moz_win_media_toolbox = 701, + eCSSKeyword__moz_win_communications_toolbox = 702, + eCSSKeyword__moz_win_browsertabbar_toolbox = 703, + eCSSKeyword__moz_win_mediatext = 704, + eCSSKeyword__moz_win_communicationstext = 705, + eCSSKeyword__moz_win_glass = 706, + eCSSKeyword__moz_win_borderless_glass = 707, + eCSSKeyword__moz_window_titlebar = 708, + eCSSKeyword__moz_window_titlebar_maximized = 709, + eCSSKeyword__moz_window_frame_left = 710, + eCSSKeyword__moz_window_frame_right = 711, + eCSSKeyword__moz_window_frame_bottom = 712, + eCSSKeyword__moz_window_button_close = 713, + eCSSKeyword__moz_window_button_minimize = 714, + eCSSKeyword__moz_window_button_maximize = 715, + eCSSKeyword__moz_window_button_restore = 716, + eCSSKeyword__moz_window_button_box = 717, + eCSSKeyword__moz_window_button_box_maximized = 718, + eCSSKeyword__moz_mac_help_button = 719, + eCSSKeyword__moz_win_exclude_glass = 720, + eCSSKeyword__moz_mac_vibrancy_light = 721, + eCSSKeyword__moz_mac_vibrancy_dark = 722, + eCSSKeyword__moz_mac_disclosure_button_closed = 723, + eCSSKeyword__moz_mac_disclosure_button_open = 724, + eCSSKeyword__moz_mac_source_list = 725, + eCSSKeyword__moz_mac_source_list_selection = 726, + eCSSKeyword__moz_mac_active_source_list_selection = 727, + eCSSKeyword_alphabetic = 728, + eCSSKeyword_bevel = 729, + eCSSKeyword_butt = 730, + eCSSKeyword_central = 731, + eCSSKeyword_crispedges = 732, + eCSSKeyword_evenodd = 733, + eCSSKeyword_geometricprecision = 734, + eCSSKeyword_hanging = 735, + eCSSKeyword_ideographic = 736, + eCSSKeyword_linearrgb = 737, + eCSSKeyword_mathematical = 738, + eCSSKeyword_miter = 739, + eCSSKeyword_no_change = 740, + eCSSKeyword_non_scaling_stroke = 741, + eCSSKeyword_nonzero = 742, + eCSSKeyword_optimizelegibility = 743, + eCSSKeyword_optimizequality = 744, + eCSSKeyword_optimizespeed = 745, + eCSSKeyword_reset_size = 746, + eCSSKeyword_srgb = 747, + eCSSKeyword_symbolic = 748, + eCSSKeyword_symbols = 749, + eCSSKeyword_text_after_edge = 750, + eCSSKeyword_text_before_edge = 751, + eCSSKeyword_use_script = 752, + eCSSKeyword__moz_crisp_edges = 753, + eCSSKeyword_space = 754, + eCSSKeyword_COUNT = 755, } pub const nsStyleStructID_nsStyleStructID_DUMMY1: root::nsStyleStructID = nsStyleStructID::nsStyleStructID_None; @@ -13699,8 +16360,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSProps_KTableEntry() { - assert_eq!(::std::mem::size_of::<nsCSSProps_KTableEntry>() , 4usize); - assert_eq!(::std::mem::align_of::<nsCSSProps_KTableEntry>() , 2usize); + assert_eq!(::std::mem::size_of::<nsCSSProps_KTableEntry>() , 4usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSProps_KTableEntry ) )); + assert_eq! (::std::mem::align_of::<nsCSSProps_KTableEntry>() , 2usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSProps_KTableEntry ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mKeyword + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSProps_KTableEntry ) , "::" , stringify ! ( mKeyword ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSProps_KTableEntry ) ) . mValue + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSProps_KTableEntry ) , "::" , stringify ! ( mValue ) + )); } impl Clone for nsCSSProps_KTableEntry { fn clone(&self) -> Self { *self } @@ -14645,8 +17323,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSProps() { - assert_eq!(::std::mem::size_of::<nsCSSProps>() , 1usize); - assert_eq!(::std::mem::align_of::<nsCSSProps>() , 1usize); + assert_eq!(::std::mem::size_of::<nsCSSProps>() , 1usize , concat ! ( + "Size of: " , stringify ! ( nsCSSProps ) )); + assert_eq! (::std::mem::align_of::<nsCSSProps>() , 1usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSProps ) )); } impl Clone for nsCSSProps { fn clone(&self) -> Self { *self } @@ -14701,7 +17381,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct nsMainThreadPtrHandle<T> { - pub mPtr: root::RefPtr<T>, + pub mPtr: root::RefPtr<root::nsMainThreadPtrHolder<T>>, } #[repr(C)] #[derive(Debug, Copy)] @@ -14711,8 +17391,20 @@ pub mod root { } #[test] fn bindgen_test_layout_gfxFontFeature() { - assert_eq!(::std::mem::size_of::<gfxFontFeature>() , 8usize); - assert_eq!(::std::mem::align_of::<gfxFontFeature>() , 4usize); + assert_eq!(::std::mem::size_of::<gfxFontFeature>() , 8usize , concat ! + ( "Size of: " , stringify ! ( gfxFontFeature ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeature>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( gfxFontFeature ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeature ) ) . mTag as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontFeature ) , + "::" , stringify ! ( mTag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeature ) ) . mValue as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontFeature ) , + "::" , stringify ! ( mValue ) )); } impl Clone for gfxFontFeature { fn clone(&self) -> Self { *self } @@ -14725,8 +17417,22 @@ pub mod root { } #[test] fn bindgen_test_layout_gfxAlternateValue() { - assert_eq!(::std::mem::size_of::<gfxAlternateValue>() , 24usize); - assert_eq!(::std::mem::align_of::<gfxAlternateValue>() , 8usize); + assert_eq!(::std::mem::size_of::<gfxAlternateValue>() , 24usize , + concat ! ( "Size of: " , stringify ! ( gfxAlternateValue ) + )); + assert_eq! (::std::mem::align_of::<gfxAlternateValue>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( gfxAlternateValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxAlternateValue ) ) . alternate as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxAlternateValue ) + , "::" , stringify ! ( alternate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxAlternateValue ) ) . value as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxAlternateValue ) + , "::" , stringify ! ( value ) )); } #[repr(C)] #[derive(Debug)] @@ -14745,9 +17451,26 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_ValueList>() , - 24usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_ValueList>() - , 8usize); + 24usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_ValueList>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) + . name as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( + name ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet_ValueList ) ) + . featureSelectors as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_ValueList ) , "::" , stringify ! ( + featureSelectors ) )); } #[repr(C)] #[derive(Debug)] @@ -14758,9 +17481,27 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValues() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValues>() - , 16usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValues>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValues>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) + . alternate as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify + ! ( alternate ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const gfxFontFeatureValueSet_FeatureValues ) ) + . valuelist as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValues ) , "::" , stringify + ! ( valuelist ) )); } #[repr(C)] #[derive(Debug)] @@ -14772,9 +17513,38 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashKey() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashKey>() - , 40usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashKey>() - , 8usize); + , 40usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashKey>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) + ) . mFamily as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , + stringify ! ( mFamily ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) + ) . mPropVal as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , + stringify ! ( mPropVal ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashKey ) + ) . mName as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashKey ) , "::" , + stringify ! ( mName ) )); } #[repr(C)] #[derive(Debug)] @@ -14799,14 +17569,53 @@ pub mod root { #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry() { assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>() - , 56usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>() - , 8usize); + , 56usize , concat ! ( + "Size of: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry + ) ) . mKey as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , + stringify ! ( mKey ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const gfxFontFeatureValueSet_FeatureValueHashEntry + ) ) . mValues as * const _ as usize } , 48usize , concat ! + ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet_FeatureValueHashEntry ) , "::" , + stringify ! ( mValues ) )); } #[test] fn bindgen_test_layout_gfxFontFeatureValueSet() { - assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet>() , 48usize); - assert_eq!(::std::mem::align_of::<gfxFontFeatureValueSet>() , 8usize); + assert_eq!(::std::mem::size_of::<gfxFontFeatureValueSet>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( gfxFontFeatureValueSet ) )); + assert_eq! (::std::mem::align_of::<gfxFontFeatureValueSet>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( gfxFontFeatureValueSet ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . mRefCnt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontFeatureValueSet ) ) . + mFontFeatureValues as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + gfxFontFeatureValueSet ) , "::" , stringify ! ( + mFontFeatureValues ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -14816,8 +17625,21 @@ pub mod root { } #[test] fn bindgen_test_layout_gfxFontVariation() { - assert_eq!(::std::mem::size_of::<gfxFontVariation>() , 8usize); - assert_eq!(::std::mem::align_of::<gfxFontVariation>() , 4usize); + assert_eq!(::std::mem::size_of::<gfxFontVariation>() , 8usize , concat + ! ( "Size of: " , stringify ! ( gfxFontVariation ) )); + assert_eq! (::std::mem::align_of::<gfxFontVariation>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( gfxFontVariation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontVariation ) ) . mTag as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontVariation ) + , "::" , stringify ! ( mTag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const gfxFontVariation ) ) . mValue as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( gfxFontVariation ) + , "::" , stringify ! ( mValue ) )); } impl Clone for gfxFontVariation { fn clone(&self) -> Self { *self } @@ -14853,8 +17675,120 @@ pub mod root { } #[test] fn bindgen_test_layout_nsFont() { - assert_eq!(::std::mem::size_of::<nsFont>() , 96usize); - assert_eq!(::std::mem::align_of::<nsFont>() , 8usize); + assert_eq!(::std::mem::size_of::<nsFont>() , 96usize , concat ! ( + "Size of: " , stringify ! ( nsFont ) )); + assert_eq! (::std::mem::align_of::<nsFont>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . fontlist as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( fontlist ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . style as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( style ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . systemFont as * const _ + as usize } , 17usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( systemFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantCaps as * const _ + as usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantCaps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantNumeric as * + const _ as usize } , 19usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantNumeric ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantPosition as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantWidth as * const + _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantLigatures as * + const _ as usize } , 22usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantLigatures ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantEastAsian as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantEastAsian ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . variantAlternates as * + const _ as usize } , 26usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( variantAlternates ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . smoothing as * const _ + as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( smoothing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . weight as * const _ as + usize } , 30usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( weight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . stretch as * const _ as + usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( stretch ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . kerning as * const _ as + usize } , 34usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( kerning ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . synthesis as * const _ + as usize } , 35usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( synthesis ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . size as * const _ as + usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( size ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . sizeAdjust as * const _ + as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( sizeAdjust ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . alternateValues as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( alternateValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . featureValueLookup as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( featureValueLookup ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . fontFeatureSettings as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( fontFeatureSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . fontVariationSettings as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( fontVariationSettings ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFont ) ) . languageOverride as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFont ) , "::" , + stringify ! ( languageOverride ) )); } pub const nsStyleUnit_eStyleUnit_MAX: root::nsStyleUnit = nsStyleUnit::eStyleUnit_Calc; @@ -14879,21 +17813,37 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy)] - pub struct _bindgen_ty_25 { + pub struct nsStyleUnion { pub mInt: root::__BindgenUnionField<i32>, pub mFloat: root::__BindgenUnionField<f32>, pub mPointer: root::__BindgenUnionField<*mut ::std::os::raw::c_void>, pub bindgen_union_field: u64, } #[test] - fn bindgen_test_layout__bindgen_ty_25() { - assert_eq!(::std::mem::size_of::<_bindgen_ty_25>() , 8usize); - assert_eq!(::std::mem::align_of::<_bindgen_ty_25>() , 8usize); - } - impl Clone for _bindgen_ty_25 { + fn bindgen_test_layout_nsStyleUnion() { + assert_eq!(::std::mem::size_of::<nsStyleUnion>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleUnion ) )); + assert_eq! (::std::mem::align_of::<nsStyleUnion>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleUnion ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUnion ) ) . mInt as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUnion ) , + "::" , stringify ! ( mInt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUnion ) ) . mFloat as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUnion ) , + "::" , stringify ! ( mFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUnion ) ) . mPointer as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUnion ) , + "::" , stringify ! ( mPointer ) )); + } + impl Clone for nsStyleUnion { fn clone(&self) -> Self { *self } } - pub type nsStyleUnion = root::_bindgen_ty_25; /** * Class that hold a single size specification used by the style * system. The size specification consists of two parts -- a number @@ -14918,8 +17868,31 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleCoord_CalcValue() { - assert_eq!(::std::mem::size_of::<nsStyleCoord_CalcValue>() , 12usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord_CalcValue>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleCoord_CalcValue>() , 12usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleCoord_CalcValue ) )); + assert_eq! (::std::mem::align_of::<nsStyleCoord_CalcValue>() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleCoord_CalcValue ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_CalcValue ) ) . mLength + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleCoord_CalcValue ) , "::" , stringify ! ( mLength ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_CalcValue ) ) . mPercent + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleCoord_CalcValue ) , "::" , stringify ! ( mPercent ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_CalcValue ) ) . + mHasPercent as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleCoord_CalcValue ) , "::" , stringify ! ( + mHasPercent ) )); } impl Clone for nsStyleCoord_CalcValue { fn clone(&self) -> Self { *self } @@ -14933,16 +17906,37 @@ pub mod root { pub type nsStyleCoord_Calc_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleCoord_Calc() { - assert_eq!(::std::mem::size_of::<nsStyleCoord_Calc>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord_Calc>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCoord_Calc>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsStyleCoord_Calc ) + )); + assert_eq! (::std::mem::align_of::<nsStyleCoord_Calc>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleCoord_Calc ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord_Calc ) ) . mRefCnt as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCoord_Calc ) + , "::" , stringify ! ( mRefCnt ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsStyleCoord_CoordConstructorType { CoordConstructor = 0, } #[test] fn bindgen_test_layout_nsStyleCoord() { - assert_eq!(::std::mem::size_of::<nsStyleCoord>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleCoord>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCoord>() , 16usize , concat ! + ( "Size of: " , stringify ! ( nsStyleCoord ) )); + assert_eq! (::std::mem::align_of::<nsStyleCoord>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleCoord ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord ) ) . mUnit as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCoord ) , + "::" , stringify ! ( mUnit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCoord ) ) . mValue as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCoord ) , + "::" , stringify ! ( mValue ) )); } impl nsStyleCoord { #[inline] @@ -14974,8 +17968,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleSides() { - assert_eq!(::std::mem::size_of::<nsStyleSides>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleSides>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSides>() , 40usize , concat ! + ( "Size of: " , stringify ! ( nsStyleSides ) )); + assert_eq! (::std::mem::align_of::<nsStyleSides>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleSides ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSides ) ) . mUnits as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSides ) , + "::" , stringify ! ( mUnits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSides ) ) . mValues as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSides ) , + "::" , stringify ! ( mValues ) )); } impl nsStyleSides { #[inline] @@ -15011,8 +18017,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleCorners() { - assert_eq!(::std::mem::size_of::<nsStyleCorners>() , 72usize); - assert_eq!(::std::mem::align_of::<nsStyleCorners>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCorners>() , 72usize , concat + ! ( "Size of: " , stringify ! ( nsStyleCorners ) )); + assert_eq! (::std::mem::align_of::<nsStyleCorners>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleCorners ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCorners ) ) . mUnits as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCorners ) , + "::" , stringify ! ( mUnits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCorners ) ) . mValues as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCorners ) , + "::" , stringify ! ( mValues ) )); } impl nsStyleCorners { #[inline] @@ -15072,14 +18090,34 @@ pub mod root { #[test] fn bindgen_test_layout_imgRequestProxy_imgCancelRunnable() { assert_eq!(::std::mem::size_of::<imgRequestProxy_imgCancelRunnable>() - , 48usize); - assert_eq!(::std::mem::align_of::<imgRequestProxy_imgCancelRunnable>() - , 8usize); + , 48usize , concat ! ( + "Size of: " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) )); + assert_eq! (::std::mem::align_of::<imgRequestProxy_imgCancelRunnable>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) + . mOwner as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( + mOwner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const imgRequestProxy_imgCancelRunnable ) ) + . mStatus as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + imgRequestProxy_imgCancelRunnable ) , "::" , stringify ! ( + mStatus ) )); } #[test] fn bindgen_test_layout_imgRequestProxy() { - assert_eq!(::std::mem::size_of::<imgRequestProxy>() , 112usize); - assert_eq!(::std::mem::align_of::<imgRequestProxy>() , 8usize); + assert_eq!(::std::mem::size_of::<imgRequestProxy>() , 112usize , + concat ! ( "Size of: " , stringify ! ( imgRequestProxy ) + )); + assert_eq! (::std::mem::align_of::<imgRequestProxy>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( imgRequestProxy ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -15187,8 +18225,60 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueGradient() { - assert_eq!(::std::mem::size_of::<nsCSSValueGradient>() , 104usize); - assert_eq!(::std::mem::align_of::<nsCSSValueGradient>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueGradient>() , 104usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValueGradient ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValueGradient>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRadial as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsRadial ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mIsRepeating + as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsRepeating ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + mIsLegacySyntax as * const _ as usize } , 2usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsLegacySyntax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + mIsExplicitSize as * const _ as usize } , 3usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mIsExplicitSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mBgPos as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mBgPos ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mAngle as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mAngle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . + mRadialValues as * const _ as usize } , 56usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mRadialValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mStops as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mStops ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradient ) ) . mRefCnt as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueGradient + ) , "::" , stringify ! ( mRefCnt ) )); } #[repr(C)] #[derive(Debug)] @@ -15198,8 +18288,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValuePair() { - assert_eq!(::std::mem::size_of::<nsCSSValuePair>() , 32usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePair>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePair>() , 32usize , concat + ! ( "Size of: " , stringify ! ( nsCSSValuePair ) )); + assert_eq! (::std::mem::align_of::<nsCSSValuePair>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCSSValuePair ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair ) ) . mXValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair ) , + "::" , stringify ! ( mXValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair ) ) . mYValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair ) , + "::" , stringify ! ( mYValue ) )); } #[repr(C)] #[derive(Debug)] @@ -15211,8 +18313,17 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValuePair_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValuePair_heap>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePair_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePair_heap>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValuePair_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValuePair_heap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValuePair_heap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePair_heap ) ) . mRefCnt as + * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePair_heap + ) , "::" , stringify ! ( mRefCnt ) )); } #[repr(C)] #[derive(Debug)] @@ -15232,8 +18343,76 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueTokenStream() { - assert_eq!(::std::mem::size_of::<nsCSSValueTokenStream>() , 72usize); - assert_eq!(::std::mem::align_of::<nsCSSValueTokenStream>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueTokenStream>() , 72usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueTokenStream ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueTokenStream>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueTokenStream ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mRefCnt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mPropertyID as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mPropertyID + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mShorthandPropertyID as * const _ as usize } , 12usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + mShorthandPropertyID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mTokenStream as * const _ as usize } , 16usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + mTokenStream ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mBaseURI + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mBaseURI ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mSheetURI + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mSheetURI ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mSheetPrincipal as * const _ as usize } , 48usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( + mSheetPrincipal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mLineNumber as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mLineNumber + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . + mLineOffset as * const _ as usize } , 60usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mLineOffset + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTokenStream ) ) . mLevel as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTokenStream ) , "::" , stringify ! ( mLevel ) + )); } #[repr(C)] #[derive(Debug)] @@ -15250,8 +18429,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSRect() { - assert_eq!(::std::mem::size_of::<nsCSSRect>() , 64usize); - assert_eq!(::std::mem::align_of::<nsCSSRect>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSRect>() , 64usize , concat ! ( + "Size of: " , stringify ! ( nsCSSRect ) )); + assert_eq! (::std::mem::align_of::<nsCSSRect>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mTop as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mTop ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mRight as * const _ + as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mRight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mBottom as * const _ + as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mBottom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect ) ) . mLeft as * const _ as + usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect ) , "::" + , stringify ! ( mLeft ) )); } #[repr(C)] #[derive(Debug)] @@ -15262,8 +18463,15 @@ pub mod root { pub type nsCSSRect_heap_HasThreadSafeRefCnt = root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSRect_heap() { - assert_eq!(::std::mem::size_of::<nsCSSRect_heap>() , 72usize); - assert_eq!(::std::mem::align_of::<nsCSSRect_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSRect_heap>() , 72usize , concat + ! ( "Size of: " , stringify ! ( nsCSSRect_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSRect_heap>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCSSRect_heap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSRect_heap ) ) . mRefCnt as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSRect_heap ) , + "::" , stringify ! ( mRefCnt ) )); } #[repr(C)] #[derive(Debug)] @@ -15273,8 +18481,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValueList() { - assert_eq!(::std::mem::size_of::<nsCSSValueList>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSSValueList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueList>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsCSSValueList ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueList>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCSSValueList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList ) ) . mValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList ) , + "::" , stringify ! ( mValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList ) ) . mNext as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList ) , + "::" , stringify ! ( mNext ) )); } #[repr(C)] #[derive(Debug)] @@ -15286,8 +18506,17 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueList_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValueList_heap>() , 32usize); - assert_eq!(::std::mem::align_of::<nsCSSValueList_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueList_heap>() , 32usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueList_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueList_heap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueList_heap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueList_heap ) ) . mRefCnt as + * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueList_heap + ) , "::" , stringify ! ( mRefCnt ) )); } #[repr(C)] #[derive(Debug)] @@ -15299,8 +18528,23 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsCSSValueSharedList() { - assert_eq!(::std::mem::size_of::<nsCSSValueSharedList>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCSSValueSharedList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueSharedList>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueSharedList ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueSharedList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueSharedList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueSharedList ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueSharedList ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueSharedList ) ) . mHead as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueSharedList ) , "::" , stringify ! ( mHead ) )); } #[repr(C)] #[derive(Debug)] @@ -15311,8 +18555,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValuePairList() { - assert_eq!(::std::mem::size_of::<nsCSSValuePairList>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePairList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePairList>() , 40usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValuePairList ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValuePairList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValuePairList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList ) ) . mXValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePairList + ) , "::" , stringify ! ( mXValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList ) ) . mYValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePairList + ) , "::" , stringify ! ( mYValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList ) ) . mNext as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValuePairList + ) , "::" , stringify ! ( mNext ) )); } #[repr(C)] #[derive(Debug)] @@ -15324,10 +18587,19 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValuePairList_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValuePairList_heap>() , - 48usize); - assert_eq!(::std::mem::align_of::<nsCSSValuePairList_heap>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValuePairList_heap>() , 48usize + , concat ! ( + "Size of: " , stringify ! ( nsCSSValuePairList_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValuePairList_heap>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSValuePairList_heap ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValuePairList_heap ) ) . mRefCnt + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValuePairList_heap ) , "::" , stringify ! ( mRefCnt ) + )); } #[repr(C)] #[derive(Debug)] @@ -15338,8 +18610,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValueTriplet() { - assert_eq!(::std::mem::size_of::<nsCSSValueTriplet>() , 48usize); - assert_eq!(::std::mem::align_of::<nsCSSValueTriplet>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueTriplet>() , 48usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValueTriplet ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValueTriplet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueTriplet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet ) ) . mXValue as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) + , "::" , stringify ! ( mXValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet ) ) . mYValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) + , "::" , stringify ! ( mYValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet ) ) . mZValue as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValueTriplet ) + , "::" , stringify ! ( mZValue ) )); } #[repr(C)] #[derive(Debug)] @@ -15351,8 +18642,19 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueTriplet_heap() { - assert_eq!(::std::mem::size_of::<nsCSSValueTriplet_heap>() , 56usize); - assert_eq!(::std::mem::align_of::<nsCSSValueTriplet_heap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueTriplet_heap>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueTriplet_heap ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueTriplet_heap>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSValueTriplet_heap ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueTriplet_heap ) ) . mRefCnt + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueTriplet_heap ) , "::" , stringify ! ( mRefCnt ) + )); } #[repr(C)] #[derive(Debug)] @@ -15367,8 +18669,41 @@ pub mod root { root::mozilla::FalseType; #[test] fn bindgen_test_layout_nsCSSValueFloatColor() { - assert_eq!(::std::mem::size_of::<nsCSSValueFloatColor>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueFloatColor>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueFloatColor ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueFloatColor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValueFloatColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mRefCnt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + mComponent1 as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent1 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + mComponent2 as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent2 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . + mComponent3 as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mComponent3 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueFloatColor ) ) . mAlpha as + * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueFloatColor ) , "::" , stringify ! ( mAlpha ) )); } #[repr(C)] #[derive(Debug)] @@ -15385,8 +18720,27 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValue_Array() { - assert_eq!(::std::mem::size_of::<nsCSSValue_Array>() , 32usize); - assert_eq!(::std::mem::align_of::<nsCSSValue_Array>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValue_Array>() , 32usize , + concat ! ( "Size of: " , stringify ! ( nsCSSValue_Array ) + )); + assert_eq! (::std::mem::align_of::<nsCSSValue_Array>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSValue_Array ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue_Array ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue_Array ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue_Array ) ) . mCount as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue_Array ) + , "::" , stringify ! ( mCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue_Array ) ) . mArray as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue_Array ) + , "::" , stringify ! ( mArray ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -15422,18 +18776,164 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValue__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsCSSValue__bindgen_ty_1>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValue__bindgen_ty_1>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( nsCSSValue__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsCSSValue__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSValue__bindgen_ty_1 ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mInt + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mInt ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mFloat + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mFloat ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mString as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mString + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mColor + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mArray + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mArray ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mURL + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mURL ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mImage + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mImage ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mGridTemplateAreas as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mGridTemplateAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mGradient as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mTokenStream as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mTokenStream ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mPair + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mPair ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mRect + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mRect ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mTriplet as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mTriplet + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . mList + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( mList ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mListDependent as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mListDependent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mSharedList as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mSharedList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mPairList as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mPairList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mPairListDependent as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mPairListDependent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mFloatColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mFloatColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mFontFamilyList as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mFontFamilyList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue__bindgen_ty_1 ) ) . + mComplexColor as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsCSSValue__bindgen_ty_1 ) , "::" , stringify ! ( + mComplexColor ) )); } impl Clone for nsCSSValue__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsCSSValue() { - assert_eq!(::std::mem::size_of::<nsCSSValue>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCSSValue>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValue>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsCSSValue ) )); + assert_eq! (::std::mem::align_of::<nsCSSValue>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsCSSValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue ) ) . mUnit as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" + , stringify ! ( mUnit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValue ) ) . mValue as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSValue ) , "::" + , stringify ! ( mValue ) )); } #[repr(C)] #[derive(Debug)] @@ -15444,8 +18944,32 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSValueGradientStop() { - assert_eq!(::std::mem::size_of::<nsCSSValueGradientStop>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSValueGradientStop>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSValueGradientStop>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsCSSValueGradientStop ) )); + assert_eq! (::std::mem::align_of::<nsCSSValueGradientStop>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsCSSValueGradientStop ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradientStop ) ) . + mLocation as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueGradientStop ) , "::" , stringify ! ( mLocation + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradientStop ) ) . mColor + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueGradientStop ) , "::" , stringify ! ( mColor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSValueGradientStop ) ) . + mIsInterpolationHint as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsCSSValueGradientStop ) , "::" , stringify ! ( + mIsInterpolationHint ) )); } #[repr(C)] pub struct nsQueryFrame__bindgen_vtable { @@ -15638,8 +19162,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsQueryFrame() { - assert_eq!(::std::mem::size_of::<nsQueryFrame>() , 8usize); - assert_eq!(::std::mem::align_of::<nsQueryFrame>() , 8usize); + assert_eq!(::std::mem::size_of::<nsQueryFrame>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsQueryFrame ) )); + assert_eq! (::std::mem::align_of::<nsQueryFrame>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsQueryFrame ) )); } impl Clone for nsQueryFrame { fn clone(&self) -> Self { *self } @@ -15831,8 +19357,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsAttrName() { - assert_eq!(::std::mem::size_of::<nsAttrName>() , 8usize); - assert_eq!(::std::mem::align_of::<nsAttrName>() , 8usize); + assert_eq!(::std::mem::size_of::<nsAttrName>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsAttrName ) )); + assert_eq! (::std::mem::align_of::<nsAttrName>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsAttrName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsAttrName ) ) . mBits as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsAttrName ) , "::" + , stringify ! ( mBits ) )); } #[repr(u32)] /** @@ -15884,8 +19417,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISelectionDisplay() { - assert_eq!(::std::mem::size_of::<nsISelectionDisplay>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISelectionDisplay>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISelectionDisplay>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISelectionDisplay ) )); + assert_eq! (::std::mem::align_of::<nsISelectionDisplay>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsISelectionDisplay ) )); } impl Clone for nsISelectionDisplay { fn clone(&self) -> Self { *self } @@ -16028,8 +19565,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISelectionController() { - assert_eq!(::std::mem::size_of::<nsISelectionController>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISelectionController>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISelectionController>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISelectionController ) )); + assert_eq! (::std::mem::align_of::<nsISelectionController>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsISelectionController ) + )); } impl Clone for nsISelectionController { fn clone(&self) -> Self { *self } @@ -16049,8 +19591,46 @@ pub mod root { pub struct nsFrameManagerBase_UndisplayedMap([u8; 0]); #[test] fn bindgen_test_layout_nsFrameManagerBase() { - assert_eq!(::std::mem::size_of::<nsFrameManagerBase>() , 80usize); - assert_eq!(::std::mem::align_of::<nsFrameManagerBase>() , 8usize); + assert_eq!(::std::mem::size_of::<nsFrameManagerBase>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsFrameManagerBase ) + )); + assert_eq! (::std::mem::align_of::<nsFrameManagerBase>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsFrameManagerBase ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . mPresShell + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mPresShell ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . mRootFrame + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mRootFrame ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mPlaceholderMap as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mPlaceholderMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mUndisplayedMap as * const _ as usize } , 56usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mUndisplayedMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mDisplayContentsMap as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mDisplayContentsMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsFrameManagerBase ) ) . + mIsDestroyingFrames as * const _ as usize } , 72usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsFrameManagerBase + ) , "::" , stringify ! ( mIsDestroyingFrames ) )); } #[repr(C)] #[derive(Debug)] @@ -16079,13 +19659,58 @@ pub mod root { pub enum nsPresArena_FreeList__bindgen_ty_1 { ALLOW_MEMMOVE = 0, } #[test] fn bindgen_test_layout_nsPresArena_FreeList() { - assert_eq!(::std::mem::size_of::<nsPresArena_FreeList>() , 40usize); - assert_eq!(::std::mem::align_of::<nsPresArena_FreeList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPresArena_FreeList>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsPresArena_FreeList ) )); + assert_eq! (::std::mem::align_of::<nsPresArena_FreeList>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsPresArena_FreeList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . mEntries + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( mEntries ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . mEntrySize + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( mEntrySize ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . + mEntriesEverAllocated as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( + mEntriesEverAllocated ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena_FreeList ) ) . mKey as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsPresArena_FreeList ) , "::" , stringify ! ( mKey ) )); } #[test] fn bindgen_test_layout_nsPresArena() { - assert_eq!(::std::mem::size_of::<nsPresArena>() , 136usize); - assert_eq!(::std::mem::align_of::<nsPresArena>() , 8usize); + assert_eq!(::std::mem::size_of::<nsPresArena>() , 136usize , concat ! + ( "Size of: " , stringify ! ( nsPresArena ) )); + assert_eq! (::std::mem::align_of::<nsPresArena>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsPresArena ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena ) ) . mFreeLists as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresArena ) , + "::" , stringify ! ( mFreeLists ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena ) ) . mPool as * const _ + as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresArena ) , + "::" , stringify ! ( mPool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresArena ) ) . mArenaRefPtrs as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresArena ) , + "::" , stringify ! ( mArenaRefPtrs ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -16097,8 +19722,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLArena() { - assert_eq!(::std::mem::size_of::<PLArena>() , 32usize); - assert_eq!(::std::mem::align_of::<PLArena>() , 8usize); + assert_eq!(::std::mem::size_of::<PLArena>() , 32usize , concat ! ( + "Size of: " , stringify ! ( PLArena ) )); + assert_eq! (::std::mem::align_of::<PLArena>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( PLArena ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . next as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . base as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( base ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . limit as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( limit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArena ) ) . avail as * const _ as + usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArena ) , "::" , + stringify ! ( avail ) )); } impl Clone for PLArena { fn clone(&self) -> Self { *self } @@ -16113,8 +19760,30 @@ pub mod root { } #[test] fn bindgen_test_layout_PLArenaPool() { - assert_eq!(::std::mem::size_of::<PLArenaPool>() , 56usize); - assert_eq!(::std::mem::align_of::<PLArenaPool>() , 8usize); + assert_eq!(::std::mem::size_of::<PLArenaPool>() , 56usize , concat ! ( + "Size of: " , stringify ! ( PLArenaPool ) )); + assert_eq! (::std::mem::align_of::<PLArenaPool>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( PLArenaPool ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . first as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( first ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . current as * const + _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( current ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . arenasize as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( arenasize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PLArenaPool ) ) . mask as * const _ + as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( PLArenaPool ) , + "::" , stringify ! ( mask ) )); } impl Clone for PLArenaPool { fn clone(&self) -> Self { *self } @@ -16176,10 +19845,13 @@ pub mod root { } #[test] fn bindgen_test_layout_imgINotificationObserver() { - assert_eq!(::std::mem::size_of::<imgINotificationObserver>() , - 8usize); - assert_eq!(::std::mem::align_of::<imgINotificationObserver>() , - 8usize); + assert_eq!(::std::mem::size_of::<imgINotificationObserver>() , 8usize + , concat ! ( + "Size of: " , stringify ! ( imgINotificationObserver ) )); + assert_eq! (::std::mem::align_of::<imgINotificationObserver>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( imgINotificationObserver ) + )); } impl Clone for imgINotificationObserver { fn clone(&self) -> Self { *self } @@ -16543,8 +20215,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScrollableFrame() { - assert_eq!(::std::mem::size_of::<nsIScrollableFrame>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIScrollableFrame>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScrollableFrame>() , 8usize , + concat ! ( "Size of: " , stringify ! ( nsIScrollableFrame ) + )); + assert_eq! (::std::mem::align_of::<nsIScrollableFrame>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScrollableFrame ) )); } impl Clone for nsIScrollableFrame { fn clone(&self) -> Self { *self } @@ -16581,8 +20257,43 @@ pub mod root { } #[test] fn bindgen_test_layout_CapturingContentInfo() { - assert_eq!(::std::mem::size_of::<CapturingContentInfo>() , 16usize); - assert_eq!(::std::mem::align_of::<CapturingContentInfo>() , 8usize); + assert_eq!(::std::mem::size_of::<CapturingContentInfo>() , 16usize , + concat ! ( + "Size of: " , stringify ! ( CapturingContentInfo ) )); + assert_eq! (::std::mem::align_of::<CapturingContentInfo>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CapturingContentInfo ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . mAllowed + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mAllowed ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . + mPointerLock as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mPointerLock + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . + mRetargetToElement as * const _ as usize } , 2usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( + mRetargetToElement ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . + mPreventDrag as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mPreventDrag + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CapturingContentInfo ) ) . mContent + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + CapturingContentInfo ) , "::" , stringify ! ( mContent ) + )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -16666,8 +20377,291 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleDisplay() { - assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize); - assert_eq!(::std::mem::align_of::<nsStyleDisplay>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat + ! ( "Size of: " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBinding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mContain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * + const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAppearance ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * + const _ as usize } , 13usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat + as * const _ as usize } , 14usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * + const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakInside ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as + * const _ as usize } , 17usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakBefore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * + const _ as usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakAfter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * + const _ as usize } , 19usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox + as * const _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowClipBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * + const _ as usize } , 22usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mResize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * + const _ as usize } , 23usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mIsolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * + const _ as usize } , 25usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTopLayer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mWillChangeBitField as * const _ as usize } , 26usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChangeBitField ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChange ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTouchAction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior + as * const _ as usize } , 41usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollBehavior ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX + as * const _ as usize } , 42usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY + as * const _ as usize } , 43usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsX as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsY as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapDestination as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapDestination ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapCoordinate as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapCoordinate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mBackfaceVisibility as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBackfaceVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle + as * const _ as usize } , 113usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as + * const _ as usize } , 114usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mSpecifiedTransform as * const _ as usize } , 120usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mSpecifiedTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin + as * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mChildPerspective as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mChildPerspective ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mPerspectiveOrigin as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPerspectiveOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign + as * const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mVerticalAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as + * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionTimingFunctionCount as * const _ as usize } , + 288usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDurationCount as * const _ as usize } , + 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDelayCount as * const _ as usize } , 296usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionPropertyCount as * const _ as usize } , + 300usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionPropertyCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * + const _ as usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimations ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationTimingFunctionCount as * const _ as usize } , + 368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDurationCount as * const _ as usize } , 372usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDelayCount as * const _ as usize } , 376usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationNameCount as * const _ as usize } , 380usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationNameCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDirectionCount as * const _ as usize } , + 384usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDirectionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationFillModeCount as * const _ as usize } , 388usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationFillModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationPlayStateCount as * const _ as usize } , + 392usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationPlayStateCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationIterationCountCount as * const _ as usize } , + 396usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationIterationCountCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as + * const _ as usize } , 400usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mShapeOutside ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -16683,8 +20677,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILanguageAtomService() { - assert_eq!(::std::mem::size_of::<nsILanguageAtomService>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILanguageAtomService>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILanguageAtomService>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsILanguageAtomService ) )); + assert_eq! (::std::mem::align_of::<nsILanguageAtomService>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsILanguageAtomService ) + )); } impl Clone for nsILanguageAtomService { fn clone(&self) -> Self { *self } @@ -16712,8 +20711,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsILinkHandler() { - assert_eq!(::std::mem::size_of::<nsILinkHandler>() , 8usize); - assert_eq!(::std::mem::align_of::<nsILinkHandler>() , 8usize); + assert_eq!(::std::mem::size_of::<nsILinkHandler>() , 8usize , concat ! + ( "Size of: " , stringify ! ( nsILinkHandler ) )); + assert_eq! (::std::mem::align_of::<nsILinkHandler>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsILinkHandler ) )); } impl Clone for nsILinkHandler { fn clone(&self) -> Self { *self } @@ -16750,18 +20751,44 @@ pub mod root { #[test] fn bindgen_test_layout_nsInvalidateRequestList_Request() { assert_eq!(::std::mem::size_of::<nsInvalidateRequestList_Request>() , - 20usize); - assert_eq!(::std::mem::align_of::<nsInvalidateRequestList_Request>() , - 4usize); + 20usize , concat ! ( + "Size of: " , stringify ! ( nsInvalidateRequestList_Request + ) )); + assert_eq! (::std::mem::align_of::<nsInvalidateRequestList_Request>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsInvalidateRequestList_Request ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsInvalidateRequestList_Request ) ) . + mRect as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsInvalidateRequestList_Request ) , "::" , stringify ! ( + mRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsInvalidateRequestList_Request ) ) . + mFlags as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsInvalidateRequestList_Request ) , "::" , stringify ! ( + mFlags ) )); } impl Clone for nsInvalidateRequestList_Request { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsInvalidateRequestList() { - assert_eq!(::std::mem::size_of::<nsInvalidateRequestList>() , 8usize); - assert_eq!(::std::mem::align_of::<nsInvalidateRequestList>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsInvalidateRequestList>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsInvalidateRequestList ) )); + assert_eq! (::std::mem::align_of::<nsInvalidateRequestList>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsInvalidateRequestList ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsInvalidateRequestList ) ) . + mRequests as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsInvalidateRequestList ) , "::" , stringify ! ( mRequests + ) )); } #[repr(C)] #[derive(Debug)] @@ -16783,14 +20810,66 @@ pub mod root { #[test] fn bindgen_test_layout_nsRootPresContext_RunWillPaintObservers() { assert_eq!(::std::mem::size_of::<nsRootPresContext_RunWillPaintObservers>() - , 40usize); - assert_eq!(::std::mem::align_of::<nsRootPresContext_RunWillPaintObservers>() - , 8usize); + , 40usize , concat ! ( + "Size of: " , stringify ! ( + nsRootPresContext_RunWillPaintObservers ) )); + assert_eq! (::std::mem::align_of::<nsRootPresContext_RunWillPaintObservers>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsRootPresContext_RunWillPaintObservers ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsRootPresContext_RunWillPaintObservers ) + ) . mPresContext as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsRootPresContext_RunWillPaintObservers ) , "::" , + stringify ! ( mPresContext ) )); } #[test] fn bindgen_test_layout_nsRootPresContext() { - assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1344usize); - assert_eq!(::std::mem::align_of::<nsRootPresContext>() , 8usize); + assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1344usize , + concat ! ( "Size of: " , stringify ! ( nsRootPresContext ) + )); + assert_eq! (::std::mem::align_of::<nsRootPresContext>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsRootPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mNotifyDidPaintTimer as * const _ as usize } , 1264usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mNotifyDidPaintTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mApplyPluginGeometryTimer as * const _ as usize } , + 1272usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mApplyPluginGeometryTimer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mRegisteredPlugins as * const _ as usize } , 1280usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mRegisteredPlugins ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mWillPaintObservers as * const _ as usize } , 1320usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mWillPaintObservers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mWillPaintFallbackEvent as * const _ as usize } , + 1328usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mWillPaintFallbackEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRootPresContext ) ) . + mDOMGeneration as * const _ as usize } , 1336usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsRootPresContext ) + , "::" , stringify ! ( mDOMGeneration ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -16809,9 +20888,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISecurityInfoProvider() { - assert_eq!(::std::mem::size_of::<nsISecurityInfoProvider>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISecurityInfoProvider>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsISecurityInfoProvider>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISecurityInfoProvider ) )); + assert_eq! (::std::mem::align_of::<nsISecurityInfoProvider>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsISecurityInfoProvider ) + )); } impl Clone for nsISecurityInfoProvider { fn clone(&self) -> Self { *self } @@ -16854,8 +20937,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsISupportsPriority() { - assert_eq!(::std::mem::size_of::<nsISupportsPriority>() , 8usize); - assert_eq!(::std::mem::align_of::<nsISupportsPriority>() , 8usize); + assert_eq!(::std::mem::size_of::<nsISupportsPriority>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsISupportsPriority ) )); + assert_eq! (::std::mem::align_of::<nsISupportsPriority>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsISupportsPriority ) )); } impl Clone for nsISupportsPriority { fn clone(&self) -> Self { *self } @@ -16874,8 +20961,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsITimedChannel() { - assert_eq!(::std::mem::size_of::<nsITimedChannel>() , 8usize); - assert_eq!(::std::mem::align_of::<nsITimedChannel>() , 8usize); + assert_eq!(::std::mem::size_of::<nsITimedChannel>() , 8usize , concat + ! ( "Size of: " , stringify ! ( nsITimedChannel ) )); + assert_eq! (::std::mem::align_of::<nsITimedChannel>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsITimedChannel ) )); } impl Clone for nsITimedChannel { fn clone(&self) -> Self { *self } @@ -16895,9 +20985,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsIAsyncVerifyRedirectCallback() { assert_eq!(::std::mem::size_of::<nsIAsyncVerifyRedirectCallback>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsIAsyncVerifyRedirectCallback>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsIAsyncVerifyRedirectCallback + ) )); + assert_eq! (::std::mem::align_of::<nsIAsyncVerifyRedirectCallback>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIAsyncVerifyRedirectCallback ) )); } impl Clone for nsIAsyncVerifyRedirectCallback { fn clone(&self) -> Self { *self } @@ -16936,8 +21030,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIChannelEventSink() { - assert_eq!(::std::mem::size_of::<nsIChannelEventSink>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIChannelEventSink>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIChannelEventSink>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIChannelEventSink ) )); + assert_eq! (::std::mem::align_of::<nsIChannelEventSink>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIChannelEventSink ) )); } impl Clone for nsIChannelEventSink { fn clone(&self) -> Self { *self } @@ -16957,9 +21055,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsIThreadRetargetableStreamListener() { assert_eq!(::std::mem::size_of::<nsIThreadRetargetableStreamListener>() - , 8usize); - assert_eq!(::std::mem::align_of::<nsIThreadRetargetableStreamListener>() - , 8usize); + , 8usize , concat ! ( + "Size of: " , stringify ! ( + nsIThreadRetargetableStreamListener ) )); + assert_eq! (::std::mem::align_of::<nsIThreadRetargetableStreamListener>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsIThreadRetargetableStreamListener ) )); } impl Clone for nsIThreadRetargetableStreamListener { fn clone(&self) -> Self { *self } @@ -17019,6 +21121,7 @@ pub mod root { pub mProgressTracker: root::RefPtr<root::mozilla::image::ProgressTracker>, pub mImage: root::RefPtr<root::mozilla::image::Image>, pub _bitfield_1: u8, + pub __bindgen_padding_0: [u8; 7usize], } pub type imgRequest_Image = root::mozilla::image::Image; pub type imgRequest_ImageCacheKey = root::mozilla::image::ImageCacheKey; @@ -17030,82 +21133,10 @@ pub mod root { pub type imgRequest_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_imgRequest() { - assert_eq!(::std::mem::size_of::<imgRequest>() , 368usize); - assert_eq!(::std::mem::align_of::<imgRequest>() , 8usize); - } - impl imgRequest { - #[inline] - pub fn mIsMultiPartChannel(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mIsMultiPartChannel(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mGotData(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mGotData(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } - #[inline] - pub fn mIsInCache(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (4usize as u8)) >> - 2u32) as u8) - } - } - #[inline] - pub fn set_mIsInCache(&mut self, val: bool) { - self._bitfield_1 &= !(4usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 2u32) & (4usize as u8); - } - #[inline] - pub fn mDecodeRequested(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (8usize as u8)) >> - 3u32) as u8) - } - } - #[inline] - pub fn set_mDecodeRequested(&mut self, val: bool) { - self._bitfield_1 &= !(8usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 3u32) & (8usize as u8); - } - #[inline] - pub fn mNewPartPending(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (16usize as u8)) >> - 4u32) as u8) - } - } - #[inline] - pub fn set_mNewPartPending(&mut self, val: bool) { - self._bitfield_1 &= !(16usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 4u32) & (16usize as u8); - } - #[inline] - pub fn mHadInsecureRedirect(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (32usize as u8)) >> - 5u32) as u8) - } - } - #[inline] - pub fn set_mHadInsecureRedirect(&mut self, val: bool) { - self._bitfield_1 &= !(32usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 5u32) & (32usize as u8); - } + assert_eq!(::std::mem::size_of::<imgRequest>() , 368usize , concat ! ( + "Size of: " , stringify ! ( imgRequest ) )); + assert_eq! (::std::mem::align_of::<imgRequest>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( imgRequest ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -17123,8 +21154,50 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleVisibility() { - assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize); - assert_eq!(::std::mem::align_of::<nsStyleVisibility>() , 1usize); + assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVisibility>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageOrientation as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as + * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageRendering as * const _ as usize } , 3usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mWritingMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mTextOrientation as * const _ as usize } , 5usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mTextOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust + as * const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mColorAdjust ) )); } #[repr(C)] #[derive(Debug)] @@ -17145,8 +21218,77 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleFont() { - assert_eq!(::std::mem::size_of::<nsStyleFont>() , 128usize); - assert_eq!(::std::mem::align_of::<nsStyleFont>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleFont>() , 128usize , concat ! + ( "Size of: " , stringify ! ( nsStyleFont ) )); + assert_eq! (::std::mem::align_of::<nsStyleFont>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ + as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * + const _ as usize } , 100usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mGenericID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * + const _ as usize } , 101usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptLevel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * + const _ as usize } , 102usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathVariant ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * + const _ as usize } , 103usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio + as * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMinFontSizeRatio ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage + as * const _ as usize } , 105usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mExplicitLanguage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * + const _ as usize } , 106usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mAllowZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptUnconstrainedSize as * const _ as usize } , + 108usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptUnconstrainedSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptMinSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptSizeMultiplier as * const _ as usize } , 116usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptSizeMultiplier ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mLanguage ) )); } #[repr(C)] #[derive(Debug)] @@ -17157,8 +21299,28 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleGradientStop() { - assert_eq!(::std::mem::size_of::<nsStyleGradientStop>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleGradientStop>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleGradientStop>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleGradientStop ) )); + assert_eq! (::std::mem::align_of::<nsStyleGradientStop>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGradientStop ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradientStop ) ) . mLocation + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradientStop + ) , "::" , stringify ! ( mLocation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradientStop ) ) . mColor as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradientStop + ) , "::" , stringify ! ( mColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradientStop ) ) . + mIsInterpolationHint as * const _ as usize } , 20usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradientStop + ) , "::" , stringify ! ( mIsInterpolationHint ) )); } #[repr(C)] #[derive(Debug)] @@ -17178,8 +21340,67 @@ pub mod root { pub type nsStyleGradient_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleGradient() { - assert_eq!(::std::mem::size_of::<nsStyleGradient>() , 104usize); - assert_eq!(::std::mem::align_of::<nsStyleGradient>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleGradient>() , 104usize , + concat ! ( "Size of: " , stringify ! ( nsStyleGradient ) + )); + assert_eq! (::std::mem::align_of::<nsStyleGradient>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mShape as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mShape ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mSize as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRepeating as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRepeating ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mLegacySyntax + as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mLegacySyntax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosX as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mBgPosX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mBgPosY as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mBgPosY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mAngle as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mAngle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusX as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRadiusX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRadiusY as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRadiusY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mStops as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mStops ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGradient ) ) . mRefCnt as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGradient ) , + "::" , stringify ! ( mRefCnt ) )); } /** * A wrapper for an imgRequestProxy that supports off-main-thread creation @@ -17227,8 +21448,44 @@ pub mod root { root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleImageRequest() { - assert_eq!(::std::mem::size_of::<nsStyleImageRequest>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleImageRequest>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleImageRequest>() , 40usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleImageRequest ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageRequest>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleImageRequest ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mRefCnt as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . + mRequestProxy as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mRequestProxy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mImageValue + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mImageValue ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . + mImageTracker as * const _ as usize } , 24usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mImageTracker ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mModeFlags + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mModeFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageRequest ) ) . mResolved + as * const _ as usize } , 33usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageRequest + ) , "::" , stringify ! ( mResolved ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -17246,8 +21503,26 @@ pub mod root { } #[test] fn bindgen_test_layout_CachedBorderImageData() { - assert_eq!(::std::mem::size_of::<CachedBorderImageData>() , 24usize); - assert_eq!(::std::mem::align_of::<CachedBorderImageData>() , 8usize); + assert_eq!(::std::mem::size_of::<CachedBorderImageData>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( CachedBorderImageData ) )); + assert_eq! (::std::mem::align_of::<CachedBorderImageData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CachedBorderImageData ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const CachedBorderImageData ) ) . + mCachedSVGViewportSize as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + CachedBorderImageData ) , "::" , stringify ! ( + mCachedSVGViewportSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CachedBorderImageData ) ) . + mSubImages as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + CachedBorderImageData ) , "::" , stringify ! ( mSubImages + ) )); } /** * Represents a paintable image of one of the following types. @@ -17280,17 +21555,56 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleImage__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleImage__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleImage__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleImage__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleImage__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleImage__bindgen_ty_1 + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . + mImage as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( mImage + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . + mGradient as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( + mGradient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage__bindgen_ty_1 ) ) . + mElementId as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImage__bindgen_ty_1 ) , "::" , stringify ! ( + mElementId ) )); } impl Clone for nsStyleImage__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleImage() { - assert_eq!(::std::mem::size_of::<nsStyleImage>() , 32usize); - assert_eq!(::std::mem::align_of::<nsStyleImage>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleImage>() , 32usize , concat ! + ( "Size of: " , stringify ! ( nsStyleImage ) )); + assert_eq! (::std::mem::align_of::<nsStyleImage>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage ) ) . mCachedBIData as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImage ) , + "::" , stringify ! ( mCachedBIData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage ) ) . mType as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImage ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImage ) ) . mCropRect as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImage ) , + "::" , stringify ! ( mCropRect ) )); } #[repr(C)] #[derive(Debug)] @@ -17299,8 +21613,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleColor() { - assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize); - assert_eq!(::std::mem::align_of::<nsStyleColor>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize , concat ! ( + "Size of: " , stringify ! ( nsStyleColor ) )); + assert_eq! (::std::mem::align_of::<nsStyleColor>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColor ) , + "::" , stringify ! ( mColor ) )); } /** * An array of objects, similar to AutoTArray<T,1> but which is memmovable. It @@ -17404,9 +21725,13 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleImageLayers_Size_Dimension() { assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Size_Dimension>() - , 12usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Size_Dimension>() - , 4usize); + , 12usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleImageLayers_Size_Dimension ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Size_Dimension>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleImageLayers_Size_Dimension ) )); } impl Clone for nsStyleImageLayers_Size_Dimension { fn clone(&self) -> Self { *self } @@ -17422,10 +21747,37 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageLayers_Size() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Size>() , - 28usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Size>() , - 4usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Size>() , 28usize + , concat ! ( + "Size of: " , stringify ! ( nsStyleImageLayers_Size ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Size>() , 4usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers_Size ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mWidth + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( mWidth ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . mHeight + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( mHeight ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . + mWidthType as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( + mWidthType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Size ) ) . + mHeightType as * const _ as usize } , 25usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Size ) , "::" , stringify ! ( + mHeightType ) )); } impl Clone for nsStyleImageLayers_Size { fn clone(&self) -> Self { *self } @@ -17438,10 +21790,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageLayers_Repeat() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Repeat>() , - 2usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Repeat>() , - 1usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Repeat>() , 2usize + , concat ! ( + "Size of: " , stringify ! ( nsStyleImageLayers_Repeat ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Repeat>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers_Repeat + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . + mXRepeat as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Repeat ) , "::" , stringify ! ( + mXRepeat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Repeat ) ) . + mYRepeat as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Repeat ) , "::" , stringify ! ( + mYRepeat ) )); } impl Clone for nsStyleImageLayers_Repeat { fn clone(&self) -> Self { *self } @@ -17466,9 +21833,78 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleImageLayers_Layer() { assert_eq!(::std::mem::size_of::<nsStyleImageLayers_Layer>() , - 104usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers_Layer>() , - 8usize); + 104usize , concat ! ( + "Size of: " , stringify ! ( nsStyleImageLayers_Layer ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers_Layer>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers_Layer ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mImage + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mImage ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mSourceURI as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mSourceURI ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mPosition as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mSize + as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mSize ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . mClip + as * const _ as usize } , 92usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mClip ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mOrigin as * const _ as usize } , 93usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mOrigin + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mAttachment as * const _ as usize } , 94usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mAttachment ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mBlendMode as * const _ as usize } , 95usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mBlendMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mComposite as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mComposite ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mMaskMode as * const _ as usize } , 97usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( + mMaskMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers_Layer ) ) . + mRepeat as * const _ as usize } , 98usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageLayers_Layer ) , "::" , stringify ! ( mRepeat + ) )); } extern "C" { #[link_name = "_ZN18nsStyleImageLayers21kBackgroundLayerTableE"] @@ -17482,8 +21918,78 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageLayers() { - assert_eq!(::std::mem::size_of::<nsStyleImageLayers>() , 160usize); - assert_eq!(::std::mem::align_of::<nsStyleImageLayers>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleImageLayers>() , 160usize , + concat ! ( "Size of: " , stringify ! ( nsStyleImageLayers ) + )); + assert_eq! (::std::mem::align_of::<nsStyleImageLayers>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleImageLayers ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mAttachmentCount as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mAttachmentCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mClipCount + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mClipCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mOriginCount + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mOriginCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mRepeatCount + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mRepeatCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mPositionXCount as * const _ as usize } , 16usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mPositionXCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mPositionYCount as * const _ as usize } , 20usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mPositionYCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mImageCount + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mImageCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mSizeCount + as * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mSizeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mMaskModeCount as * const _ as usize } , 32usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mMaskModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mBlendModeCount as * const _ as usize } , 36usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mBlendModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . + mCompositeCount as * const _ as usize } , 40usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mCompositeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageLayers ) ) . mLayers as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleImageLayers + ) , "::" , stringify ! ( mLayers ) )); } #[repr(C)] #[derive(Debug)] @@ -17493,8 +21999,23 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleBackground() { - assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 168usize); - assert_eq!(::std::mem::align_of::<nsStyleBackground>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 168usize , + concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBackground>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleBackground ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . + mBackgroundColor as * const _ as usize } , 160usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mBackgroundColor ) )); } #[repr(C)] #[derive(Debug)] @@ -17503,8 +22024,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleMargin() { - assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleMargin>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize , concat ! + ( "Size of: " , stringify ! ( nsStyleMargin ) )); + assert_eq! (::std::mem::align_of::<nsStyleMargin>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleMargin ) , + "::" , stringify ! ( mMargin ) )); } #[repr(C)] #[derive(Debug)] @@ -17513,8 +22041,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStylePadding() { - assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStylePadding>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStylePadding ) )); + assert_eq! (::std::mem::align_of::<nsStylePadding>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStylePadding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePadding ) , + "::" , stringify ! ( mPadding ) )); } #[repr(C)] #[derive(Debug)] @@ -17524,8 +22059,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsBorderColors() { - assert_eq!(::std::mem::size_of::<nsBorderColors>() , 16usize); - assert_eq!(::std::mem::align_of::<nsBorderColors>() , 8usize); + assert_eq!(::std::mem::size_of::<nsBorderColors>() , 16usize , concat + ! ( "Size of: " , stringify ! ( nsBorderColors ) )); + assert_eq! (::std::mem::align_of::<nsBorderColors>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsBorderColors ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBorderColors ) ) . mNext as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBorderColors ) , + "::" , stringify ! ( mNext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBorderColors ) ) . mColor as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBorderColors ) , + "::" , stringify ! ( mColor ) )); } #[repr(C)] #[derive(Debug)] @@ -17540,8 +22087,46 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCSSShadowItem() { - assert_eq!(::std::mem::size_of::<nsCSSShadowItem>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCSSShadowItem>() , 4usize); + assert_eq!(::std::mem::size_of::<nsCSSShadowItem>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsCSSShadowItem ) )); + assert_eq! (::std::mem::align_of::<nsCSSShadowItem>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSShadowItem ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mXOffset as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mXOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mYOffset as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mYOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mRadius as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mSpread as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mSpread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mColor as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mHasColor as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mHasColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowItem ) ) . mInset as * + const _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowItem ) , + "::" , stringify ! ( mInset ) )); } #[repr(C)] #[derive(Debug)] @@ -17553,8 +22138,27 @@ pub mod root { pub type nsCSSShadowArray_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsCSSShadowArray() { - assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 40usize); - assert_eq!(::std::mem::align_of::<nsCSSShadowArray>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 40usize , + concat ! ( "Size of: " , stringify ! ( nsCSSShadowArray ) + )); + assert_eq! (::std::mem::align_of::<nsCSSShadowArray>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsCSSShadowArray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowArray ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowArray ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowArray ) ) . mLength as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowArray ) + , "::" , stringify ! ( mLength ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCSSShadowArray ) ) . mArray as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCSSShadowArray ) + , "::" , stringify ! ( mArray ) )); } #[repr(C)] #[derive(Debug)] @@ -17594,9 +22198,45 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 32usize); - assert_eq!(::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 4usize); + , 32usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderTopColor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderTopColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderRightColor as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderRightColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderBottomColor as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderBottomColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderLeftColor as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderLeftColor ) )); } impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -17604,17 +22244,109 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>() , - 32usize); - assert_eq!(::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , - 4usize); + 32usize , concat ! ( + "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . + mBorderColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( + mBorderColor ) )); } impl Clone for nsStyleBorder__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleBorder() { - assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize); - assert_eq!(::std::mem::align_of::<nsStyleBorder>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize , concat + ! ( "Size of: " , stringify ! ( nsStyleBorder ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderColors ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageSource as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSource ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice + as * const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSlice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth + as * const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageOutset as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageOutset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill + as * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatH as * const _ as usize } , 233usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatH ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatV as * const _ as usize } , 234usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatV ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * + const _ as usize } , 235usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mFloatEdge ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBoxDecorationBreak as * const _ as usize } , 236usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBoxDecorationBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * + const _ as usize } , 237usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder + as * const _ as usize } , 276usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mComputedBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * + const _ as usize } , 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as + * const _ as usize } , 308usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mTwipsPerPixel ) )); } #[repr(C)] #[derive(Debug)] @@ -17629,8 +22361,46 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleOutline() { - assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize); - assert_eq!(::std::mem::align_of::<nsStyleOutline>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize , concat + ! ( "Size of: " , stringify ! ( nsStyleOutline ) )); + assert_eq! (::std::mem::align_of::<nsStyleOutline>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleOutline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset + as * const _ as usize } , 76usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as + * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . + mActualOutlineWidth as * const _ as usize } , 92usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mActualOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mTwipsPerPixel ) )); } /** * An object that allows sharing of arrays that store 'quotes' property @@ -17648,15 +22418,33 @@ pub mod root { pub type nsStyleQuoteValues_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_nsStyleQuoteValues() { - assert_eq!(::std::mem::size_of::<nsStyleQuoteValues>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleQuoteValues>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_26() { + assert_eq!(::std::mem::size_of::<nsStyleQuoteValues>() , 16usize , + concat ! ( "Size of: " , stringify ! ( nsStyleQuoteValues ) + )); + assert_eq! (::std::mem::align_of::<nsStyleQuoteValues>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleQuoteValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleQuoteValues ) ) . mRefCnt as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleQuoteValues + ) , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleQuoteValues ) ) . mQuotePairs + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleQuoteValues + ) , "::" , stringify ! ( mQuotePairs ) )); + } + #[test] + fn __bindgen_test_layout_template_5() { assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); } #[repr(C)] #[derive(Debug)] @@ -17679,8 +22467,35 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleList() { - assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize); - assert_eq!(::std::mem::align_of::<nsStyleList>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize , concat ! ( + "Size of: " , stringify ! ( nsStyleList ) )); + assert_eq! (::std::mem::align_of::<nsStyleList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStyleImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mCounterStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mQuotes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mImageRegion ) )); } #[repr(C)] #[derive(Debug)] @@ -17693,8 +22508,26 @@ pub mod root { pub const nsStyleGridLine_kMaxLine: i32 = 10000; #[test] fn bindgen_test_layout_nsStyleGridLine() { - assert_eq!(::std::mem::size_of::<nsStyleGridLine>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleGridLine>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleGridLine>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsStyleGridLine ) )); + assert_eq! (::std::mem::align_of::<nsStyleGridLine>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGridLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridLine ) ) . mHasSpan as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridLine ) , + "::" , stringify ! ( mHasSpan ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridLine ) ) . mInteger as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridLine ) , + "::" , stringify ! ( mInteger ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridLine ) ) . mLineName as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridLine ) , + "::" , stringify ! ( mLineName ) )); } #[repr(C)] #[derive(Debug)] @@ -17706,37 +22539,54 @@ pub mod root { pub mRepeatAutoLineNameListAfter: root::nsTArray<::nsstring::nsStringRepr>, pub mRepeatAutoIndex: i16, pub _bitfield_1: u8, + pub __bindgen_padding_0: [u8; 5usize], } #[test] fn bindgen_test_layout_nsStyleGridTemplate() { - assert_eq!(::std::mem::size_of::<nsStyleGridTemplate>() , 48usize); - assert_eq!(::std::mem::align_of::<nsStyleGridTemplate>() , 8usize); - } - impl nsStyleGridTemplate { - #[inline] - pub fn mIsAutoFill(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mIsAutoFill(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mIsSubgrid(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mIsSubgrid(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } + assert_eq!(::std::mem::size_of::<nsStyleGridTemplate>() , 48usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleGridTemplate ) )); + assert_eq! (::std::mem::align_of::<nsStyleGridTemplate>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleGridTemplate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mLineNameLists as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mLineNameLists ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mMinTrackSizingFunctions as * const _ as usize } , 8usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mMinTrackSizingFunctions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mMaxTrackSizingFunctions as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mMaxTrackSizingFunctions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mRepeatAutoLineNameListBefore as * const _ as usize } , + 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mRepeatAutoLineNameListBefore ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mRepeatAutoLineNameListAfter as * const _ as usize } , + 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mRepeatAutoLineNameListAfter ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleGridTemplate ) ) . + mRepeatAutoIndex as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleGridTemplate + ) , "::" , stringify ! ( mRepeatAutoIndex ) )); } #[repr(C)] #[derive(Debug)] @@ -17781,8 +22631,205 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStylePosition() { - assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize); - assert_eq!(::std::mem::align_of::<nsStylePosition>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize , + concat ! ( "Size of: " , stringify ! ( nsStylePosition ) + )); + assert_eq! (::std::mem::align_of::<nsStylePosition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * + const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexBasis ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMin as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMax as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMin as * const _ as usize } , 208usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMax as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow + as * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoFlow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * + const _ as usize } , 241usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mBoxSizing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent + as * const _ as usize } , 242usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as + * const _ as usize } , 244usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * + const _ as usize } , 245usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignSelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent + as * const _ as usize } , 246usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems + as * const _ as usize } , 248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as + * const _ as usize } , 249usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifySelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection + as * const _ as usize } , 250usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * + const _ as usize } , 251usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * + const _ as usize } , 252usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectFit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * + const _ as usize } , 256usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * + const _ as usize } , 260usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexGrow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as + * const _ as usize } , 264usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexShrink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * + const _ as usize } , 272usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mZIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateColumns as * const _ as usize } , 288usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateColumns ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateRows as * const _ as usize } , 336usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateRows ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateAreas as * const _ as usize } , 384usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridColumnStart as * const _ as usize } , 392usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd + as * const _ as usize } , 416usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart + as * const _ as usize } , 440usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as + * const _ as usize } , 464usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap + as * const _ as usize } , 488usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as + * const _ as usize } , 504usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowGap ) )); } #[repr(C)] #[derive(Debug)] @@ -17792,10 +22839,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTextOverflowSide() { - assert_eq!(::std::mem::size_of::<nsStyleTextOverflowSide>() , - 24usize); - assert_eq!(::std::mem::align_of::<nsStyleTextOverflowSide>() , - 8usize); + assert_eq!(::std::mem::size_of::<nsStyleTextOverflowSide>() , 24usize + , concat ! ( + "Size of: " , stringify ! ( nsStyleTextOverflowSide ) )); + assert_eq! (::std::mem::align_of::<nsStyleTextOverflowSide>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleTextOverflowSide ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mString + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleTextOverflowSide ) , "::" , stringify ! ( mString ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflowSide ) ) . mType + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleTextOverflowSide ) , "::" , stringify ! ( mType ) + )); } #[repr(C)] #[derive(Debug)] @@ -17806,8 +22868,28 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTextOverflow() { - assert_eq!(::std::mem::size_of::<nsStyleTextOverflow>() , 56usize); - assert_eq!(::std::mem::align_of::<nsStyleTextOverflow>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleTextOverflow>() , 56usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleTextOverflow ) )); + assert_eq! (::std::mem::align_of::<nsStyleTextOverflow>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTextOverflow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflow ) ) . mLeft as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextOverflow + ) , "::" , stringify ! ( mLeft ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflow ) ) . mRight as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextOverflow + ) , "::" , stringify ! ( mRight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextOverflow ) ) . + mLogicalDirections as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextOverflow + ) , "::" , stringify ! ( mLogicalDirections ) )); } #[repr(C)] #[derive(Debug)] @@ -17822,8 +22904,52 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTextReset() { - assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize); - assert_eq!(::std::mem::align_of::<nsStyleTextReset>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTextReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextOverflow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationLine as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationStyle as * const _ as usize } , 57usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi + as * const _ as usize } , 58usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mUnicodeBidi ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSink as * const _ as usize } , 60usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSize as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationColor as * const _ as usize } , 68usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationColor ) )); } #[repr(C)] #[derive(Debug)] @@ -17858,34 +22984,146 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleText() { - assert_eq!(::std::mem::size_of::<nsStyleText>() , 152usize); - assert_eq!(::std::mem::align_of::<nsStyleText>() , 8usize); - } - impl nsStyleText { - #[inline] - pub fn mTextAlignTrue(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (1usize as u8)) >> - 0u32) as u8) - } - } - #[inline] - pub fn set_mTextAlignTrue(&mut self, val: bool) { - self._bitfield_1 &= !(1usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 0u32) & (1usize as u8); - } - #[inline] - pub fn mTextAlignLastTrue(&self) -> bool { - unsafe { - ::std::mem::transmute(((self._bitfield_1 & (2usize as u8)) >> - 1u32) as u8) - } - } - #[inline] - pub fn set_mTextAlignLastTrue(&mut self, val: bool) { - self._bitfield_1 &= !(2usize as u8); - self._bitfield_1 |= ((val as u8 as u8) << 1u32) & (2usize as u8); - } + assert_eq!(::std::mem::size_of::<nsStyleText>() , 152usize , concat ! + ( "Size of: " , stringify ! ( nsStyleText ) )); + assert_eq! (::std::mem::align_of::<nsStyleText>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlignLast ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * + const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWhiteSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * + const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * + const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mOverflowWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const + _ as usize } , 7usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mHyphens ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as + * const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextSizeAdjust ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright + as * const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextCombineUpright ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mControlCharacterVisibility as * const _ as usize } , + 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mControlCharacterVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisPosition as * const _ as usize } , 13usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle + as * const _ as usize } , 14usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * + const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextFillColor as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextFillColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeColor as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const + _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTabSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLetterSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLineHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextIndent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeWidth as * const _ as usize } , 120usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisStyleString as * const _ as usize } , + 136usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyleString ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -17909,9 +23147,19 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleImageOrientation() { - assert_eq!(::std::mem::size_of::<nsStyleImageOrientation>() , 1usize); - assert_eq!(::std::mem::align_of::<nsStyleImageOrientation>() , - 1usize); + assert_eq!(::std::mem::size_of::<nsStyleImageOrientation>() , 1usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleImageOrientation ) )); + assert_eq! (::std::mem::align_of::<nsStyleImageOrientation>() , 1usize + , concat ! ( + "Alignment of " , stringify ! ( nsStyleImageOrientation ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleImageOrientation ) ) . + mOrientation as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleImageOrientation ) , "::" , stringify ! ( + mOrientation ) )); } impl Clone for nsStyleImageOrientation { fn clone(&self) -> Self { *self } @@ -17955,9 +23203,45 @@ pub mod root { #[test] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>() - , 4usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mX1 as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mX1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mY1 as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mY1 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mX2 as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mX2 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_1 + ) ) . mY2 as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mY2 ) )); } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 { fn clone(&self) -> Self { *self } @@ -17970,9 +23254,21 @@ pub mod root { #[test] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2() { assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>() - , 4usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>() - , 4usize); + , 4usize , concat ! ( + "Size of: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) )); + assert_eq! (::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsTimingFunction__bindgen_ty_1__bindgen_ty_2 + ) ) . mSteps as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1__bindgen_ty_2 ) , "::" , + stringify ! ( mSteps ) )); } impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 { fn clone(&self) -> Self { *self } @@ -17980,17 +23276,36 @@ pub mod root { #[test] fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsTimingFunction__bindgen_ty_1>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction__bindgen_ty_1>() , - 4usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsTimingFunction__bindgen_ty_1 + ) )); + assert_eq! (::std::mem::align_of::<nsTimingFunction__bindgen_ty_1>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsTimingFunction__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTimingFunction__bindgen_ty_1 ) ) . + mFunc as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsTimingFunction__bindgen_ty_1 ) , "::" , stringify ! ( + mFunc ) )); } impl Clone for nsTimingFunction__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsTimingFunction() { - assert_eq!(::std::mem::size_of::<nsTimingFunction>() , 20usize); - assert_eq!(::std::mem::align_of::<nsTimingFunction>() , 4usize); + assert_eq!(::std::mem::size_of::<nsTimingFunction>() , 20usize , + concat ! ( "Size of: " , stringify ! ( nsTimingFunction ) + )); + assert_eq! (::std::mem::align_of::<nsTimingFunction>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsTimingFunction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsTimingFunction ) ) . mType as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsTimingFunction ) + , "::" , stringify ! ( mType ) )); } impl Clone for nsTimingFunction { fn clone(&self) -> Self { *self } @@ -18003,8 +23318,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTable() { - assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize); - assert_eq!(::std::mem::align_of::<nsStyleTable>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleTable ) )); + assert_eq! (::std::mem::align_of::<nsStyleTable>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mLayoutStrategy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ + as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mSpan ) )); } #[repr(C)] #[derive(Debug)] @@ -18017,8 +23344,40 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleTableBorder() { - assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize); - assert_eq!(::std::mem::align_of::<nsStyleTableBorder>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTableBorder>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingCol as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingCol ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingRow as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingRow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderCollapse as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderCollapse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mCaptionSide ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells + as * const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mEmptyCells ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -18052,17 +23411,53 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleContentData__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleContentData__bindgen_ty_1>() - , 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsStyleContentData__bindgen_ty_1>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) + . mString as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( + mString ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) + . mImage as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( + mImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData__bindgen_ty_1 ) ) + . mCounters as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleContentData__bindgen_ty_1 ) , "::" , stringify ! ( + mCounters ) )); } impl Clone for nsStyleContentData__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleContentData() { - assert_eq!(::std::mem::size_of::<nsStyleContentData>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleContentData>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleContentData>() , 16usize , + concat ! ( "Size of: " , stringify ! ( nsStyleContentData ) + )); + assert_eq! (::std::mem::align_of::<nsStyleContentData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleContentData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData ) ) . mType as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContentData + ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContentData ) ) . mContent as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContentData + ) , "::" , stringify ! ( mContent ) )); } #[repr(C)] #[derive(Debug)] @@ -18072,8 +23467,22 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleCounterData() { - assert_eq!(::std::mem::size_of::<nsStyleCounterData>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleCounterData>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleCounterData>() , 24usize , + concat ! ( "Size of: " , stringify ! ( nsStyleCounterData ) + )); + assert_eq! (::std::mem::align_of::<nsStyleCounterData>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleCounterData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCounterData ) ) . mCounter as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCounterData + ) , "::" , stringify ! ( mCounter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleCounterData ) ) . mValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleCounterData + ) , "::" , stringify ! ( mValue ) )); } #[repr(C)] #[derive(Debug)] @@ -18084,8 +23493,25 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleContent() { - assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleContent>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsStyleContent ) )); + assert_eq! (::std::mem::align_of::<nsStyleContent>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mContents as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mContents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mIncrements ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mResets as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mResets ) )); } #[repr(C)] #[derive(Debug)] @@ -18098,8 +23524,36 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleUIReset() { - assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 5usize); - assert_eq!(::std::mem::align_of::<nsStyleUIReset>() , 1usize); + assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 5usize , concat ! + ( "Size of: " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (::std::mem::align_of::<nsStyleUIReset>() , 1usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mUserSelect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mForceBrokenImageIcon as * const _ as usize } , 1usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mForceBrokenImageIcon ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mIMEMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging + as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowDragging ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowShadow ) )); } #[repr(C)] #[derive(Debug)] @@ -18111,8 +23565,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCursorImage() { - assert_eq!(::std::mem::size_of::<nsCursorImage>() , 24usize); - assert_eq!(::std::mem::align_of::<nsCursorImage>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCursorImage>() , 24usize , concat ! + ( "Size of: " , stringify ! ( nsCursorImage ) )); + assert_eq! (::std::mem::align_of::<nsCursorImage>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCursorImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mHaveHotspot as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mHaveHotspot ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mHotspotX as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mHotspotX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mHotspotY as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mHotspotY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsCursorImage ) ) . mImage as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsCursorImage ) , + "::" , stringify ! ( mImage ) )); } #[repr(C)] #[derive(Debug)] @@ -18127,8 +23603,56 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleUserInterface() { - assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize); - assert_eq!(::std::mem::align_of::<nsStyleUserInterface>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (::std::mem::align_of::<nsStyleUserInterface>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mUserModify as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserModify + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mPointerEvents as * const _ as usize } , 3usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mPointerEvents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCursorImages as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mCursorImages ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCaretColor as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor + ) )); } #[repr(C)] #[derive(Debug)] @@ -18143,8 +23667,45 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleXUL() { - assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleXUL>() , 4usize); + assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsStyleXUL ) )); + assert_eq! (::std::mem::align_of::<nsStyleXUL>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleXUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxFlex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrdinal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const + _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxPack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mStretchStack as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mStretchStack ) )); } #[repr(C)] #[derive(Debug)] @@ -18161,8 +23722,50 @@ pub mod root { pub const nsStyleColumn_kMaxColumnCount: u32 = 1000; #[test] fn bindgen_test_layout_nsStyleColumn() { - assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize); - assert_eq!(::std::mem::align_of::<nsStyleColumn>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize , concat ! + ( "Size of: " , stringify ! ( nsStyleColumn ) )); + assert_eq! (::std::mem::align_of::<nsStyleColumn>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleColumn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * + const _ as usize } , 49usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth + as * const _ as usize } , 52usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mTwipsPerPixel ) )); } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -18190,17 +23793,51 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleSVGPaint__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleSVGPaint__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . + mColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( + mColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint__bindgen_ty_1 ) ) . + mPaintServer as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleSVGPaint__bindgen_ty_1 ) , "::" , stringify ! ( + mPaintServer ) )); } impl Clone for nsStyleSVGPaint__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleSVGPaint() { - assert_eq!(::std::mem::size_of::<nsStyleSVGPaint>() , 16usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGPaint>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSVGPaint>() , 16usize , concat + ! ( "Size of: " , stringify ! ( nsStyleSVGPaint ) )); + assert_eq! (::std::mem::align_of::<nsStyleSVGPaint>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleSVGPaint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint ) ) . mPaint as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , + "::" , stringify ! ( mPaint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint ) ) . mType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGPaint ) ) . mFallbackColor + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGPaint ) , + "::" , stringify ! ( mFallbackColor ) )); } #[repr(C)] #[derive(Debug)] @@ -18261,8 +23898,116 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleSVG() { - assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 120usize); - assert_eq!(::std::mem::align_of::<nsStyleSVG>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 120usize , concat ! ( + "Size of: " , stringify ! ( nsStyleSVG ) )); + assert_eq! (::std::mem::align_of::<nsStyleSVG>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleSVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ + as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStroke ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerMid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDasharray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as + * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDashoffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as + * const _ as usize } , 100usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeMiterlimit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const + _ as usize } , 108usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mClipRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation + as * const _ as usize } , 109usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . + mColorInterpolationFilters as * const _ as usize } , + 110usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolationFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const + _ as usize } , 111usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mPaintOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * + const _ as usize } , 113usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mShapeRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * + const _ as usize } , 114usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinecap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * + const _ as usize } , 115usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinejoin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * + const _ as usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mTextAnchor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * + const _ as usize } , 117usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextFlags ) )); } #[repr(C)] #[derive(Debug)] @@ -18281,17 +24026,45 @@ pub mod root { #[test] fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsStyleFilter__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsStyleFilter__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleFilter__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleFilter__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleFilter__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . + mURL as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( mURL + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter__bindgen_ty_1 ) ) . + mDropShadow as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleFilter__bindgen_ty_1 ) , "::" , stringify ! ( + mDropShadow ) )); } impl Clone for nsStyleFilter__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsStyleFilter() { - assert_eq!(::std::mem::size_of::<nsStyleFilter>() , 32usize); - assert_eq!(::std::mem::align_of::<nsStyleFilter>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleFilter>() , 32usize , concat ! + ( "Size of: " , stringify ! ( nsStyleFilter ) )); + assert_eq! (::std::mem::align_of::<nsStyleFilter>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleFilter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter ) ) . mType as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFilter ) , + "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFilter ) ) . mFilterParameter + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFilter ) , + "::" , stringify ! ( mFilterParameter ) )); } #[repr(C)] #[derive(Debug)] @@ -18309,8 +24082,63 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleSVGReset() { - assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 200usize); - assert_eq!(::std::mem::align_of::<nsStyleSVGReset>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 200usize , + concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleSVGReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleSVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMask ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mClipPath ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * + const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as + * const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor + as * const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mLightingColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as + * const _ as usize } , 188usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity + as * const _ as usize } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . + mDominantBaseline as * const _ as usize } , 196usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mDominantBaseline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect + as * const _ as usize } , 197usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mVectorEffect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * + const _ as usize } , 198usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMaskType ) )); } #[repr(C)] #[derive(Debug)] @@ -18319,8 +24147,17 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleVariables() { - assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 48usize); - assert_eq!(::std::mem::align_of::<nsStyleVariables>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 48usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVariables>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVariables ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVariables ) + , "::" , stringify ! ( mVariables ) )); } #[repr(C)] #[derive(Debug)] @@ -18334,8 +24171,40 @@ pub mod root { } #[test] fn bindgen_test_layout_nsStyleEffects() { - assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize); - assert_eq!(::std::mem::align_of::<nsStyleEffects>() , 8usize); + assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStyleEffects ) )); + assert_eq! (::std::mem::align_of::<nsStyleEffects>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleEffects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mBoxShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * + const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClipFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as + * const _ as usize } , 37usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mMixBlendMode ) )); } /** * These *_Simple types are used to map Gecko types to layout-equivalent but @@ -18354,8 +24223,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPoint() { - assert_eq!(::std::mem::size_of::<nsPoint>() , 8usize); - assert_eq!(::std::mem::align_of::<nsPoint>() , 4usize); + assert_eq!(::std::mem::size_of::<nsPoint>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsPoint ) )); + assert_eq! (::std::mem::align_of::<nsPoint>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsPoint ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPoint ) ) . x as * const _ as usize + } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPoint ) , "::" , + stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPoint ) ) . y as * const _ as usize + } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPoint ) , "::" , + stringify ! ( y ) )); } impl Clone for nsPoint { fn clone(&self) -> Self { *self } @@ -18373,8 +24254,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMargin() { - assert_eq!(::std::mem::size_of::<nsMargin>() , 16usize); - assert_eq!(::std::mem::align_of::<nsMargin>() , 4usize); + assert_eq!(::std::mem::size_of::<nsMargin>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsMargin ) )); + assert_eq! (::std::mem::align_of::<nsMargin>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . top as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( top ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . right as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( right ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . bottom as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( bottom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMargin ) ) . left as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMargin ) , "::" , + stringify ! ( left ) )); } impl Clone for nsMargin { fn clone(&self) -> Self { *self } @@ -18392,8 +24295,30 @@ pub mod root { } #[test] fn bindgen_test_layout_nsRect() { - assert_eq!(::std::mem::size_of::<nsRect>() , 16usize); - assert_eq!(::std::mem::align_of::<nsRect>() , 4usize); + assert_eq!(::std::mem::size_of::<nsRect>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsRect ) )); + assert_eq! (::std::mem::align_of::<nsRect>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsRect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . x as * const _ as usize + } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( x ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . y as * const _ as usize + } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( y ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . width as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( width ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsRect ) ) . height as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsRect ) , "::" , + stringify ! ( height ) )); } impl Clone for nsRect { fn clone(&self) -> Self { *self } @@ -18409,8 +24334,20 @@ pub mod root { } #[test] fn bindgen_test_layout_nsSize() { - assert_eq!(::std::mem::size_of::<nsSize>() , 8usize); - assert_eq!(::std::mem::align_of::<nsSize>() , 4usize); + assert_eq!(::std::mem::size_of::<nsSize>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsSize ) )); + assert_eq! (::std::mem::align_of::<nsSize>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSize ) ) . width as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSize ) , "::" , + stringify ! ( width ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsSize ) ) . height as * const _ as + usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsSize ) , "::" , + stringify ! ( height ) )); } impl Clone for nsSize { fn clone(&self) -> Self { *self } @@ -18462,8 +24399,10 @@ pub mod root { } #[test] fn bindgen_test_layout_nsCheapString() { - assert_eq!(::std::mem::size_of::<nsCheapString>() , 16usize); - assert_eq!(::std::mem::align_of::<nsCheapString>() , 8usize); + assert_eq!(::std::mem::size_of::<nsCheapString>() , 16usize , concat ! + ( "Size of: " , stringify ! ( nsCheapString ) )); + assert_eq! (::std::mem::align_of::<nsCheapString>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsCheapString ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -18491,8 +24430,13 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIDOMMozNamedAttrMap() { - assert_eq!(::std::mem::size_of::<nsIDOMMozNamedAttrMap>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIDOMMozNamedAttrMap>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIDOMMozNamedAttrMap>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIDOMMozNamedAttrMap ) )); + assert_eq! (::std::mem::align_of::<nsIDOMMozNamedAttrMap>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIDOMMozNamedAttrMap ) + )); } impl Clone for nsIDOMMozNamedAttrMap { fn clone(&self) -> Self { *self } @@ -18512,8 +24456,15 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIAttribute() { - assert_eq!(::std::mem::size_of::<nsIAttribute>() , 104usize); - assert_eq!(::std::mem::align_of::<nsIAttribute>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIAttribute>() , 104usize , concat ! + ( "Size of: " , stringify ! ( nsIAttribute ) )); + assert_eq! (::std::mem::align_of::<nsIAttribute>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIAttribute ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsIAttribute ) ) . mAttrMap as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsIAttribute ) , + "::" , stringify ! ( mAttrMap ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -18544,8 +24495,12 @@ pub mod root { } #[test] fn bindgen_test_layout_nsIScrollbarMediator() { - assert_eq!(::std::mem::size_of::<nsIScrollbarMediator>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIScrollbarMediator>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIScrollbarMediator>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIScrollbarMediator ) )); + assert_eq! (::std::mem::align_of::<nsIScrollbarMediator>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIScrollbarMediator ) )); } impl Clone for nsIScrollbarMediator { fn clone(&self) -> Self { *self } @@ -18630,8 +24585,13 @@ pub mod root { -> bool>; #[test] fn bindgen_test_layout_nsIStyleRuleProcessor() { - assert_eq!(::std::mem::size_of::<nsIStyleRuleProcessor>() , 8usize); - assert_eq!(::std::mem::align_of::<nsIStyleRuleProcessor>() , 8usize); + assert_eq!(::std::mem::size_of::<nsIStyleRuleProcessor>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIStyleRuleProcessor ) )); + assert_eq! (::std::mem::align_of::<nsIStyleRuleProcessor>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIStyleRuleProcessor ) + )); } impl Clone for nsIStyleRuleProcessor { fn clone(&self) -> Self { *self } @@ -18685,17 +24645,73 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1() { assert_eq!(::std::mem::size_of::<nsMediaFeature__bindgen_ty_1>() , - 8usize); - assert_eq!(::std::mem::align_of::<nsMediaFeature__bindgen_ty_1>() , - 8usize); + 8usize , concat ! ( + "Size of: " , stringify ! ( nsMediaFeature__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsMediaFeature__bindgen_ty_1>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . + mInitializer_ as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( + mInitializer_ ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . + mKeywordTable as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( + mKeywordTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature__bindgen_ty_1 ) ) . + mMetric as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaFeature__bindgen_ty_1 ) , "::" , stringify ! ( + mMetric ) )); } impl Clone for nsMediaFeature__bindgen_ty_1 { fn clone(&self) -> Self { *self } } #[test] fn bindgen_test_layout_nsMediaFeature() { - assert_eq!(::std::mem::size_of::<nsMediaFeature>() , 40usize); - assert_eq!(::std::mem::align_of::<nsMediaFeature>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaFeature>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsMediaFeature ) )); + assert_eq! (::std::mem::align_of::<nsMediaFeature>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsMediaFeature ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mName as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mName ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mRangeType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mRangeType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mValueType as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mValueType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mReqFlags as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mReqFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mData as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mData ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaFeature ) ) . mGetter as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaFeature ) , + "::" , stringify ! ( mGetter ) )); } impl Clone for nsMediaFeature { fn clone(&self) -> Self { *self } @@ -18703,6 +24719,23 @@ pub mod root { pub type ThreadSafePrincipalHolder = root::nsMainThreadPtrHolder<root::nsIPrincipal>; pub type ThreadSafeURIHolder = root::nsMainThreadPtrHolder<root::nsIURI>; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ServoBundledURI { + pub mURLString: *const u8, + pub mURLStringLength: u32, + pub mBaseURI: *mut root::ThreadSafeURIHolder, + pub mReferrer: *mut root::ThreadSafeURIHolder, + pub mPrincipal: *mut root::ThreadSafePrincipalHolder, + } + #[test] + fn bindgen_test_layout_ServoBundledURI() { + assert_eq!(::std::mem::size_of::<ServoBundledURI>() , 40usize); + assert_eq!(::std::mem::align_of::<ServoBundledURI>() , 8usize); + } + impl Clone for ServoBundledURI { + fn clone(&self) -> Self { *self } + } pub type nsMediaFeatureValueGetter = ::std::option::Option<unsafe extern "C" fn(aPresContext: *mut root::nsPresContext, @@ -18722,8 +24755,11 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMediaFeatures() { - assert_eq!(::std::mem::size_of::<nsMediaFeatures>() , 1usize); - assert_eq!(::std::mem::align_of::<nsMediaFeatures>() , 1usize); + assert_eq!(::std::mem::size_of::<nsMediaFeatures>() , 1usize , concat + ! ( "Size of: " , stringify ! ( nsMediaFeatures ) )); + assert_eq! (::std::mem::align_of::<nsMediaFeatures>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( nsMediaFeatures ) )); } impl Clone for nsMediaFeatures { fn clone(&self) -> Self { *self } @@ -18740,8 +24776,27 @@ pub mod root { pub enum nsMediaExpression_Range { eMin = 0, eMax = 1, eEqual = 2, } #[test] fn bindgen_test_layout_nsMediaExpression() { - assert_eq!(::std::mem::size_of::<nsMediaExpression>() , 32usize); - assert_eq!(::std::mem::align_of::<nsMediaExpression>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaExpression>() , 32usize , + concat ! ( "Size of: " , stringify ! ( nsMediaExpression ) + )); + assert_eq! (::std::mem::align_of::<nsMediaExpression>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsMediaExpression ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaExpression ) ) . mFeature as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaExpression ) + , "::" , stringify ! ( mFeature ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaExpression ) ) . mRange as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaExpression ) + , "::" , stringify ! ( mRange ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaExpression ) ) . mValue as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaExpression ) + , "::" , stringify ! ( mValue ) )); } /** * An nsMediaQueryResultCacheKey records what feature/value combinations @@ -18777,9 +24832,31 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaQueryResultCacheKey_ExpressionEntry() { assert_eq!(::std::mem::size_of::<nsMediaQueryResultCacheKey_ExpressionEntry>() - , 40usize); - assert_eq!(::std::mem::align_of::<nsMediaQueryResultCacheKey_ExpressionEntry>() - , 8usize); + , 40usize , concat ! ( + "Size of: " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) )); + assert_eq! (::std::mem::align_of::<nsMediaQueryResultCacheKey_ExpressionEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsMediaQueryResultCacheKey_ExpressionEntry ) + ) . mExpression as * const _ as usize } , 0usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) , "::" , + stringify ! ( mExpression ) )); + assert_eq! (unsafe { + & ( + * ( + 0 as * const nsMediaQueryResultCacheKey_ExpressionEntry ) + ) . mExpressionMatches as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_ExpressionEntry ) , "::" , + stringify ! ( mExpressionMatches ) )); } #[repr(C)] #[derive(Debug)] @@ -18790,16 +24867,52 @@ pub mod root { #[test] fn bindgen_test_layout_nsMediaQueryResultCacheKey_FeatureEntry() { assert_eq!(::std::mem::size_of::<nsMediaQueryResultCacheKey_FeatureEntry>() - , 16usize); - assert_eq!(::std::mem::align_of::<nsMediaQueryResultCacheKey_FeatureEntry>() - , 8usize); + , 16usize , concat ! ( + "Size of: " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) )); + assert_eq! (::std::mem::align_of::<nsMediaQueryResultCacheKey_FeatureEntry>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsMediaQueryResultCacheKey_FeatureEntry ) + ) . mFeature as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) , "::" , + stringify ! ( mFeature ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsMediaQueryResultCacheKey_FeatureEntry ) + ) . mExpressions as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey_FeatureEntry ) , "::" , + stringify ! ( mExpressions ) )); } #[test] fn bindgen_test_layout_nsMediaQueryResultCacheKey() { assert_eq!(::std::mem::size_of::<nsMediaQueryResultCacheKey>() , - 16usize); - assert_eq!(::std::mem::align_of::<nsMediaQueryResultCacheKey>() , - 8usize); + 16usize , concat ! ( + "Size of: " , stringify ! ( nsMediaQueryResultCacheKey ) + )); + assert_eq! (::std::mem::align_of::<nsMediaQueryResultCacheKey>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsMediaQueryResultCacheKey + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQueryResultCacheKey ) ) . + mMedium as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey ) , "::" , stringify ! ( + mMedium ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQueryResultCacheKey ) ) . + mFeatureCache as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsMediaQueryResultCacheKey ) , "::" , stringify ! ( + mFeatureCache ) )); } #[repr(C)] #[derive(Debug)] @@ -18813,8 +24926,41 @@ pub mod root { } #[test] fn bindgen_test_layout_nsMediaQuery() { - assert_eq!(::std::mem::size_of::<nsMediaQuery>() , 24usize); - assert_eq!(::std::mem::align_of::<nsMediaQuery>() , 8usize); + assert_eq!(::std::mem::size_of::<nsMediaQuery>() , 24usize , concat ! + ( "Size of: " , stringify ! ( nsMediaQuery ) )); + assert_eq! (::std::mem::align_of::<nsMediaQuery>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsMediaQuery ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mNegated as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mNegated ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mHasOnly as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mHasOnly ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mTypeOmitted as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mTypeOmitted ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . + mHadUnknownExpression as * const _ as usize } , 3usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mHadUnknownExpression ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mMediaType as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mMediaType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsMediaQuery ) ) . mExpressions as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsMediaQuery ) , + "::" , stringify ! ( mExpressions ) )); } #[repr(C)] #[derive(Debug, Copy)] @@ -18824,461 +24970,1136 @@ pub mod root { pub overflow_arg_area: *mut ::std::os::raw::c_void, pub reg_save_area: *mut ::std::os::raw::c_void, } + #[test] + fn bindgen_test_layout___va_list_tag() { + assert_eq!(::std::mem::size_of::<__va_list_tag>() , 24usize , concat ! + ( "Size of: " , stringify ! ( __va_list_tag ) )); + assert_eq! (::std::mem::align_of::<__va_list_tag>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( __va_list_tag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . gp_offset as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( gp_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . fp_offset as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( fp_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . overflow_arg_area + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( overflow_arg_area ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __va_list_tag ) ) . reg_save_area as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( __va_list_tag ) , + "::" , stringify ! ( reg_save_area ) )); + } impl Clone for __va_list_tag { fn clone(&self) -> Self { *self } } pub type __builtin_va_list = [root::__va_list_tag; 1usize]; #[test] - fn __bindgen_test_layout_template_27() { + fn __bindgen_test_layout_template_6() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_template_7() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_template_8() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_template_9() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_template_10() { + assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_11() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<[::std::os::raw::c_char; 0usize], + root::JS::FreePolicy> + ) )); + } + #[test] + fn __bindgen_test_layout_template_12() { assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::TenuredHeap<*mut root::JSObject> ) )); assert_eq!(::std::mem::align_of::<root::JS::TenuredHeap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::TenuredHeap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_28() { + fn __bindgen_test_layout_template_13() { assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSObject>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_29() { + fn __bindgen_test_layout_template_14() { assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSScript>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSScript> ) )); assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSScript>>() - , 8usize); - } - #[test] - fn __bindgen_test_layout_template_30() { + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSScript> ) )); + } + #[test] + fn __bindgen_test_layout_template_15() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<u16>>() , + 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsReadingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<u16>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsReadingIterator<u16> ) )); + } + #[test] + fn __bindgen_test_layout_template_16() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<u16>>() , + 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsWritingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<u16>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsWritingIterator<u16> ) )); + } + #[test] + fn __bindgen_test_layout_template_17() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<::std::os::raw::c_char>>() + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsReadingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<::std::os::raw::c_char>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsReadingIterator<::std::os::raw::c_char> ) )); + } + #[test] + fn __bindgen_test_layout_template_18() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<::std::os::raw::c_char>>() + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsWritingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<::std::os::raw::c_char>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsWritingIterator<::std::os::raw::c_char> ) )); + } + #[test] + fn __bindgen_test_layout_template_19() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsAString_internal; 0usize]> + ) )); } #[test] - fn __bindgen_test_layout_template_31() { + fn __bindgen_test_layout_template_20() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<[root::nsACString_internal; 0usize]> + ) )); } #[test] - fn __bindgen_test_layout_template_32() { + fn __bindgen_test_layout_template_21() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , - 8usize); + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCString>>() , - 8usize); + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_template_33() { + fn __bindgen_test_layout_template_22() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , - 8usize); + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , - 8usize); + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_template_34() { + fn __bindgen_test_layout_template_23() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy>>() - , 16usize); + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::binding_danger::TErrorResult<root::mozilla::binding_danger::JustAssertCleanupPolicy> + ) )); } #[test] - fn __bindgen_test_layout_template_35() { + fn __bindgen_test_layout_template_24() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStringBuffer> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStringBuffer>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_template_36() { + fn __bindgen_test_layout_template_25() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_template_37() { + fn __bindgen_test_layout_template_26() { assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , - 8usize); + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<root::JS::Value> ) )); assert_eq!(::std::mem::align_of::<root::JS::Heap<root::JS::Value>>() , - 8usize); + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_template_38() { + fn __bindgen_test_layout_template_27() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_template_39() { + fn __bindgen_test_layout_template_28() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIPrincipal>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIPrincipal>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); } #[test] - fn __bindgen_test_layout_template_40() { - assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize); - assert_eq!(::std::mem::align_of::<[u64; 28usize]>() , 8usize); + fn __bindgen_test_layout_template_29() { + assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 28usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 28usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 28usize] ) )); } #[test] - fn __bindgen_test_layout_template_41() { + fn __bindgen_test_layout_template_30() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_template_42() { + fn __bindgen_test_layout_template_31() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>> + ) )); } #[test] - fn __bindgen_test_layout_template_43() { + fn __bindgen_test_layout_template_32() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_template_44() { + fn __bindgen_test_layout_template_33() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_template_45() { + fn __bindgen_test_layout_template_34() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); } #[test] - fn __bindgen_test_layout_template_46() { + fn __bindgen_test_layout_template_35() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIObserver>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIObserver> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIObserver>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIObserver> ) )); } #[test] - fn __bindgen_test_layout_template_47() { + fn __bindgen_test_layout_template_36() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr<root::nsIObserver>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCOMPtr<root::nsIObserver>> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCOMPtr<root::nsIObserver>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCOMPtr<root::nsIObserver>> ) )); } #[test] - fn __bindgen_test_layout_template_48() { + fn __bindgen_test_layout_template_37() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIDocument>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_template_49() { + fn __bindgen_test_layout_template_38() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsContentList>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_template_50() { + fn __bindgen_test_layout_template_39() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_template_51() { + fn __bindgen_test_layout_template_40() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIWeakReference>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIWeakReference>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); } #[test] - fn __bindgen_test_layout_template_52() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize); - assert_eq!(::std::mem::align_of::<u64>() , 8usize); + fn __bindgen_test_layout_template_41() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); } #[test] - fn __bindgen_test_layout_template_53() { - assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize); - assert_eq!(::std::mem::align_of::<[u64; 28usize]>() , 8usize); + fn __bindgen_test_layout_template_42() { + assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 28usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 28usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 28usize] ) )); } #[test] - fn __bindgen_test_layout_template_54() { + fn __bindgen_test_layout_template_43() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_template_55() { + fn __bindgen_test_layout_template_44() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_template_56() { - assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize); - assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize); + fn __bindgen_test_layout_template_45() { + assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_template_57() { + fn __bindgen_test_layout_template_46() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::mozilla::dom::TimeoutManager> + ) )); } #[test] - fn __bindgen_test_layout_template_58() { + fn __bindgen_test_layout_template_47() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsISupports> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsISupports>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_template_59() { + fn __bindgen_test_layout_template_48() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIRunnable> ) )); assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIRunnable>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_template_60() { + fn __bindgen_test_layout_template_49() { assert_eq!(::std::mem::size_of::<root::nsAutoPtr<root::nsMediaQuery>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsAutoPtr<root::nsMediaQuery> ) )); assert_eq!(::std::mem::align_of::<root::nsAutoPtr<root::nsMediaQuery>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsAutoPtr<root::nsMediaQuery> ) )); } #[test] - fn __bindgen_test_layout_template_61() { + fn __bindgen_test_layout_template_50() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIContent>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_template_62() { + fn __bindgen_test_layout_template_51() { + assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_52() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::nsINode>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_template_53() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_54() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_55() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_56() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_57() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_58() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_59() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_60() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_61() { + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 4usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_62() { + assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( + "Size of template specialization: " , stringify ! ( u32 ) + )); + assert_eq!(::std::mem::align_of::<u32>() , 4usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u32 ) )); } #[test] fn __bindgen_test_layout_template_63() { - assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize); - assert_eq!(::std::mem::align_of::<root::nsTArray<f64>>() , 8usize); + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); } #[test] fn __bindgen_test_layout_template_64() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_65() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_66() { + assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<f64> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<f64>>() , 8usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<f64> ) )); + } + #[test] + fn __bindgen_test_layout_template_67() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); } #[test] - fn __bindgen_test_layout_template_65() { + fn __bindgen_test_layout_template_68() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>> + ) )); } #[test] - fn __bindgen_test_layout_template_66() { + fn __bindgen_test_layout_template_69() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FontFamilyName> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::FontFamilyName>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FontFamilyName> ) )); } #[test] - fn __bindgen_test_layout_template_67() { + fn __bindgen_test_layout_template_70() { assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_template_68() { + fn __bindgen_test_layout_template_71() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::ProxyBehaviour>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::ProxyBehaviour> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::ProxyBehaviour>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::ProxyBehaviour> ) )); } #[test] - fn __bindgen_test_layout_template_69() { + fn __bindgen_test_layout_template_72() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() - , 24usize); + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIURI> ) )); assert_eq!(::std::mem::align_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_template_70() { + fn __bindgen_test_layout_template_73() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>> + ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIURI>> + ) )); } #[test] - fn __bindgen_test_layout_template_71() { + fn __bindgen_test_layout_template_74() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIPrincipal>>() - , 24usize); + , 24usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIPrincipal> ) )); assert_eq!(::std::mem::align_of::<root::nsMainThreadPtrHolder<root::nsIPrincipal>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsMainThreadPtrHolder<root::nsIPrincipal> ) )); } #[test] - fn __bindgen_test_layout_template_72() { + fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>> + ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsMainThreadPtrHolder<root::nsIPrincipal>> + ) )); } #[test] - fn __bindgen_test_layout_template_73() { + fn __bindgen_test_layout_template_76() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::nsCSSValueList>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValueList> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::nsCSSValueList>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_template_74() { + fn __bindgen_test_layout_template_77() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList, root::mozilla::DefaultDelete<root::nsCSSValueList>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValueList, + root::mozilla::DefaultDelete<root::nsCSSValueList>> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValueList, root::mozilla::DefaultDelete<root::nsCSSValueList>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValueList, + root::mozilla::DefaultDelete<root::nsCSSValueList>> + ) )); } #[test] - fn __bindgen_test_layout_template_75() { + fn __bindgen_test_layout_template_78() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::nsCSSValuePairList>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValuePairList> ) + )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::nsCSSValuePairList>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsCSSValuePairList> ) + )); } #[test] - fn __bindgen_test_layout_template_76() { + fn __bindgen_test_layout_template_79() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList, root::mozilla::DefaultDelete<root::nsCSSValuePairList>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList, + root::mozilla::DefaultDelete<root::nsCSSValuePairList>> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList, root::mozilla::DefaultDelete<root::nsCSSValuePairList>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList, + root::mozilla::DefaultDelete<root::nsCSSValuePairList>> + ) )); } #[test] - fn __bindgen_test_layout_template_77() { + fn __bindgen_test_layout_template_80() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue> + ) )); } #[test] - fn __bindgen_test_layout_template_78() { + fn __bindgen_test_layout_template_81() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIFrame>>() - , 16usize); + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsPtrHashKey<root::nsIFrame> ) )); assert_eq!(::std::mem::align_of::<root::nsPtrHashKey<root::nsIFrame>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsPtrHashKey<root::nsIFrame> ) )); } #[test] - fn __bindgen_test_layout_template_79() { - assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize); - assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize); + fn __bindgen_test_layout_template_82() { + assert_eq!(::std::mem::size_of::<root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::HandleRefPtr<root::mozilla::RestyleManagerHandle> + ) )); } #[test] - fn __bindgen_test_layout_template_80() { + fn __bindgen_test_layout_template_83() { + assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_84() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor> + ) )); } #[test] - fn __bindgen_test_layout_template_81() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); + fn __bindgen_test_layout_template_85() { + assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 2usize] ) )); } #[test] - fn __bindgen_test_layout_template_82() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize); - assert_eq!(::std::mem::align_of::<u64>() , 8usize); + fn __bindgen_test_layout_template_86() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); } #[test] - fn __bindgen_test_layout_template_83() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); + fn __bindgen_test_layout_template_87() { + assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 2usize] ) )); } #[test] - fn __bindgen_test_layout_template_84() { + fn __bindgen_test_layout_template_88() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleImageRequest>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleImageRequest> ) )); assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleImageRequest>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleImageRequest> ) )); } #[test] - fn __bindgen_test_layout_template_85() { + fn __bindgen_test_layout_template_89() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::nsStyleSides>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsStyleSides> ) )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::nsStyleSides>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_template_86() { + fn __bindgen_test_layout_template_90() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides, root::mozilla::DefaultDelete<root::nsStyleSides>>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides, + root::mozilla::DefaultDelete<root::nsStyleSides>> + ) )); assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides, root::mozilla::DefaultDelete<root::nsStyleSides>>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides, + root::mozilla::DefaultDelete<root::nsStyleSides>> + ) )); } #[test] - fn __bindgen_test_layout_template_87() { + fn __bindgen_test_layout_template_91() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete<root::CachedBorderImageData>>() - , 1usize); + , 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::CachedBorderImageData> ) + )); assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete<root::CachedBorderImageData>>() - , 1usize); + , 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete<root::CachedBorderImageData> ) + )); } #[test] - fn __bindgen_test_layout_template_88() { + fn __bindgen_test_layout_template_92() { assert_eq!(::std::mem::size_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() - , 32usize); + , 32usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); assert_eq!(::std::mem::align_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_template_89() { - assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize); - assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_90() { + fn __bindgen_test_layout_template_93() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, + ::nsstring::nsStringRepr>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, + ::nsstring::nsStringRepr>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>> + ) )); + } + #[test] + fn __bindgen_test_layout_template_94() { + assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox> + ) )); + } + #[test] + fn __bindgen_test_layout_template_95() { + assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox> + ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox> + ) )); + } + #[test] + fn __bindgen_test_layout_template_96() { + assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_97() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect> + ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect> + ) )); } #[test] - fn __bindgen_test_layout_template_91() { + fn __bindgen_test_layout_template_98() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMRect> ) )); assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMRect> ) )); } #[test] - fn __bindgen_test_layout_template_92() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize); - assert_eq!(::std::mem::align_of::<u64>() , 8usize); + fn __bindgen_test_layout_template_99() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); } #[test] - fn __bindgen_test_layout_template_93() { + fn __bindgen_test_layout_template_100() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() - , 8usize); + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() - , 8usize); + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } } diff --git a/components/style/gecko_bindings/sugar/ns_style_coord.rs b/components/style/gecko_bindings/sugar/ns_style_coord.rs index 84ea7d68456..be6a2a6f80b 100644 --- a/components/style/gecko_bindings/sugar/ns_style_coord.rs +++ b/components/style/gecko_bindings/sugar/ns_style_coord.rs @@ -265,6 +265,15 @@ pub trait CoordDataMut : CoordData { } #[inline] + /// Moves the unit and value from another `CoordData` type. + fn move_from<T: CoordData>(&mut self, other: T) { + unsafe { + self.reset(); + self.copy_from_unchecked(&other); + } + } + + #[inline] /// Copies the unit and value from another `CoordData` type without checking /// the type of the value (so refcounted values like calc may leak). unsafe fn copy_from_unchecked<T: CoordData>(&mut self, other: &T) { diff --git a/components/style/gecko_bindings/sugar/refptr.rs b/components/style/gecko_bindings/sugar/refptr.rs index 1689522e892..0202afb3292 100644 --- a/components/style/gecko_bindings/sugar/refptr.rs +++ b/components/style/gecko_bindings/sugar/refptr.rs @@ -264,6 +264,9 @@ impl_threadsafe_refcount!(::gecko_bindings::structs::nsStyleQuoteValues, impl_threadsafe_refcount!(::gecko_bindings::structs::nsCSSValueSharedList, Gecko_AddRefCSSValueSharedListArbitraryThread, Gecko_ReleaseCSSValueSharedListArbitraryThread); +impl_threadsafe_refcount!(::gecko_bindings::structs::mozilla::css::URLValue, + Gecko_AddRefCSSURLValueArbitraryThread, + Gecko_ReleaseCSSURLValueArbitraryThread); /// A Gecko `ThreadSafePrincipalHolder` wrapped in a safe refcounted pointer, to /// use during stylesheet parsing and style computation. pub type GeckoArcPrincipal = RefPtr<::gecko_bindings::structs::ThreadSafePrincipalHolder>; diff --git a/components/style/gecko_string_cache/atom_macro.rs b/components/style/gecko_string_cache/atom_macro.rs index fb8abab1acb..c8e75a54af0 100644 --- a/components/style/gecko_string_cache/atom_macro.rs +++ b/components/style/gecko_string_cache/atom_macro.rs @@ -748,6 +748,8 @@ cfg_if! { pub static nsGkAtoms_focus: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms7focusedE"] pub static nsGkAtoms_focused: *mut nsIAtom; + #[link_name = "_ZN9nsGkAtoms12followanchorE"] + pub static nsGkAtoms_followanchor: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms9followingE"] pub static nsGkAtoms_following: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms16followingSiblingE"] @@ -1344,6 +1346,8 @@ cfg_if! { pub static nsGkAtoms_onafterscriptexecute: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms10onalertingE"] pub static nsGkAtoms_onalerting: *mut nsIAtom; + #[link_name = "_ZN9nsGkAtoms17onanimationcancelE"] + pub static nsGkAtoms_onanimationcancel: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms14onanimationendE"] pub static nsGkAtoms_onanimationend: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms20onanimationiterationE"] @@ -1858,8 +1862,12 @@ cfg_if! { pub static nsGkAtoms_onvoicechange: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms15onvoiceschangedE"] pub static nsGkAtoms_onvoiceschanged: *mut nsIAtom; + #[link_name = "_ZN9nsGkAtoms19onvrdisplayactivateE"] + pub static nsGkAtoms_onvrdisplayactivate: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms18onvrdisplayconnectE"] pub static nsGkAtoms_onvrdisplayconnect: *mut nsIAtom; + #[link_name = "_ZN9nsGkAtoms21onvrdisplaydeactivateE"] + pub static nsGkAtoms_onvrdisplaydeactivate: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms21onvrdisplaydisconnectE"] pub static nsGkAtoms_onvrdisplaydisconnect: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms24onvrdisplaypresentchangeE"] @@ -4198,6 +4206,8 @@ cfg_if! { pub static nsGkAtoms_restylableAnonymousNode: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms16paintRequestTimeE"] pub static nsGkAtoms_paintRequestTime: *mut nsIAtom; + #[link_name = "_ZN9nsGkAtoms14pseudoPropertyE"] + pub static nsGkAtoms_pseudoProperty: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms8JapaneseE"] pub static nsGkAtoms_Japanese: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms7ChineseE"] @@ -4832,8 +4842,6 @@ cfg_if! { pub static nsCSSAnonBoxes_mozLineFrame: *mut nsICSSAnonBoxPseudo; #[link_name = "_ZN14nsCSSAnonBoxes13buttonContentE"] pub static nsCSSAnonBoxes_buttonContent: *mut nsICSSAnonBoxPseudo; - #[link_name = "_ZN14nsCSSAnonBoxes14mozButtonLabelE"] - pub static nsCSSAnonBoxes_mozButtonLabel: *mut nsICSSAnonBoxPseudo; #[link_name = "_ZN14nsCSSAnonBoxes11cellContentE"] pub static nsCSSAnonBoxes_cellContent: *mut nsICSSAnonBoxPseudo; #[link_name = "_ZN14nsCSSAnonBoxes12dropDownListE"] @@ -5661,6 +5669,8 @@ cfg_if! { pub static nsGkAtoms_focus: *mut nsIAtom; #[link_name = "?focused@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_focused: *mut nsIAtom; + #[link_name = "?followanchor@nsGkAtoms@@2PEAVnsIAtom@@EA"] + pub static nsGkAtoms_followanchor: *mut nsIAtom; #[link_name = "?following@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_following: *mut nsIAtom; #[link_name = "?followingSibling@nsGkAtoms@@2PEAVnsIAtom@@EA"] @@ -6257,6 +6267,8 @@ cfg_if! { pub static nsGkAtoms_onafterscriptexecute: *mut nsIAtom; #[link_name = "?onalerting@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_onalerting: *mut nsIAtom; + #[link_name = "?onanimationcancel@nsGkAtoms@@2PEAVnsIAtom@@EA"] + pub static nsGkAtoms_onanimationcancel: *mut nsIAtom; #[link_name = "?onanimationend@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_onanimationend: *mut nsIAtom; #[link_name = "?onanimationiteration@nsGkAtoms@@2PEAVnsIAtom@@EA"] @@ -6771,8 +6783,12 @@ cfg_if! { pub static nsGkAtoms_onvoicechange: *mut nsIAtom; #[link_name = "?onvoiceschanged@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_onvoiceschanged: *mut nsIAtom; + #[link_name = "?onvrdisplayactivate@nsGkAtoms@@2PEAVnsIAtom@@EA"] + pub static nsGkAtoms_onvrdisplayactivate: *mut nsIAtom; #[link_name = "?onvrdisplayconnect@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_onvrdisplayconnect: *mut nsIAtom; + #[link_name = "?onvrdisplaydeactivate@nsGkAtoms@@2PEAVnsIAtom@@EA"] + pub static nsGkAtoms_onvrdisplaydeactivate: *mut nsIAtom; #[link_name = "?onvrdisplaydisconnect@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_onvrdisplaydisconnect: *mut nsIAtom; #[link_name = "?onvrdisplaypresentchange@nsGkAtoms@@2PEAVnsIAtom@@EA"] @@ -9111,6 +9127,8 @@ cfg_if! { pub static nsGkAtoms_restylableAnonymousNode: *mut nsIAtom; #[link_name = "?paintRequestTime@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_paintRequestTime: *mut nsIAtom; + #[link_name = "?pseudoProperty@nsGkAtoms@@2PEAVnsIAtom@@EA"] + pub static nsGkAtoms_pseudoProperty: *mut nsIAtom; #[link_name = "?Japanese@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_Japanese: *mut nsIAtom; #[link_name = "?Chinese@nsGkAtoms@@2PEAVnsIAtom@@EA"] @@ -9745,8 +9763,6 @@ cfg_if! { pub static nsCSSAnonBoxes_mozLineFrame: *mut nsICSSAnonBoxPseudo; #[link_name = "?buttonContent@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"] pub static nsCSSAnonBoxes_buttonContent: *mut nsICSSAnonBoxPseudo; - #[link_name = "?mozButtonLabel@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"] - pub static nsCSSAnonBoxes_mozButtonLabel: *mut nsICSSAnonBoxPseudo; #[link_name = "?cellContent@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"] pub static nsCSSAnonBoxes_cellContent: *mut nsICSSAnonBoxPseudo; #[link_name = "?dropDownList@nsCSSAnonBoxes@@2PEAVnsICSSAnonBoxPseudo@@EA"] @@ -10574,6 +10590,8 @@ cfg_if! { pub static nsGkAtoms_focus: *mut nsIAtom; #[link_name = "\x01?focused@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_focused: *mut nsIAtom; + #[link_name = "\x01?followanchor@nsGkAtoms@@2PAVnsIAtom@@A"] + pub static nsGkAtoms_followanchor: *mut nsIAtom; #[link_name = "\x01?following@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_following: *mut nsIAtom; #[link_name = "\x01?followingSibling@nsGkAtoms@@2PAVnsIAtom@@A"] @@ -11170,6 +11188,8 @@ cfg_if! { pub static nsGkAtoms_onafterscriptexecute: *mut nsIAtom; #[link_name = "\x01?onalerting@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_onalerting: *mut nsIAtom; + #[link_name = "\x01?onanimationcancel@nsGkAtoms@@2PAVnsIAtom@@A"] + pub static nsGkAtoms_onanimationcancel: *mut nsIAtom; #[link_name = "\x01?onanimationend@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_onanimationend: *mut nsIAtom; #[link_name = "\x01?onanimationiteration@nsGkAtoms@@2PAVnsIAtom@@A"] @@ -11684,8 +11704,12 @@ cfg_if! { pub static nsGkAtoms_onvoicechange: *mut nsIAtom; #[link_name = "\x01?onvoiceschanged@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_onvoiceschanged: *mut nsIAtom; + #[link_name = "\x01?onvrdisplayactivate@nsGkAtoms@@2PAVnsIAtom@@A"] + pub static nsGkAtoms_onvrdisplayactivate: *mut nsIAtom; #[link_name = "\x01?onvrdisplayconnect@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_onvrdisplayconnect: *mut nsIAtom; + #[link_name = "\x01?onvrdisplaydeactivate@nsGkAtoms@@2PAVnsIAtom@@A"] + pub static nsGkAtoms_onvrdisplaydeactivate: *mut nsIAtom; #[link_name = "\x01?onvrdisplaydisconnect@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_onvrdisplaydisconnect: *mut nsIAtom; #[link_name = "\x01?onvrdisplaypresentchange@nsGkAtoms@@2PAVnsIAtom@@A"] @@ -14024,6 +14048,8 @@ cfg_if! { pub static nsGkAtoms_restylableAnonymousNode: *mut nsIAtom; #[link_name = "\x01?paintRequestTime@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_paintRequestTime: *mut nsIAtom; + #[link_name = "\x01?pseudoProperty@nsGkAtoms@@2PAVnsIAtom@@A"] + pub static nsGkAtoms_pseudoProperty: *mut nsIAtom; #[link_name = "\x01?Japanese@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_Japanese: *mut nsIAtom; #[link_name = "\x01?Chinese@nsGkAtoms@@2PAVnsIAtom@@A"] @@ -14658,8 +14684,6 @@ cfg_if! { pub static nsCSSAnonBoxes_mozLineFrame: *mut nsICSSAnonBoxPseudo; #[link_name = "\x01?buttonContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"] pub static nsCSSAnonBoxes_buttonContent: *mut nsICSSAnonBoxPseudo; - #[link_name = "\x01?mozButtonLabel@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"] - pub static nsCSSAnonBoxes_mozButtonLabel: *mut nsICSSAnonBoxPseudo; #[link_name = "\x01?cellContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"] pub static nsCSSAnonBoxes_cellContent: *mut nsICSSAnonBoxPseudo; #[link_name = "\x01?dropDownList@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"] @@ -15490,6 +15514,8 @@ macro_rules! atom { { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_focus as *mut _) } }; ("focused") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_focused as *mut _) } }; +("followanchor") => + { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_followanchor as *mut _) } }; ("following") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_following as *mut _) } }; ("following-sibling") => @@ -16086,6 +16112,8 @@ macro_rules! atom { { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onafterscriptexecute as *mut _) } }; ("onalerting") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onalerting as *mut _) } }; +("onanimationcancel") => + { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onanimationcancel as *mut _) } }; ("onanimationend") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onanimationend as *mut _) } }; ("onanimationiteration") => @@ -16600,8 +16628,12 @@ macro_rules! atom { { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onvoicechange as *mut _) } }; ("onvoiceschanged") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onvoiceschanged as *mut _) } }; +("onvrdisplayactivate") => + { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onvrdisplayactivate as *mut _) } }; ("onvrdisplayconnect") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onvrdisplayconnect as *mut _) } }; +("onvrdisplaydeactivate") => + { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onvrdisplaydeactivate as *mut _) } }; ("onvrdisplaydisconnect") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onvrdisplaydisconnect as *mut _) } }; ("onvrdisplaypresentchange") => @@ -18940,6 +18972,8 @@ macro_rules! atom { { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_restylableAnonymousNode as *mut _) } }; ("PaintRequestTime") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_paintRequestTime as *mut _) } }; +("PseudoProperty") => + { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_pseudoProperty as *mut _) } }; ("ja") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_Japanese as *mut _) } }; ("zh-CN") => @@ -19574,8 +19608,6 @@ macro_rules! atom { { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozLineFrame as *mut _) } }; (":-moz-button-content") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_buttonContent as *mut _) } }; -(":-moz-buttonlabel") => - { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_mozButtonLabel as *mut _) } }; (":-moz-cell-content") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsCSSAnonBoxes_cellContent as *mut _) } }; (":-moz-dropdown-list") => diff --git a/components/style/gecko_string_cache/mod.rs b/components/style/gecko_string_cache/mod.rs index 784ae732b52..1c44df4eb17 100644 --- a/components/style/gecko_string_cache/mod.rs +++ b/components/style/gecko_string_cache/mod.rs @@ -135,16 +135,22 @@ impl WeakAtom { /// Returns whether this atom is static. #[inline] pub fn is_static(&self) -> bool { + // FIXME(emilio): re-introduce bitfield accessors: + // + // https://github.com/servo/rust-bindgen/issues/519 unsafe { - (*self.as_ptr()).mIsStatic() != 0 + ((*self.as_ptr())._bitfield_1 & (0x80000000 as u32)) != 0 } } /// Returns the length of the atom string. #[inline] pub fn len(&self) -> u32 { + // FIXME(emilio): re-introduce bitfield accessors: + // + // https://github.com/servo/rust-bindgen/issues/519 unsafe { - (*self.as_ptr()).mLength() + (*self.as_ptr())._bitfield_1 & 0x7FFFFFFF } } @@ -282,10 +288,11 @@ impl From<*mut nsIAtom> for Atom { fn from(ptr: *mut nsIAtom) -> Atom { debug_assert!(!ptr.is_null()); unsafe { - if (*ptr).mIsStatic() == 0 { + let ret = Atom(WeakAtom::new(ptr)); + if !ret.is_static() { Gecko_AddRefAtom(ptr); } - Atom(WeakAtom::new(ptr)) + ret } } } diff --git a/components/style/matching.rs b/components/style/matching.rs index 2b180f47892..d710d558263 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -569,7 +569,36 @@ trait PrivateMatchMethods: TElement { } } + /// Computes and applies non-redundant damage. + #[cfg(feature = "gecko")] + fn accumulate_damage(&self, + restyle: &mut RestyleData, + old_values: &Arc<ComputedValues>, + new_values: &Arc<ComputedValues>, + pseudo: Option<&PseudoElement>) { + // If an ancestor is already getting reconstructed by Gecko's top-down + // frame constructor, no need to apply damage. + if restyle.damage_handled.contains(RestyleDamage::reconstruct()) { + restyle.damage = RestyleDamage::empty(); + return; + } + + // Add restyle damage, but only the bits that aren't redundant with respect + // to damage applied on our ancestors. + // + // See https://bugzilla.mozilla.org/show_bug.cgi?id=1301258#c12 + // for followup work to make the optimization here more optimal by considering + // each bit individually. + if !restyle.damage.contains(RestyleDamage::reconstruct()) { + let new_damage = self.compute_restyle_damage(&old_values, &new_values, pseudo); + if !restyle.damage_handled.contains(new_damage) { + restyle.damage |= new_damage; + } + } + } + /// Computes and applies restyle damage unless we've already maxed it out. + #[cfg(feature = "servo")] fn accumulate_damage(&self, restyle: &mut RestyleData, old_values: &Arc<ComputedValues>, @@ -712,7 +741,7 @@ pub trait MatchMethods : TElement { if let Some(r) = data.get_restyle_mut() { // Any changes to the matched pseudo-elements trigger // reconstruction. - r.damage |= RestyleDamage::rebuild_and_reflow(); + r.damage |= RestyleDamage::reconstruct(); } } @@ -924,7 +953,7 @@ pub trait MatchMethods : TElement { RestyleDamage::empty() } else { // Something else. Be conservative for now. - RestyleDamage::rebuild_and_reflow() + RestyleDamage::reconstruct() } } } diff --git a/components/style/parser.rs b/components/style/parser.rs index 12e6290304f..4145650b2c8 100644 --- a/components/style/parser.rs +++ b/components/style/parser.rs @@ -110,6 +110,22 @@ impl<T> Parse for Vec<T> where T: Parse + OneOrMoreCommaSeparated { } } +/// Parse a non-empty space-separated or comma-separated list of objects parsed by parse_one +pub fn parse_space_or_comma_separated<F, T>(input: &mut Parser, mut parse_one: F) + -> Result<Vec<T>, ()> + where F: FnMut(&mut Parser) -> Result<T, ()> { + let first = parse_one(input)?; + let mut vec = vec![first]; + loop { + let _ = input.try(|i| i.expect_comma()); + if let Ok(val) = input.try(|i| parse_one(i)) { + vec.push(val) + } else { + break + } + } + Ok(vec) +} impl Parse for UnicodeRange { fn parse(_context: &ParserContext, input: &mut Parser) -> Result<Self, ()> { UnicodeRange::parse(input) diff --git a/components/style/properties/data.py b/components/style/properties/data.py index 1219600a5d3..0b2debb233d 100644 --- a/components/style/properties/data.py +++ b/components/style/properties/data.py @@ -67,7 +67,7 @@ class Keyword(object): raise Exception("Bad product: " + product) def gecko_constant(self, value): - moz_stripped = value.replace("-moz-", '') if self.gecko_strip_moz_prefix else value + moz_stripped = value.replace("-moz-", '') if self.gecko_strip_moz_prefix else value.replace("-moz-", 'moz-') mapped = self.consts_map.get(value) if self.gecko_enum_prefix: parts = moz_stripped.split('-') diff --git a/components/style/properties/declaration_block.rs b/components/style/properties/declaration_block.rs index e4b5b6be586..f9681e68361 100644 --- a/components/style/properties/declaration_block.rs +++ b/components/style/properties/declaration_block.rs @@ -40,6 +40,13 @@ impl Importance { } } +impl Default for Importance { + #[inline] + fn default() -> Self { + Importance::Normal + } +} + /// Overridden declarations are skipped. #[derive(Debug, PartialEq, Clone)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 2d707f7638d..e8060a0a90c 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -11,6 +11,7 @@ <%namespace name="helpers" file="/helpers.mako.rs" /> use app_units::Au; +use cssparser::Color; use custom_properties::ComputedValuesMap; use gecko_bindings::bindings; % for style_struct in data.style_structs: @@ -25,7 +26,6 @@ use gecko_bindings::bindings::Gecko_CopyFontFamilyFrom; use gecko_bindings::bindings::Gecko_CopyImageValueFrom; use gecko_bindings::bindings::Gecko_CopyListStyleImageFrom; use gecko_bindings::bindings::Gecko_CopyListStyleTypeFrom; -use gecko_bindings::bindings::Gecko_CopyMozBindingFrom; use gecko_bindings::bindings::Gecko_EnsureImageLayersLength; use gecko_bindings::bindings::Gecko_FontFamilyList_AppendGeneric; use gecko_bindings::bindings::Gecko_FontFamilyList_AppendNamed; @@ -33,10 +33,11 @@ use gecko_bindings::bindings::Gecko_FontFamilyList_Clear; use gecko_bindings::bindings::Gecko_SetCursorArrayLength; use gecko_bindings::bindings::Gecko_SetCursorImage; use gecko_bindings::bindings::Gecko_NewCSSShadowArray; +use gecko_bindings::bindings::Gecko_nsStyleFont_SetLang; +use gecko_bindings::bindings::Gecko_nsStyleFont_CopyLangFrom; use gecko_bindings::bindings::Gecko_SetListStyleImage; use gecko_bindings::bindings::Gecko_SetListStyleImageNone; use gecko_bindings::bindings::Gecko_SetListStyleType; -use gecko_bindings::bindings::Gecko_SetMozBinding; use gecko_bindings::bindings::Gecko_SetNullImageValue; use gecko_bindings::bindings::ServoComputedValuesBorrowedOrNull; use gecko_bindings::bindings::{Gecko_ResetFilters, Gecko_CopyFiltersFrom}; @@ -54,7 +55,7 @@ use properties::longhands; use properties::{DeclaredValue, Importance, LonghandId}; use properties::{PropertyDeclaration, PropertyDeclarationBlock, PropertyDeclarationId}; use std::fmt::{self, Debug}; -use std::mem::{transmute, zeroed}; +use std::mem::{forget, transmute, zeroed}; use std::ptr; use std::sync::Arc; use std::cmp; @@ -234,8 +235,6 @@ def get_gecko_property(ffi_name, self_param = "self"): return "%s.gecko.%s" % (self_param, ffi_name) def set_gecko_property(ffi_name, expr): - if ffi_name == "__LIST_STYLE_TYPE__": - return "unsafe { Gecko_SetListStyleType(&mut self.gecko, %s as u32); }" % expr if "mBorderColor" in ffi_name: ffi_name = ffi_name.replace("mBorderColor", "*self.gecko.__bindgen_anon_1.mBorderColor.as_mut()") @@ -274,6 +273,19 @@ def set_gecko_property(ffi_name, expr): } </%def> + +/// Convert a Servo color into an nscolor; with currentColor as 0 +/// +/// Call sites will need to be updated after https://bugzilla.mozilla.org/show_bug.cgi?id=760345 +fn color_to_nscolor_zero_currentcolor(color: Color) -> structs::nscolor { + match color { + Color::RGBA(rgba) => { + convert_rgba_to_nscolor(&rgba) + }, + Color::CurrentColor => 0, + } +} + <%def name="impl_color_setter(ident, gecko_ffi_name, complex_color=True)"> #[allow(unreachable_code)] #[allow(non_snake_case)] @@ -281,12 +293,7 @@ def set_gecko_property(ffi_name, expr): % if complex_color: let result = v.into(); % else: - use cssparser::Color; - let result = match v { - Color::RGBA(rgba) => convert_rgba_to_nscolor(&rgba), - // FIXME #13547 - Color::CurrentColor => 0, - }; + let result = color_to_nscolor_zero_currentcolor(v); % endif ${set_gecko_property(gecko_ffi_name, "result")} } @@ -306,7 +313,6 @@ def set_gecko_property(ffi_name, expr): % if complex_color: ${get_gecko_property(gecko_ffi_name)}.into() % else: - use cssparser::Color; Color::RGBA(convert_nscolor_to_rgba(${get_gecko_property(gecko_ffi_name)})) % endif } @@ -369,6 +375,58 @@ def set_gecko_property(ffi_name, expr): % endif </%def> +<%def name="impl_svg_paint(ident, gecko_ffi_name, need_clone=False, complex_color=True)"> + #[allow(non_snake_case)] + pub fn set_${ident}(&mut self, mut v: longhands::${ident}::computed_value::T) { + use values::computed::SVGPaintKind; + use self::structs::nsStyleSVGPaintType; + + let ref mut paint = ${get_gecko_property(gecko_ffi_name)}; + unsafe { + bindings::Gecko_nsStyleSVGPaint_Reset(paint); + } + let fallback = v.fallback.take(); + match v.kind { + SVGPaintKind::None => return, + SVGPaintKind::ContextFill => { + paint.mType = nsStyleSVGPaintType::eStyleSVGPaintType_ContextFill; + } + SVGPaintKind::ContextStroke => { + paint.mType = nsStyleSVGPaintType::eStyleSVGPaintType_ContextStroke; + } + SVGPaintKind::PaintServer(url) => { + unsafe { + if let Some(ffi) = url.for_ffi() { + bindings::Gecko_nsStyleSVGPaint_SetURLValue(paint, ffi); + } else { + return; + } + } + } + SVGPaintKind::Color(color) => { + paint.mType = nsStyleSVGPaintType::eStyleSVGPaintType_Color; + unsafe { + *paint.mPaint.mColor.as_mut() = color_to_nscolor_zero_currentcolor(color); + } + } + } + + if let Some(fallback) = fallback { + paint.mFallbackColor = color_to_nscolor_zero_currentcolor(fallback); + } + } + + #[allow(non_snake_case)] + pub fn copy_${ident}_from(&mut self, other: &Self) { + unsafe { + bindings::Gecko_nsStyleSVGPaint_CopyFrom( + &mut ${get_gecko_property(gecko_ffi_name)}, + & ${get_gecko_property(gecko_ffi_name, "other")} + ); + } + } +</%def> + <%def name="impl_app_units(ident, gecko_ffi_name, need_clone, round_to_pixels=False)"> #[allow(non_snake_case)] pub fn set_${ident}(&mut self, v: longhands::${ident}::computed_value::T) { @@ -455,6 +513,41 @@ def set_gecko_property(ffi_name, expr): % endif </%def> +<%def name="impl_css_url(ident, gecko_ffi_name, need_clone=False)"> + #[allow(non_snake_case)] + pub fn set_${ident}(&mut self, v: longhands::${ident}::computed_value::T) { + use gecko_bindings::sugar::refptr::RefPtr; + match v { + Either::First(url) => { + let refptr = unsafe { + if let Some(ffi) = url.for_ffi() { + let ptr = bindings::Gecko_NewURLValue(ffi); + RefPtr::from_addrefed(ptr) + } else { + self.gecko.${gecko_ffi_name}.clear(); + return; + } + }; + self.gecko.${gecko_ffi_name}.set_move(refptr) + } + Either::Second(_none) => { + unsafe { + self.gecko.${gecko_ffi_name}.clear(); + } + } + } + } + #[allow(non_snake_case)] + pub fn copy_${ident}_from(&mut self, other: &Self) { + unsafe { + self.gecko.${gecko_ffi_name}.set(&other.gecko.${gecko_ffi_name}); + } + } + % if need_clone: + <% raise Exception("Do not know how to handle clone ") %> + % endif +</%def> + <%def name="impl_logical(name, need_clone=False, **kwargs)"> ${helpers.logical_setter(name, need_clone)} </%def> @@ -543,6 +636,8 @@ impl Debug for ${style_struct.gecko_struct_name} { "Number": impl_simple, "Opacity": impl_simple, "CSSColor": impl_color, + "SVGPaint": impl_svg_paint, + "UrlOrNone": impl_css_url, } def longhand_method(longhand): @@ -864,7 +959,8 @@ fn static_assert() { <% skip_position_longhands = " ".join(x.ident for x in SIDES + GRID_LINES) %> <%self:impl_trait style_struct_name="Position" skip_longhands="${skip_position_longhands} z-index box-sizing order align-content - justify-content"> + justify-content align-self justify-self align-items + justify-items"> % for side in SIDES: <% impl_split_style_coord("%s" % side.ident, "mOffset", @@ -914,6 +1010,36 @@ fn static_assert() { ${impl_simple_copy('justify_content', 'mJustifyContent')} + pub fn set_align_self(&mut self, v: longhands::align_self::computed_value::T) { + self.gecko.mAlignSelf = v.0.bits() + } + + ${impl_simple_copy('align_self', 'mAlignSelf')} + + pub fn set_justify_self(&mut self, v: longhands::justify_self::computed_value::T) { + self.gecko.mJustifySelf = v.0.bits() + } + + ${impl_simple_copy('justify_self', 'mJustifySelf')} + + pub fn set_align_items(&mut self, v: longhands::align_items::computed_value::T) { + self.gecko.mAlignItems = v.0.bits() + } + + ${impl_simple_copy('align_items', 'mAlignItems')} + + pub fn set_justify_items(&mut self, v: longhands::justify_items::computed_value::T) { + self.gecko.mJustifyItems = v.0.bits() + } + + ${impl_simple_copy('justify_items', 'mJustifyItems')} + + pub fn clone_justify_items(&self) -> longhands::justify_items::computed_value::T { + use values::specified::align::{AlignFlags, JustifyItems}; + JustifyItems(AlignFlags::from_bits(self.gecko.mJustifyItems) + .expect("mJustifyItems contains valid flags")) + } + pub fn set_box_sizing(&mut self, v: longhands::box_sizing::computed_value::T) { use computed_values::box_sizing::T; use gecko_bindings::structs::StyleBoxSizing; @@ -952,7 +1078,7 @@ fn static_assert() { pub fn copy_${value.name}_from(&mut self, other: &Self) { self.gecko.${value.gecko}.mHasSpan = other.gecko.${value.gecko}.mHasSpan; self.gecko.${value.gecko}.mInteger = other.gecko.${value.gecko}.mInteger; - self.gecko.${value.gecko}.mLineName.assign(&other.gecko.${value.gecko}.mLineName); + self.gecko.${value.gecko}.mLineName.assign(&*other.gecko.${value.gecko}.mLineName); } % endfor @@ -1014,7 +1140,7 @@ fn static_assert() { </%self:impl_trait> <%self:impl_trait style_struct_name="Font" - skip_longhands="font-family font-size font-size-adjust font-weight font-synthesis" + skip_longhands="font-family font-size font-size-adjust font-weight font-synthesis -x-lang" skip_additionals="*"> pub fn set_font_family(&mut self, v: longhands::font_family::computed_value::T) { @@ -1123,6 +1249,21 @@ fn static_assert() { } } + #[allow(non_snake_case)] + pub fn set__x_lang(&mut self, v: longhands::_x_lang::computed_value::T) { + let ptr = v.0.as_ptr(); + forget(v); + unsafe { + Gecko_nsStyleFont_SetLang(&mut self.gecko, ptr); + } + } + + #[allow(non_snake_case)] + pub fn copy__x_lang_from(&mut self, other: &Self) { + unsafe { + Gecko_nsStyleFont_CopyLangFrom(&mut self.gecko, &other.gecko); + } + } </%self:impl_trait> <%def name="impl_copy_animation_value(ident, gecko_ffi_name)"> @@ -1209,7 +1350,7 @@ fn static_assert() { animation-name animation-delay animation-duration animation-direction animation-fill-mode animation-play-state animation-iteration-count animation-timing-function - -moz-binding page-break-before page-break-after + page-break-before page-break-after scroll-snap-points-x scroll-snap-points-y transform scroll-snap-type-y scroll-snap-coordinate perspective-origin transform-origin""" %> @@ -1304,33 +1445,6 @@ fn static_assert() { <%call expr="impl_coord_copy('vertical_align', 'mVerticalAlign')"></%call> - #[allow(non_snake_case)] - pub fn set__moz_binding(&mut self, v: longhands::_moz_binding::computed_value::T) { - use values::Either; - match v { - Either::Second(_none) => debug_assert!(self.gecko.mBinding.mRawPtr.is_null()), - Either::First(ref url) => { - let extra_data = url.extra_data(); - let (ptr, len) = match url.as_slice_components() { - Ok(value) => value, - Err(_) => (ptr::null(), 0), - }; - unsafe { - Gecko_SetMozBinding(&mut self.gecko, - ptr, - len as u32, - extra_data.base.get(), - extra_data.referrer.get(), - extra_data.principal.get()); - } - } - } - } - #[allow(non_snake_case)] - pub fn copy__moz_binding_from(&mut self, other: &Self) { - unsafe { Gecko_CopyMozBindingFrom(&mut self.gecko, &other.gecko); } - } - // Temp fix for Bugzilla bug 24000. // Map 'auto' and 'avoid' to false, and 'always', 'left', and 'right' to true. // "A conforming user agent may interpret the values 'left' and 'right' @@ -1592,7 +1706,7 @@ fn static_assert() { // The length of mAnimations is often greater than mAnimationXXCount, // don't copy values over the count. for (index, animation) in self.gecko.mAnimations.iter_mut().enumerate().take(count as usize) { - animation.mName.assign(&other.gecko.mAnimations[index].mName); + animation.mName.assign(&*other.gecko.mAnimations[index].mName); } } ${impl_animation_count('name', 'Name')} @@ -2054,17 +2168,13 @@ fn static_assert() { } } Either::First(ref url) => { - let (ptr, len) = match url.as_slice_components() { - Ok(value) | Err(value) => value - }; - let extra_data = url.extra_data(); unsafe { - Gecko_SetListStyleImage(&mut self.gecko, - ptr, - len as u32, - extra_data.base.get(), - extra_data.referrer.get(), - extra_data.principal.get()); + if let Some(ffi) = url.for_ffi() { + Gecko_SetListStyleImage(&mut self.gecko, + ffi); + } else { + Gecko_SetListStyleImageNone(&mut self.gecko); + } } // We don't need to record this struct as uncacheable, like when setting // background-image to a url() value, since only properties in reset structs @@ -2078,8 +2188,32 @@ fn static_assert() { unsafe { Gecko_CopyListStyleImageFrom(&mut self.gecko, &other.gecko); } } - ${impl_keyword_setter("list_style_type", "__LIST_STYLE_TYPE__", - data.longhands_by_name["list-style-type"].keyword)} + pub fn set_list_style_type(&mut self, v: longhands::list_style_type::computed_value::T) { + use properties::longhands::list_style_type::computed_value::T as Keyword; + <% + keyword = data.longhands_by_name["list-style-type"].keyword + # The first four are @counter-styles + # The rest have special fallback behavior + special = """upper-roman lower-roman upper-alpha lower-alpha + japanese-informal japanese-formal korean-hangul-formal korean-hanja-informal + korean-hanja-formal simp-chinese-informal simp-chinese-formal + trad-chinese-informal trad-chinese-formal""".split() + %> + let result = match v { + % for value in keyword.values_for('gecko'): + % if value in special: + // Special keywords are implemented as @counter-styles + // and need to be manually set as strings + Keyword::${to_rust_ident(value)} => structs::${keyword.gecko_constant("none")}, + % else: + Keyword::${to_rust_ident(value)} => + structs::${keyword.gecko_constant(value)}, + % endif + % endfor + }; + unsafe { Gecko_SetListStyleType(&mut self.gecko, result as u32); } + } + pub fn copy_list_style_type_from(&mut self, other: &Self) { unsafe { @@ -2132,10 +2266,18 @@ fn static_assert() { </%self:impl_trait> +<%self:impl_trait style_struct_name="Table" skip_longhands="-x-span"> + #[allow(non_snake_case)] + pub fn set__x_span(&mut self, v: longhands::_x_span::computed_value::T) { + self.gecko.mSpan = v.0 + } + + ${impl_simple_copy('_x_span', 'mSpan')} +</%self:impl_trait> + <%self:impl_trait style_struct_name="Effects" skip_longhands="box-shadow filter"> pub fn set_box_shadow(&mut self, v: longhands::box_shadow::computed_value::T) { - use cssparser::Color; self.gecko.mBoxShadow.replace_with_new(v.0.len() as u32); @@ -2166,8 +2308,6 @@ fn static_assert() { } pub fn clone_box_shadow(&self) -> longhands::box_shadow::computed_value::T { - use cssparser::Color; - let buf = self.gecko.mBoxShadow.iter().map(|shadow| { longhands::box_shadow::single_value::computed_value::T { offset_x: Au(shadow.mXOffset), @@ -2182,7 +2322,6 @@ fn static_assert() { } pub fn set_filter(&mut self, v: longhands::filter::computed_value::T) { - use cssparser::Color; use properties::longhands::filter::computed_value::Filter::*; use gecko_bindings::structs::nsCSSShadowArray; use gecko_bindings::structs::nsStyleFilter; @@ -2267,6 +2406,13 @@ fn static_assert() { Color::CurrentColor => 0, }; } + Url(ref url) => { + unsafe { + if let Some(ffi) = url.for_ffi() { + bindings::Gecko_nsStyleFilter_SetURLValue(gecko_filter, ffi); + } + } + } } } } @@ -2300,11 +2446,10 @@ fn static_assert() { -webkit-text-stroke-width text-emphasis-position -moz-tab-size"> <% text_align_keyword = Keyword("text-align", "start end left right center justify -moz-center -moz-left " + - "-moz-right match-parent") %> + "-moz-right match-parent char") %> ${impl_keyword('text_align', 'mTextAlign', text_align_keyword, need_clone=False)} pub fn set_text_shadow(&mut self, v: longhands::text_shadow::computed_value::T) { - use cssparser::Color; self.gecko.mTextShadow.replace_with_new(v.0.len() as u32); for (servo, gecko_shadow) in v.0.into_iter() @@ -2332,7 +2477,6 @@ fn static_assert() { } pub fn clone_text_shadow(&self) -> longhands::text_shadow::computed_value::T { - use cssparser::Color; let buf = self.gecko.mTextShadow.iter().map(|shadow| { longhands::text_shadow::computed_value::TextShadow { @@ -2459,7 +2603,7 @@ fn static_assert() { self.clear_text_emphasis_style_if_string(); if other.gecko.mTextEmphasisStyle == structs::NS_STYLE_TEXT_EMPHASIS_STYLE_STRING as u8 { self.gecko.mTextEmphasisStyleString - .assign(&other.gecko.mTextEmphasisStyleString) + .assign(&*other.gecko.mTextEmphasisStyleString) } self.gecko.mTextEmphasisStyle = other.gecko.mTextEmphasisStyle; } @@ -2490,18 +2634,21 @@ fn static_assert() { pub fn set_text_decoration_line(&mut self, v: longhands::text_decoration_line::computed_value::T) { let mut bits: u8 = 0; - if v.underline { + if v.contains(longhands::text_decoration_line::UNDERLINE) { bits |= structs::NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE as u8; } - if v.overline { + if v.contains(longhands::text_decoration_line::OVERLINE) { bits |= structs::NS_STYLE_TEXT_DECORATION_LINE_OVERLINE as u8; } - if v.line_through { + if v.contains(longhands::text_decoration_line::LINE_THROUGH) { bits |= structs::NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH as u8; } - if v.blink { + if v.contains(longhands::text_decoration_line::BLINK) { bits |= structs::NS_STYLE_TEXT_DECORATION_LINE_BLINK as u8; } + if v.contains(longhands::text_decoration_line::COLOR_OVERRIDE) { + bits |= structs::NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL as u8; + } self.gecko.mTextDecorationLine = bits; } @@ -2553,7 +2700,7 @@ fn static_assert() { use gecko_bindings::structs::nsStyleTextOverflowSide; fn set(side: &mut nsStyleTextOverflowSide, other: &nsStyleTextOverflowSide) { if other.mType == structs::NS_STYLE_TEXT_OVERFLOW_STRING as u8 { - side.mString.assign(&other.mString) + side.mString.assign(&*other.mString) } side.mType = other.mType } @@ -2624,7 +2771,13 @@ clip-path clip_path.mType = StyleShapeSourceType::None; match v { - ShapeSource::Url(..) => warn!("stylo: clip-path: url() not yet implemented"), + ShapeSource::Url(ref url) => { + unsafe { + if let Some(ffi) = url.for_ffi() { + bindings::Gecko_StyleClipPath_SetURLValue(clip_path, ffi); + } + } + } ShapeSource::None => {} // don't change the type ShapeSource::Box(reference) => { clip_path.mReferenceBox = reference.into(); @@ -2714,32 +2867,51 @@ clip-path Gecko_CopyClipPathValueFrom(&mut self.gecko.mClipPath, &other.gecko.mClipPath); } } +</%self:impl_trait> - pub fn clone_clip_path(&self) -> longhands::clip_path::computed_value::T { - use gecko_bindings::structs::StyleShapeSourceType; - use gecko_bindings::structs::StyleGeometryBox; - use values::computed::basic_shape::*; - let ref clip_path = self.gecko.mClipPath; +<%self:impl_trait style_struct_name="InheritedSVG" + skip_longhands="paint-order stroke-dasharray" + skip_additionals="*"> + pub fn set_paint_order(&mut self, v: longhands::paint_order::computed_value::T) { + use self::longhands::paint_order; - match clip_path.mType { - StyleShapeSourceType::None => ShapeSource::None, - StyleShapeSourceType::Box => { - ShapeSource::Box(clip_path.mReferenceBox.into()) - } - StyleShapeSourceType::URL => { - warn!("stylo: clip-path: url() not implemented yet"); - Default::default() - } - StyleShapeSourceType::Shape => { - let reference = if let StyleGeometryBox::NoBox = clip_path.mReferenceBox { - None - } else { - Some(clip_path.mReferenceBox.into()) + if v.0 == 0 { + self.gecko.mPaintOrder = structs::NS_STYLE_PAINT_ORDER_NORMAL as u8; + } else { + let mut order = 0; + + for pos in 0..3 { + let geckoval = match v.bits_at(pos) { + paint_order::FILL => structs::NS_STYLE_PAINT_ORDER_FILL as u8, + paint_order::STROKE => structs::NS_STYLE_PAINT_ORDER_STROKE as u8, + paint_order::MARKERS => structs::NS_STYLE_PAINT_ORDER_MARKERS as u8, + _ => unreachable!(), }; - let union = clip_path.__bindgen_anon_1; - let shape = unsafe { &**union.mBasicShape.as_ref() }; - ShapeSource::Shape(shape.into(), reference) + order |= geckoval << (pos * structs::NS_STYLE_PAINT_ORDER_BITWIDTH as u8); } + + self.gecko.mPaintOrder = order; + } + } + + ${impl_simple_copy('paint_order', 'mPaintOrder')} + + pub fn set_stroke_dasharray(&mut self, v: longhands::stroke_dasharray::computed_value::T) { + unsafe { + bindings::Gecko_nsStyleSVG_SetDashArrayLength(&mut self.gecko, v.0.len() as u32); + } + + for (mut gecko, servo) in self.gecko.mStrokeDasharray.iter_mut().zip(v.0.into_iter()) { + match servo { + Either::First(lop) => gecko.set(lop), + Either::Second(number) => gecko.set_value(CoordDataValue::Factor(number)), + } + } + } + + pub fn copy_stroke_dasharray_from(&mut self, other: &Self) { + unsafe { + bindings::Gecko_nsStyleSVG_CopyDashArray(&mut self.gecko, &other.gecko); } } </%self:impl_trait> diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs index e89ebaeb21a..a55e7e2b153 100644 --- a/components/style/properties/helpers.mako.rs +++ b/components/style/properties/helpers.mako.rs @@ -66,7 +66,8 @@ We assume that the default/initial value is an empty vector for these. `initial_value` need not be defined for these. </%doc> -<%def name="vector_longhand(name, gecko_only=False, allow_empty=False, delegate_animate=False, **kwargs)"> +<%def name="vector_longhand(name, gecko_only=False, allow_empty=False, + delegate_animate=False, space_separated_allowed=False, **kwargs)"> <%call expr="longhand(name, **kwargs)"> % if not gecko_only: use std::fmt; @@ -86,6 +87,7 @@ use properties::{CSSWideKeyword, DeclaredValue, ShorthandId}; use values::computed::{Context, ToComputedValue}; use values::{computed, specified}; + use values::{Auto, Either, None_, Normal}; ${caller.body()} } @@ -166,16 +168,23 @@ } pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { + use parser::parse_space_or_comma_separated; + + <% + parse_func = "Parser::parse_comma_separated" + if space_separated_allowed: + parse_func = "parse_space_or_comma_separated" + %> % if allow_empty: if input.try(|input| input.expect_ident_matching("none")).is_ok() { Ok(SpecifiedValue(Vec::new())) } else { - input.parse_comma_separated(|parser| { + ${parse_func}(input, |parser| { single_value::parse(context, parser) }).map(SpecifiedValue) } % else: - input.parse_comma_separated(|parser| { + ${parse_func}(input, |parser| { single_value::parse(context, parser) }).map(SpecifiedValue) % endif @@ -367,7 +376,44 @@ </%call> </%def> -<%def name="single_keyword_computed(name, values, vector=False, extra_specified=None, **kwargs)"> +<%def name="gecko_keyword_conversion(keyword, values=None, type='SpecifiedValue')"> + <% + if not values: + values = keyword.values_for(product) + %> + #[cfg(feature = "gecko")] + impl ${type} { + /// Obtain a specified value from a Gecko keyword value + /// + /// Intended for use with presentation attributes, not style structs + pub fn from_gecko_keyword(kw: u32) -> Self { + use gecko_bindings::structs; + % if keyword.gecko_enum_prefix: + % for value in values: + // We can't match on enum values if we're matching on a u32 + const ${to_rust_ident(value).upper()}: u32 + = structs::${keyword.gecko_enum_prefix}::${to_camel_case(value)} as u32; + % endfor + match kw { + % for value in values: + ${to_rust_ident(value).upper()} => ${type}::${to_rust_ident(value)}, + % endfor + x => panic!("Found unexpected value in style struct for ${keyword.name} property: {:?}", x), + } + % else: + match kw { + % for value in values: + structs::${keyword.gecko_constant(value)} => ${type}::${to_rust_ident(value)}, + % endfor + x => panic!("Found unexpected value in style struct for ${keyword.name} property: {:?}", x), + } + % endif + } + } +</%def> + +<%def name="single_keyword_computed(name, values, vector=False, + extra_specified=None, needs_conversion=False, **kwargs)"> <% keyword_kwargs = {a: kwargs.pop(a, None) for a in [ 'gecko_constant_prefix', 'gecko_enum_prefix', @@ -376,11 +422,11 @@ ]} %> - <%def name="inner_body()"> + <%def name="inner_body(keyword, extra_specified=None, needs_conversion=False)"> % if extra_specified: use style_traits::ToCss; define_css_keyword_enum! { SpecifiedValue: - % for value in data.longhands_by_name[name].keyword.values_for(product) + extra_specified.split(): + % for value in keyword.values_for(product) + extra_specified.split(): "${value}" => ${to_rust_ident(value)}, % endfor } @@ -415,15 +461,25 @@ SpecifiedValue::parse(input) } } + + % if needs_conversion: + <% + conversion_values = keyword.values_for(product) + if extra_specified: + conversion_values += extra_specified.split() + %> + ${gecko_keyword_conversion(keyword, values=conversion_values)} + % endif </%def> % if vector: <%call expr="vector_longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> - ${inner_body()} + ${inner_body(Keyword(name, values, **keyword_kwargs))} ${caller.body()} </%call> % else: <%call expr="longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> - ${inner_body()} + ${inner_body(Keyword(name, values, **keyword_kwargs), + extra_specified=extra_specified, needs_conversion=needs_conversion)} ${caller.body()} </%call> % endif diff --git a/components/style/properties/longhand/border.mako.rs b/components/style/properties/longhand/border.mako.rs index 8de98c8f527..7739eb4d9d2 100644 --- a/components/style/properties/longhand/border.mako.rs +++ b/components/style/properties/longhand/border.mako.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ <%namespace name="helpers" file="/helpers.mako.rs" /> -<% from data import Method, PHYSICAL_SIDES, ALL_SIDES, maybe_moz_logical_alias %> +<% from data import Keyword, Method, PHYSICAL_SIDES, ALL_SIDES, maybe_moz_logical_alias %> <% data.new_style_struct("Border", inherited=False, additional_methods=[Method("border_" + side + "_has_nonzero_width", @@ -32,9 +32,12 @@ animatable=False, logical = side[1])} % endfor +${helpers.gecko_keyword_conversion(Keyword('border-style', + "none solid double dotted dashed hidden groove ridge inset outset"), + type="::values::specified::BorderStyle")} % for side in ALL_SIDES: <%helpers:longhand name="border-${side[0]}-width" animatable="True" logical="${side[1]}" - alias=maybe_moz_logical_alias(product, side, "-moz-border-%s-width") + alias="${maybe_moz_logical_alias(product, side, '-moz-border-%s-width')}" spec="${maybe_logical_spec(side, 'width')}"> use app_units::Au; use std::fmt; diff --git a/components/style/properties/longhand/box.mako.rs b/components/style/properties/longhand/box.mako.rs index a0284a23bec..56ef26e603e 100644 --- a/components/style/properties/longhand/box.mako.rs +++ b/components/style/properties/longhand/box.mako.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ <%namespace name="helpers" file="/helpers.mako.rs" /> -<% from data import Keyword, Method, to_rust_ident %> +<% from data import Keyword, Method, to_rust_ident, to_camel_case%> <% data.new_style_struct("Box", inherited=False, @@ -93,6 +93,9 @@ } % endif + ${helpers.gecko_keyword_conversion(Keyword('display', ' '.join(values), + gecko_enum_prefix='StyleDisplay'))} + </%helpers:longhand> ${helpers.single_keyword("-moz-top-layer", "none top", @@ -146,6 +149,7 @@ ${helpers.single_keyword("-moz-top-layer", "none top", values="none left right" // https://drafts.csswg.org/css-logical-props/#float-clear extra_specified="inline-start inline-end" + needs_conversion="True" animatable="False" need_clone="True" gecko_enum_prefix="StyleFloat" @@ -190,6 +194,7 @@ ${helpers.single_keyword("-moz-top-layer", "none top", values="none left right both" // https://drafts.csswg.org/css-logical-props/#float-clear extra_specified="inline-start inline-end" + needs_conversion="True" animatable="False" gecko_enum_prefix="StyleClear" gecko_ffi_name="mBreakType" @@ -256,6 +261,8 @@ ${helpers.single_keyword("-moz-top-layer", "none top", extra_gecko_values="middle-with-baseline") %> <% vertical_align_keywords = vertical_align.keyword.values_for(product) %> + ${helpers.gecko_keyword_conversion(vertical_align.keyword)} + impl HasViewportPercentage for SpecifiedValue { fn has_viewport_percentage(&self) -> bool { match *self { @@ -1922,6 +1929,7 @@ ${helpers.single_keyword("-moz-appearance", ${helpers.predefined_type("-moz-binding", "UrlOrNone", "Either::Second(None_)", products="gecko", animatable="False", + gecko_ffi_name="mBinding", spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-binding)", disable_when_testing="True", boxed=True)} diff --git a/components/style/properties/longhand/effects.mako.rs b/components/style/properties/longhand/effects.mako.rs index eb4879f7afb..b5dbdf60dc8 100644 --- a/components/style/properties/longhand/effects.mako.rs +++ b/components/style/properties/longhand/effects.mako.rs @@ -94,6 +94,7 @@ ${helpers.predefined_type("clip", use style_traits::{self, ToCss}; use values::{CSSFloat, HasViewportPercentage}; use values::specified::{Angle, CSSColor, Length, Shadow}; + use values::specified::url::SpecifiedUrl; impl HasViewportPercentage for SpecifiedValue { fn has_viewport_percentage(&self) -> bool { @@ -129,6 +130,7 @@ ${helpers.predefined_type("clip", Sepia(CSSFloat), % if product == "gecko": DropShadow(Shadow), + Url(SpecifiedUrl), % endif } @@ -136,7 +138,8 @@ ${helpers.predefined_type("clip", use app_units::Au; use values::CSSFloat; use values::computed::{CSSColor, Shadow}; - use values::specified::{Angle}; + use values::specified::Angle; + use values::specified::url::SpecifiedUrl; #[derive(Clone, PartialEq, Debug)] #[cfg_attr(feature = "servo", derive(HeapSizeOf, Deserialize, Serialize))] @@ -152,6 +155,7 @@ ${helpers.predefined_type("clip", Sepia(CSSFloat), % if product == "gecko": DropShadow(Shadow), + Url(SpecifiedUrl), % endif } @@ -262,6 +266,11 @@ ${helpers.predefined_type("clip", try!(shadow.color.to_css(dest)); try!(dest.write_str(")")); } + computed_value::Filter::Url(ref url) => { + dest.write_str("url(")?; + url.to_css(dest)?; + dest.write_str(")")?; + } % endif } Ok(()) @@ -302,6 +311,11 @@ ${helpers.predefined_type("clip", } try!(dest.write_str(")")); } + SpecifiedFilter::Url(ref url) => { + dest.write_str("url(")?; + url.to_css(dest)?; + dest.write_str(")")?; + } % endif } Ok(()) @@ -319,6 +333,11 @@ ${helpers.predefined_type("clip", return Ok(SpecifiedValue(filters)) } loop { + % if product == "gecko": + if let Ok(url) = input.try(|i| SpecifiedUrl::parse(context, i)) { + filters.push(SpecifiedFilter::Url(url)); + } else + % endif if let Ok(function_name) = input.try(|input| input.expect_function()) { filters.push(try!(input.parse_nested_block(|input| { match_ignore_ascii_case! { function_name, @@ -375,6 +394,9 @@ ${helpers.predefined_type("clip", SpecifiedFilter::DropShadow(ref shadow) => { computed_value::Filter::DropShadow(shadow.to_computed_value(context)) }, + SpecifiedFilter::Url(ref url) => { + computed_value::Filter::Url(url.to_computed_value(context)) + } % endif } }).collect() } @@ -394,9 +416,14 @@ ${helpers.predefined_type("clip", computed_value::Filter::Saturate(factor) => SpecifiedFilter::Saturate(factor), computed_value::Filter::Sepia(factor) => SpecifiedFilter::Sepia(factor), % if product == "gecko": - computed_value::Filter::DropShadow(shadow) => { + computed_value::Filter::DropShadow(ref shadow) => { SpecifiedFilter::DropShadow( - ToComputedValue::from_computed_value(&shadow), + ToComputedValue::from_computed_value(shadow), + ) + } + computed_value::Filter::Url(ref url) => { + SpecifiedFilter::Url( + ToComputedValue::from_computed_value(url), ) } % endif diff --git a/components/style/properties/longhand/font.mako.rs b/components/style/properties/longhand/font.mako.rs index a52a7e1f498..a860e61ef8f 100644 --- a/components/style/properties/longhand/font.mako.rs +++ b/components/style/properties/longhand/font.mako.rs @@ -19,7 +19,7 @@ no_viewport_percentage!(SpecifiedValue); pub mod computed_value { - use cssparser::CssStringWriter; + use cssparser::{CssStringWriter, Parser}; use std::fmt::{self, Write}; use Atom; use style_traits::ToCss; @@ -73,6 +73,53 @@ } FontFamily::FamilyName(FamilyName(input)) } + + /// Parse a font-family value + pub fn parse(input: &mut Parser) -> Result<Self, ()> { + if let Ok(value) = input.try(|input| input.expect_string()) { + return Ok(FontFamily::FamilyName(FamilyName(Atom::from(&*value)))) + } + let first_ident = try!(input.expect_ident()); + + // FIXME(bholley): The fast thing to do here would be to look up the + // string (as lowercase) in the static atoms table. We don't have an + // API to do that yet though, so we do the simple thing for now. + let mut css_wide_keyword = false; + match_ignore_ascii_case! { first_ident, + "serif" => return Ok(FontFamily::Generic(atom!("serif"))), + "sans-serif" => return Ok(FontFamily::Generic(atom!("sans-serif"))), + "cursive" => return Ok(FontFamily::Generic(atom!("cursive"))), + "fantasy" => return Ok(FontFamily::Generic(atom!("fantasy"))), + "monospace" => return Ok(FontFamily::Generic(atom!("monospace"))), + + // https://drafts.csswg.org/css-fonts/#propdef-font-family + // "Font family names that happen to be the same as a keyword value + // (`inherit`, `serif`, `sans-serif`, `monospace`, `fantasy`, and `cursive`) + // must be quoted to prevent confusion with the keywords with the same names. + // The keywords ‘initial’ and ‘default’ are reserved for future use + // and must also be quoted when used as font names. + // UAs must not consider these keywords as matching the <family-name> type." + "inherit" => css_wide_keyword = true, + "initial" => css_wide_keyword = true, + "unset" => css_wide_keyword = true, + "default" => css_wide_keyword = true, + _ => {} + } + + let mut value = first_ident.into_owned(); + // These keywords are not allowed by themselves. + // The only way this value can be valid with with another keyword. + if css_wide_keyword { + let ident = input.expect_ident()?; + value.push_str(" "); + value.push_str(&ident); + } + while let Ok(ident) = input.try(|input| input.expect_ident()) { + value.push_str(" "); + value.push_str(&ident); + } + Ok(FontFamily::FamilyName(FamilyName(Atom::from(value)))) + } } impl ToCss for FamilyName { @@ -119,75 +166,27 @@ /// <family-name># /// <family-name> = <string> | [ <ident>+ ] /// TODO: <generic-family> - pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { - Vec::<FontFamily>::parse(context, input).map(SpecifiedValue) + pub fn parse(_: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { + SpecifiedValue::parse(input) } - impl Parse for Vec<FontFamily> { - fn parse(context: &ParserContext, input: &mut Parser) -> Result<Self, ()> { - input.parse_comma_separated(|input| FontFamily::parse(context, input)) + impl SpecifiedValue { + pub fn parse(input: &mut Parser) -> Result<Self, ()> { + input.parse_comma_separated(|input| FontFamily::parse(input)).map(SpecifiedValue) } } /// `FamilyName::parse` is based on `FontFamily::parse` and not the other way around /// because we want the former to exclude generic family keywords. impl Parse for FamilyName { - fn parse(context: &ParserContext, input: &mut Parser) -> Result<Self, ()> { - match FontFamily::parse(context, input) { + fn parse(_: &ParserContext, input: &mut Parser) -> Result<Self, ()> { + match FontFamily::parse(input) { Ok(FontFamily::FamilyName(name)) => Ok(name), Ok(FontFamily::Generic(_)) | Err(()) => Err(()) } } } - - impl Parse for FontFamily { - fn parse(_context: &ParserContext, input: &mut Parser) -> Result<Self, ()> { - if let Ok(value) = input.try(|input| input.expect_string()) { - return Ok(FontFamily::FamilyName(FamilyName(Atom::from(&*value)))) - } - let first_ident = try!(input.expect_ident()); - - // FIXME(bholley): The fast thing to do here would be to look up the - // string (as lowercase) in the static atoms table. We don't have an - // API to do that yet though, so we do the simple thing for now. - let mut css_wide_keyword = false; - match_ignore_ascii_case! { first_ident, - "serif" => return Ok(FontFamily::Generic(atom!("serif"))), - "sans-serif" => return Ok(FontFamily::Generic(atom!("sans-serif"))), - "cursive" => return Ok(FontFamily::Generic(atom!("cursive"))), - "fantasy" => return Ok(FontFamily::Generic(atom!("fantasy"))), - "monospace" => return Ok(FontFamily::Generic(atom!("monospace"))), - - // https://drafts.csswg.org/css-fonts/#propdef-font-family - // "Font family names that happen to be the same as a keyword value - // (‘inherit’, ‘serif’, ‘sans-serif’, ‘monospace’, ‘fantasy’, and ‘cursive’) - // must be quoted to prevent confusion with the keywords with the same names. - // The keywords ‘initial’ and ‘default’ are reserved for future use - // and must also be quoted when used as font names. - // UAs must not consider these keywords as matching the <family-name> type." - "inherit" => css_wide_keyword = true, - "initial" => css_wide_keyword = true, - "unset" => css_wide_keyword = true, - "default" => css_wide_keyword = true, - _ => {} - } - - let mut value = first_ident.into_owned(); - // These keywords are not allowed by themselves. - // The only way this value can be valid with with another keyword. - if css_wide_keyword { - let ident = input.expect_ident()?; - value.push_str(" "); - value.push_str(&ident); - } - while let Ok(ident) = input.try(|input| input.expect_ident()) { - value.push_str(" "); - value.push_str(&ident); - } - Ok(FontFamily::FamilyName(FamilyName(Atom::from(value)))) - } - } </%helpers:longhand> @@ -762,3 +761,40 @@ ${helpers.single_keyword("font-variant-position", } } </%helpers:longhand> + +<%helpers:longhand name="-x-lang" products="gecko" animatable="False" internal="True" + spec="Internal (not web-exposed)" + internal="True"> + use values::HasViewportPercentage; + use values::computed::ComputedValueAsSpecified; + pub use self::computed_value::T as SpecifiedValue; + + impl ComputedValueAsSpecified for SpecifiedValue {} + no_viewport_percentage!(SpecifiedValue); + + pub mod computed_value { + use Atom; + use std::fmt; + use style_traits::ToCss; + + impl ToCss for T { + fn to_css<W>(&self, _: &mut W) -> fmt::Result where W: fmt::Write { + Ok(()) + } + } + + #[derive(Clone, Debug, PartialEq)] + #[cfg_attr(feature = "servo", derive(HeapSizeOf))] + pub struct T(pub Atom); + } + + #[inline] + pub fn get_initial_value() -> computed_value::T { + computed_value::T(atom!("")) + } + + pub fn parse(_context: &ParserContext, _input: &mut Parser) -> Result<SpecifiedValue, ()> { + debug_assert!(false, "Should be set directly by presentation attributes only."); + Err(()) + } +</%helpers:longhand> diff --git a/components/style/properties/longhand/inherited_svg.mako.rs b/components/style/properties/longhand/inherited_svg.mako.rs index 56987f0ba75..ffba35e83f3 100644 --- a/components/style/properties/longhand/inherited_svg.mako.rs +++ b/components/style/properties/longhand/inherited_svg.mako.rs @@ -33,6 +33,14 @@ ${helpers.single_keyword("color-interpolation-filters", "auto sRGB linearRGB", animatable=False, spec="https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationFiltersProperty")} +${helpers.predefined_type( + "fill", "SVGPaint", + "::values::computed::SVGPaint::black()", + products="gecko", + animatable=False, + boxed=True, + spec="https://www.w3.org/TR/SVG2/painting.html#SpecifyingFillPaint")} + ${helpers.predefined_type("fill-opacity", "Opacity", "1.0", products="gecko", animatable=False, spec="https://www.w3.org/TR/SVG11/painting.html#FillOpacityProperty")} @@ -49,6 +57,23 @@ ${helpers.single_keyword("shape-rendering", animatable=False, spec="https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty")} +${helpers.predefined_type( + "stroke", "SVGPaint", + "Default::default()", + products="gecko", + animatable=False, + boxed=True, + spec="https://www.w3.org/TR/SVG2/painting.html#SpecifyingStrokePaint")} + +${helpers.predefined_type( + "stroke-width", "LengthOrPercentage", + "computed::LengthOrPercentage::one()", + "parse_numbers_are_pixels_non_negative", + products="gecko", + animatable=True, + needs_context=False, + spec="https://www.w3.org/TR/SVG2/painting.html#StrokeWidth")} + ${helpers.single_keyword("stroke-linecap", "butt round square", products="gecko", animatable=False, spec="https://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty")} @@ -67,6 +92,23 @@ ${helpers.predefined_type("stroke-opacity", "Opacity", "1.0", products="gecko", animatable=False, spec="https://www.w3.org/TR/SVG11/painting.html#StrokeOpacityProperty")} +${helpers.predefined_type("stroke-dasharray", "LoPOrNumber", "Either::Second(0.0)", + "parse_non_negative", + vector="True", + products="gecko", + animatable="False", + space_separated_allowed="True", + spec="https://www.w3.org/TR/SVG2/painting.html#StrokeDashing")} + +${helpers.predefined_type( + "stroke-dashoffset", "LengthOrPercentage", + "computed::LengthOrPercentage::zero()", + "parse_numbers_are_pixels", + products="gecko", + animatable=True, + needs_context=False, + spec="https://www.w3.org/TR/SVG2/painting.html#StrokeDashing")} + // Section 14 - Clipping, Masking and Compositing ${helpers.single_keyword("clip-rule", "nonzero evenodd", products="gecko", @@ -74,3 +116,153 @@ ${helpers.single_keyword("clip-rule", "nonzero evenodd", gecko_inexhaustive=True, animatable=False, spec="https://www.w3.org/TR/SVG11/masking.html#ClipRuleProperty")} + +${helpers.predefined_type("marker-start", "UrlOrNone", "Either::Second(None_)", + products="gecko", + animatable="False", + spec="https://www.w3.org/TR/SVG2/painting.html#VertexMarkerProperties")} + +${helpers.predefined_type("marker-mid", "UrlOrNone", "Either::Second(None_)", + products="gecko", + animatable="False", + spec="https://www.w3.org/TR/SVG2/painting.html#VertexMarkerProperties")} + +${helpers.predefined_type("marker-end", "UrlOrNone", "Either::Second(None_)", + products="gecko", + animatable="False", + spec="https://www.w3.org/TR/SVG2/painting.html#VertexMarkerProperties")} + +<%helpers:longhand name="paint-order" + animatable="False" + products="gecko" + spec="https://www.w3.org/TR/SVG2/painting.html#PaintOrder"> + + use values::computed::ComputedValueAsSpecified; + use std::fmt; + use style_traits::ToCss; + use values::HasViewportPercentage; + + pub const NORMAL: u8 = 0; + pub const FILL: u8 = 1; + pub const STROKE: u8 = 2; + pub const MARKERS: u8 = 3; + + // number of bits for each component + pub const SHIFT: u8 = 2; + // mask with above bits set + pub const MASK: u8 = 0b11; + // number of non-normal keyword values + pub const COUNT: u8 = 3; + // all keywords + pub const ALL: [u8; 3] = [FILL, STROKE, MARKERS]; + + /// Represented as a six-bit field, of 3 two-bit pairs + /// + /// Each pair can be set to FILL, STROKE, or MARKERS + /// Lowest significant bit pairs are highest priority. + /// `normal` is the empty bitfield. The three pairs are + /// never zero in any case other than `normal`. + /// + /// Higher priority values, i.e. the values specified first, + /// will be painted first (and may be covered by paintings of lower priority) + #[derive(PartialEq, Clone, Copy, Debug)] + #[cfg_attr(feature = "servo", derive(HeapSizeOf))] + pub struct SpecifiedValue(pub u8); + + pub mod computed_value { + pub use super::SpecifiedValue as T; + } + + pub fn get_initial_value() -> SpecifiedValue { + SpecifiedValue(NORMAL) + } + + impl SpecifiedValue { + pub fn bits_at(&self, pos: u8) -> u8 { + (self.0 >> pos * SHIFT) & MASK + } + } + + pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> { + if let Ok(()) = input.try(|i| i.expect_ident_matching("normal")) { + Ok(SpecifiedValue(0)) + } else { + let mut value = 0; + // bitfield representing what we've seen so far + // bit 1 is fill, bit 2 is stroke, bit 3 is markers + let mut seen = 0; + let mut pos = 0; + + loop { + + let result = input.try(|i| { + match_ignore_ascii_case! { i.expect_ident()?, + "fill" => Ok(FILL), + "stroke" => Ok(STROKE), + "markers" => Ok(MARKERS), + _ => Err(()) + } + }); + + match result { + Ok(val) => { + if (seen & (1 << val)) != 0 { + // don't parse the same ident twice + return Err(()) + } else { + value |= val << (pos * SHIFT); + seen |= 1 << val; + pos += 1; + } + } + Err(()) => break, + } + } + + if value == 0 { + // couldn't find any keyword + Err(()) + } else { + // fill in rest + for i in pos..COUNT { + for paint in &ALL { + // if not seen, set bit at position, mark as seen + if (seen & (1 << paint)) == 0 { + seen |= 1 << paint; + value |= paint << (i * SHIFT); + break; + } + } + } + + Ok(SpecifiedValue(value)) + } + } + } + + impl ToCss for SpecifiedValue { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + if self.0 == 0 { + return dest.write_str("normal") + } + + for pos in 0..COUNT { + if pos != 0 { + dest.write_str(" ")? + } + match self.bits_at(pos) { + FILL => dest.write_str("fill")?, + STROKE => dest.write_str("stroke")?, + MARKERS => dest.write_str("markers")?, + _ => unreachable!(), + } + } + Ok(()) + } + } + + no_viewport_percentage!(SpecifiedValue); + + impl ComputedValueAsSpecified for SpecifiedValue { } +</%helpers:longhand> + diff --git a/components/style/properties/longhand/inherited_table.mako.rs b/components/style/properties/longhand/inherited_table.mako.rs index 21930ed0114..1a6daa55417 100644 --- a/components/style/properties/longhand/inherited_table.mako.rs +++ b/components/style/properties/longhand/inherited_table.mako.rs @@ -16,6 +16,7 @@ ${helpers.single_keyword("empty-cells", "show hide", spec="https://drafts.csswg.org/css-tables/#propdef-empty-cells")} ${helpers.single_keyword("caption-side", "top bottom", extra_gecko_values="right left top-outside bottom-outside", + needs_conversion="True", animatable=False, spec="https://drafts.csswg.org/css-tables/#propdef-caption-side")} diff --git a/components/style/properties/longhand/inherited_text.mako.rs b/components/style/properties/longhand/inherited_text.mako.rs index 3d5430aee3e..60ca0ee5194 100644 --- a/components/style/properties/longhand/inherited_text.mako.rs +++ b/components/style/properties/longhand/inherited_text.mako.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ <%namespace name="helpers" file="/helpers.mako.rs" /> - +<% from data import Keyword %> <% data.new_style_struct("InheritedText", inherited=True, gecko_name="Text") %> <%helpers:longhand name="line-height" animatable="True" @@ -251,6 +251,7 @@ ${helpers.single_keyword("text-align-last", _moz_left("-moz-left") => 7, _moz_right("-moz-right") => 8, match_parent("match-parent") => 9, + char("char") => 10, % endif } } @@ -260,6 +261,10 @@ ${helpers.single_keyword("text-align-last", pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { computed_value::T::parse(input) } + ${helpers.gecko_keyword_conversion(Keyword('text-align', + """left right center justify -moz-left -moz-right + -moz-center char end match-parent""", + gecko_strip_moz_prefix=False))} </%helpers:longhand> // FIXME: This prop should be animatable. @@ -515,6 +520,7 @@ ${helpers.single_keyword("text-align-last", <%helpers:single_keyword_computed name="white-space" values="normal pre nowrap pre-wrap pre-line" gecko_constant_prefix="NS_STYLE_WHITESPACE" + needs_conversion="True" animatable="False" spec="https://drafts.csswg.org/css-text/#propdef-white-space"> use values::computed::ComputedValueAsSpecified; diff --git a/components/style/properties/longhand/list.mako.rs b/components/style/properties/longhand/list.mako.rs index a5a1c30861a..5f1bf103d7f 100644 --- a/components/style/properties/longhand/list.mako.rs +++ b/components/style/properties/longhand/list.mako.rs @@ -16,15 +16,24 @@ ${helpers.single_keyword("list-style-position", "outside inside", animatable=Fal // // TODO(bholley): Missing quite a few gecko properties here as well. // +// In gecko, {upper,lower}-{roman,alpha} are implemented as @counter-styles in the +// UA, however they can also be set from pres attrs. When @counter-style is supported +// we may need to look into this and handle these differently. +// // [1]: http://dev.w3.org/csswg/css-counter-styles/ ${helpers.single_keyword("list-style-type", """ - disc none circle square decimal disclosure-open disclosure-closed + disc none circle square decimal disclosure-open disclosure-closed lower-alpha upper-alpha """, extra_servo_values="""arabic-indic bengali cambodian cjk-decimal devanagari gujarati gurmukhi kannada khmer lao malayalam mongolian myanmar oriya persian telugu thai tibetan cjk-earthly-branch cjk-heavenly-stem lower-greek hiragana hiragana-iroha katakana - katakana-iroha lower-alpha upper-alpha""", + katakana-iroha""", + extra_gecko_values="""japanese-informal japanese-formal korean-hangul-formal + korean-hanja-formal korean-hanja-informal simp-chinese-informal simp-chinese-formal + trad-chinese-informal trad-chinese-formal ethiopic-numeric upper-roman lower-roman + """, gecko_constant_prefix="NS_STYLE_LIST_STYLE", + needs_conversion="True", animatable=False, spec="https://drafts.csswg.org/css-lists/#propdef-list-style-type")} diff --git a/components/style/properties/longhand/pointing.mako.rs b/components/style/properties/longhand/pointing.mako.rs index a6219a32d1f..b661ec457eb 100644 --- a/components/style/properties/longhand/pointing.mako.rs +++ b/components/style/properties/longhand/pointing.mako.rs @@ -159,7 +159,7 @@ ${helpers.single_keyword("-moz-user-input", "auto none enabled disabled", ${helpers.single_keyword("-moz-user-modify", "read-only read-write write-only", products="gecko", gecko_ffi_name="mUserModify", gecko_enum_prefix="StyleUserModify", - gecko_inexhaustive=True, + needs_conversion=True, animatable=False, spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-user-modify)")} diff --git a/components/style/properties/longhand/position.mako.rs b/components/style/properties/longhand/position.mako.rs index 59edcd92672..ef52ce99d36 100644 --- a/components/style/properties/longhand/position.mako.rs +++ b/components/style/properties/longhand/position.mako.rs @@ -88,40 +88,50 @@ ${helpers.single_keyword("flex-wrap", "nowrap wrap wrap-reverse", // FIXME: Update Servo to support the same Syntax as Gecko. ${helpers.single_keyword("justify-content", "stretch flex-start flex-end center space-between space-around", extra_prefixes="webkit", - spec="https://drafts.csswg.org/css-flexbox/#justify-content-property", + spec="https://drafts.csswg.org/css-align/#propdef-justify-content", animatable=False)} % else: ${helpers.predefined_type(name="justify-content", type="AlignJustifyContent", - initial_value="specified::AlignJustifyContent::auto()", - spec="https://drafts.csswg.org/css-flexbox/#justify-content-property", + initial_value="specified::AlignJustifyContent::normal()", + spec="https://drafts.csswg.org/css-align/#propdef-justify-content", extra_prefixes="webkit", animatable=False)} % endif -// https://drafts.csswg.org/css-flexbox/#propdef-align-items -// FIXME: This is a workaround for 'normal' value. We don't support the Gecko initial value 'normal' yet. -${helpers.single_keyword("align-items", "stretch flex-start flex-end center baseline" if product == "servo" - else "normal stretch flex-start flex-end center baseline", - need_clone=True, - extra_prefixes="webkit", - gecko_constant_prefix="NS_STYLE_ALIGN", - spec="https://drafts.csswg.org/css-flexbox/#align-items-property", - animatable=False)} - % if product == "servo": // FIXME: Update Servo to support the same Syntax as Gecko. ${helpers.single_keyword("align-content", "stretch flex-start flex-end center space-between space-around", extra_prefixes="webkit", - spec="https://drafts.csswg.org/css-flexbox/#align-content-property", + spec="https://drafts.csswg.org/css-align/#propdef-align-content", + animatable=False)} + + ${helpers.single_keyword("align-items", + "stretch flex-start flex-end center baseline", + need_clone=True, + extra_prefixes="webkit", + spec="https://drafts.csswg.org/css-flexbox/#align-items-property", animatable=False)} % else: ${helpers.predefined_type(name="align-content", type="AlignJustifyContent", - initial_value="specified::AlignJustifyContent::auto()", - spec="https://drafts.csswg.org/css-flexbox/#align-content-property", + initial_value="specified::AlignJustifyContent::normal()", + spec="https://drafts.csswg.org/css-align/#propdef-align-content", extra_prefixes="webkit", animatable=False)} + + ${helpers.predefined_type(name="align-items", + type="AlignItems", + initial_value="specified::AlignItems::normal()", + spec="https://drafts.csswg.org/css-align/#propdef-align-items", + extra_prefixes="webkit", + animatable=False)} + + ${helpers.predefined_type(name="justify-items", + type="JustifyItems", + initial_value="specified::JustifyItems::auto()", + spec="https://drafts.csswg.org/css-align/#propdef-justify-items", + animatable=False)} % endif // Flex item properties @@ -140,14 +150,27 @@ ${helpers.predefined_type("flex-shrink", "Number", animatable=True)} // https://drafts.csswg.org/css-align/#align-self-property -// FIXME: We don't support the Gecko value 'normal' yet. -${helpers.single_keyword("align-self", "auto stretch flex-start flex-end center baseline", - need_clone=True, - extra_prefixes="webkit", - extra_gecko_values="normal", - gecko_constant_prefix="NS_STYLE_ALIGN", - spec="https://drafts.csswg.org/css-flexbox/#propdef-align-self", - animatable=False)} +% if product == "servo": + // FIXME: Update Servo to support the same syntax as Gecko. + ${helpers.single_keyword("align-self", "auto stretch flex-start flex-end center baseline", + need_clone=True, + extra_prefixes="webkit", + spec="https://drafts.csswg.org/css-flexbox/#propdef-align-self", + animatable=False)} +% else: + ${helpers.predefined_type(name="align-self", + type="AlignJustifySelf", + initial_value="specified::AlignJustifySelf::auto()", + spec="https://drafts.csswg.org/css-align/#align-self-property", + extra_prefixes="webkit", + animatable=False)} + + ${helpers.predefined_type(name="justify-self", + type="AlignJustifySelf", + initial_value="specified::AlignJustifySelf::auto()", + spec="https://drafts.csswg.org/css-align/#justify-self-property", + animatable=False)} +% endif // https://drafts.csswg.org/css-flexbox/#propdef-order <%helpers:longhand name="order" animatable="True" extra_prefixes="webkit" diff --git a/components/style/properties/longhand/table.mako.rs b/components/style/properties/longhand/table.mako.rs index 36e2216ef62..c145dde146c 100644 --- a/components/style/properties/longhand/table.mako.rs +++ b/components/style/properties/longhand/table.mako.rs @@ -9,3 +9,39 @@ ${helpers.single_keyword("table-layout", "auto fixed", gecko_ffi_name="mLayoutStrategy", animatable=False, spec="https://drafts.csswg.org/css-tables/#propdef-table-layout")} + +<%helpers:longhand name="-x-span" products="gecko" + spec="Internal-only (for `<col span>` pres attr)" + animatable="False" + internal="True"> + use values::HasViewportPercentage; + use values::computed::ComputedValueAsSpecified; + + impl ComputedValueAsSpecified for SpecifiedValue {} + no_viewport_percentage!(SpecifiedValue); + pub type SpecifiedValue = computed_value::T; + pub mod computed_value { + use std::fmt; + use style_traits::ToCss; + + #[derive(PartialEq, Clone, Copy, Debug)] + #[cfg_attr(feature = "servo", derive(HeapSizeOf))] + pub struct T(pub i32); + + impl ToCss for T { + fn to_css<W>(&self, _: &mut W) -> fmt::Result where W: fmt::Write { + Ok(()) + } + } + } + + #[inline] + pub fn get_initial_value() -> computed_value::T { + computed_value::T(1) + } + + // never parse it, only set via presentation attribute + fn parse(_: &ParserContext, _: &mut Parser) -> Result<SpecifiedValue, ()> { + Err(()) + } +</%helpers:longhand> diff --git a/components/style/properties/longhand/text.mako.rs b/components/style/properties/longhand/text.mako.rs index 56c57760518..cfd4b26fa3c 100644 --- a/components/style/properties/longhand/text.mako.rs +++ b/components/style/properties/longhand/text.mako.rs @@ -114,13 +114,25 @@ ${helpers.single_keyword("unicode-bidi", impl ComputedValueAsSpecified for SpecifiedValue {} no_viewport_percentage!(SpecifiedValue); - #[derive(PartialEq, Eq, Copy, Clone, Debug)] - #[cfg_attr(feature = "servo", derive(HeapSizeOf))] - pub struct SpecifiedValue { - pub underline: bool, - pub overline: bool, - pub line_through: bool, - pub blink: bool, + bitflags! { + #[cfg_attr(feature = "servo", derive(HeapSizeOf))] + pub flags SpecifiedValue: u8 { + const NONE = 0, + const OVERLINE = 0x01, + const UNDERLINE = 0x02, + const LINE_THROUGH = 0x04, + const BLINK = 0x08, + % if product == "gecko": + /// Only set by presentation attributes + /// + /// Setting this will mean that text-decorations use the color + /// specified by `color` in quirks mode. + /// + /// For example, this gives <a href=foo><font color="red">text</font></a> + /// a red text decoration + const COLOR_OVERRIDE = 0x10, + % endif + } } impl ToCss for SpecifiedValue { @@ -128,7 +140,7 @@ ${helpers.single_keyword("unicode-bidi", let mut has_any = false; macro_rules! write_value { ($line:ident => $css:expr) => { - if self.$line { + if self.contains($line) { if has_any { dest.write_str(" ")?; } @@ -137,10 +149,10 @@ ${helpers.single_keyword("unicode-bidi", } } } - write_value!(underline => "underline"); - write_value!(overline => "overline"); - write_value!(line_through => "line-through"); - write_value!(blink => "blink"); + write_value!(UNDERLINE => "underline"); + write_value!(OVERLINE => "overline"); + write_value!(LINE_THROUGH => "line-through"); + write_value!(BLINK => "blink"); if !has_any { dest.write_str("none")?; } @@ -151,7 +163,7 @@ ${helpers.single_keyword("unicode-bidi", pub type T = super::SpecifiedValue; #[allow(non_upper_case_globals)] pub const none: T = super::SpecifiedValue { - underline: false, overline: false, line_through: false, blink: false + bits: 0 }; } #[inline] pub fn get_initial_value() -> computed_value::T { @@ -159,9 +171,7 @@ ${helpers.single_keyword("unicode-bidi", } /// none | [ underline || overline || line-through || blink ] pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { - let mut result = SpecifiedValue { - underline: false, overline: false, line_through: false, blink: false - }; + let mut result = SpecifiedValue::empty(); if input.try(|input| input.expect_ident_matching("none")).is_ok() { return Ok(result) } @@ -170,14 +180,14 @@ ${helpers.single_keyword("unicode-bidi", while input.try(|input| { if let Ok(ident) = input.expect_ident() { match_ignore_ascii_case! { ident, - "underline" => if result.underline { return Err(()) } - else { empty = false; result.underline = true }, - "overline" => if result.overline { return Err(()) } - else { empty = false; result.overline = true }, - "line-through" => if result.line_through { return Err(()) } - else { empty = false; result.line_through = true }, - "blink" => if result.blink { return Err(()) } - else { empty = false; result.blink = true }, + "underline" => if result.contains(UNDERLINE) { return Err(()) } + else { empty = false; result.insert(UNDERLINE) }, + "overline" => if result.contains(OVERLINE) { return Err(()) } + else { empty = false; result.insert(OVERLINE) }, + "line-through" => if result.contains(LINE_THROUGH) { return Err(()) } + else { empty = false; result.insert(LINE_THROUGH) }, + "blink" => if result.contains(BLINK) { return Err(()) } + else { empty = false; result.insert(BLINK) }, _ => return Err(()) } } else { diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index 02cbcbf1150..be76f0cf1a3 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -166,6 +166,7 @@ pub mod shorthands { <%include file="/shorthand/outline.mako.rs" /> <%include file="/shorthand/padding.mako.rs" /> <%include file="/shorthand/position.mako.rs" /> + <%include file="/shorthand/inherited_svg.mako.rs" /> <%include file="/shorthand/text.mako.rs" /> } @@ -1288,19 +1289,19 @@ pub mod style_structs { /// Whether the text decoration has an underline. #[inline] pub fn has_underline(&self) -> bool { - self.${text_decoration_field}.underline + self.${text_decoration_field}.contains(longhands::${text_decoration_field}::UNDERLINE) } /// Whether the text decoration has an overline. #[inline] pub fn has_overline(&self) -> bool { - self.${text_decoration_field}.overline + self.${text_decoration_field}.contains(longhands::${text_decoration_field}::OVERLINE) } /// Whether the text decoration has a line through. #[inline] pub fn has_line_through(&self) -> bool { - self.${text_decoration_field}.line_through + self.${text_decoration_field}.contains(longhands::${text_decoration_field}::LINE_THROUGH) } % endif } diff --git a/components/style/properties/shorthand/border.mako.rs b/components/style/properties/shorthand/border.mako.rs index 1c95cdea09c..3aefd6a8bc5 100644 --- a/components/style/properties/shorthand/border.mako.rs +++ b/components/style/properties/shorthand/border.mako.rs @@ -84,10 +84,14 @@ pub fn parse_border(context: &ParserContext, input: &mut Parser) if logical: spec = "https://drafts.csswg.org/css-logical-props/#propdef-border-%s" % side %> - <%helpers:shorthand name="border-${side}" sub_properties="${' '.join( - 'border-%s-%s' % (side, prop) - for prop in ['color', 'style', 'width'] - )}" alias=maybe_moz_logical_alias(product, side, "-moz-border-%s") spec="${spec}"> + <%helpers:shorthand + name="border-${side}" + sub_properties="${' '.join( + 'border-%s-%s' % (side, prop) + for prop in ['color', 'style', 'width'] + )}" + alias="${maybe_moz_logical_alias(product, (side, logical), '-moz-border-%s')}" + spec="${spec}"> pub fn parse_value(context: &ParserContext, input: &mut Parser) -> Result<Longhands, ()> { let (color, style, width) = try!(super::parse_border(context, input)); diff --git a/components/style/properties/shorthand/font.mako.rs b/components/style/properties/shorthand/font.mako.rs index 1bcf2c10616..2a89e461ad0 100644 --- a/components/style/properties/shorthand/font.mako.rs +++ b/components/style/properties/shorthand/font.mako.rs @@ -12,10 +12,9 @@ ${'font-variant-position' if product == 'gecko' else ''} ${'font-language-override' if product == 'none' else ''}" spec="https://drafts.csswg.org/css-fonts-3/#propdef-font"> - use parser::Parse; use properties::longhands::{font_style, font_variant, font_weight, font_stretch}; - use properties::longhands::{font_size, line_height, font_family}; - use properties::longhands::font_family::computed_value::FontFamily; + use properties::longhands::{font_size, line_height}; + use properties::longhands::font_family::SpecifiedValue as FontFamily; pub fn parse_value(context: &ParserContext, input: &mut Parser) -> Result<Longhands, ()> { let mut nb_normals = 0; @@ -71,7 +70,7 @@ } else { None }; - let family = Vec::<FontFamily>::parse(context, input)?; + let family = FontFamily::parse(input)?; Ok(Longhands { font_style: style, font_variant: variant, @@ -79,7 +78,7 @@ font_stretch: stretch, font_size: size, line_height: line_height, - font_family: Some(font_family::SpecifiedValue(family)), + font_family: Some(family), % if product == "gecko": font_size_adjust: None, font_kerning: None, diff --git a/components/style/properties/shorthand/inherited_svg.mako.rs b/components/style/properties/shorthand/inherited_svg.mako.rs new file mode 100644 index 00000000000..81be3b777a4 --- /dev/null +++ b/components/style/properties/shorthand/inherited_svg.mako.rs @@ -0,0 +1,37 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +<%namespace name="helpers" file="/helpers.mako.rs" /> + +<%helpers:shorthand name="marker" products="gecko" + sub_properties="marker-start marker-end marker-mid" + spec="https://www.w3.org/TR/SVG2/painting.html#MarkerShorthand"> + use values::specified::UrlOrNone; + + pub fn parse_value(context: &ParserContext, input: &mut Parser) -> Result<Longhands, ()> { + use parser::Parse; + let url = UrlOrNone::parse(context, input)?; + + Ok(Longhands { + marker_start: Some(url.clone()), + marker_mid: Some(url.clone()), + marker_end: Some(url), + }) + } + + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + if let DeclaredValue::Value(ref start) = *self.marker_start { + if let DeclaredValue::Value(ref mid) = *self.marker_mid { + if let DeclaredValue::Value(ref end) = *self.marker_end { + if start == mid && mid == end { + start.to_css(dest)?; + } + } + } + } + Ok(()) + } + } +</%helpers:shorthand> diff --git a/components/style/servo/restyle_damage.rs b/components/style/servo/restyle_damage.rs index f389da58b1a..68da9238afd 100644 --- a/components/style/servo/restyle_damage.rs +++ b/components/style/servo/restyle_damage.rs @@ -67,11 +67,19 @@ impl ServoRestyleDamage { /// Returns a bitmask that represents a flow that needs to be rebuilt and /// reflowed. + /// + /// FIXME(bholley): Do we ever actually need this? Shouldn't RECONSTRUCT_FLOW + /// imply everything else? pub fn rebuild_and_reflow() -> ServoRestyleDamage { REPAINT | REPOSITION | STORE_OVERFLOW | BUBBLE_ISIZES | REFLOW_OUT_OF_FLOW | REFLOW | RECONSTRUCT_FLOW } + /// Returns a bitmask indicating that the frame needs to be reconstructed. + pub fn reconstruct() -> ServoRestyleDamage { + RECONSTRUCT_FLOW + } + /// Supposing a flow has the given `position` property and this damage, /// returns the damage that we should add to the *parent* of this flow. pub fn damage_for_parent(self, child_is_absolutely_positioned: bool) -> ServoRestyleDamage { @@ -112,6 +120,17 @@ impl ServoRestyleDamage { } } } + + /// Servo doesn't implement this optimization. + pub fn handled_for_descendants(self) -> Self { + Self::empty() + } +} + +impl Default for ServoRestyleDamage { + fn default() -> Self { + Self::empty() + } } impl fmt::Display for ServoRestyleDamage { diff --git a/components/style/traversal.rs b/components/style/traversal.rs index f49a2042ec7..a5984e21a8d 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -455,7 +455,10 @@ pub fn recalc_style_at<E, D>(traversal: &D, // Preprocess children, propagating restyle hints and handling sibling relationships. if traversal.should_traverse_children(&mut context.thread_local, element, &data, DontLog) && (element.has_dirty_descendants() || !propagated_hint.is_empty() || inherited_style_changed) { - preprocess_children(traversal, element, propagated_hint, inherited_style_changed); + let damage_handled = data.get_restyle().map_or(RestyleDamage::empty(), |r| { + r.damage_handled() | r.damage.handled_for_descendants() + }); + preprocess_children(traversal, element, propagated_hint, damage_handled, inherited_style_changed); } // Make sure the dirty descendants bit is not set for the root of a @@ -557,6 +560,7 @@ fn compute_style<E, D>(_traversal: &D, fn preprocess_children<E, D>(traversal: &D, element: E, mut propagated_hint: StoredRestyleHint, + damage_handled: RestyleDamage, parent_inherited_style_changed: bool) where E: TElement, D: DomTraversal<E> @@ -580,8 +584,7 @@ fn preprocess_children<E, D>(traversal: &D, // any reason to create one, avoid the useless allocation and move on to // the next child. if propagated_hint.is_empty() && !parent_inherited_style_changed && - !child_data.has_restyle() - { + damage_handled.is_empty() && !child_data.has_restyle() { continue; } let mut restyle_data = child_data.ensure_restyle(); @@ -598,6 +601,9 @@ fn preprocess_children<E, D>(traversal: &D, propagated_hint.insert(&(RESTYLE_SELF | RESTYLE_DESCENDANTS).into()); } + // Store the damage already handled by ancestors. + restyle_data.set_damage_handled(damage_handled); + // If properties that we inherited from the parent changed, we need to recascade. // // FIXME(bholley): Need to handle explicitly-inherited reset properties somewhere. diff --git a/components/style/values/computed/length.rs b/components/style/values/computed/length.rs index 74c9fd6287f..492bbfb4bc0 100644 --- a/components/style/values/computed/length.rs +++ b/components/style/values/computed/length.rs @@ -4,7 +4,7 @@ //! `<length>` computed values, and related ones. -use app_units::Au; +use app_units::{Au, AU_PER_PX}; use ordered_float::NotNaN; use std::fmt; use style_traits::ToCss; @@ -195,6 +195,12 @@ impl LengthOrPercentage { LengthOrPercentage::Length(Au(0)) } + #[inline] + /// 1px length value for SVG defaults + pub fn one() -> LengthOrPercentage { + LengthOrPercentage::Length(Au(AU_PER_PX)) + } + /// Returns true if the computed value is absolute 0 or 0%. /// /// (Returns false for calc() values, even if ones that may resolve to zero.) diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs index b648e50c3c5..ab479428f69 100644 --- a/components/style/values/computed/mod.rs +++ b/components/style/values/computed/mod.rs @@ -10,16 +10,16 @@ use font_metrics::FontMetricsProvider; use properties::ComputedValues; use std::fmt; use style_traits::ToCss; -use super::{CSSFloat, specified}; +use super::{CSSFloat, RGBA, specified}; pub use cssparser::Color as CSSColor; pub use self::image::{AngleOrCorner, EndingShape as GradientShape, Gradient, GradientKind, Image}; pub use self::image::{LengthOrKeyword, LengthOrPercentageOrKeyword}; pub use super::{Auto, Either, None_}; #[cfg(feature = "gecko")] -pub use super::specified::AlignJustifyContent; +pub use super::specified::{AlignItems, AlignJustifyContent, AlignJustifySelf, JustifyItems}; pub use super::specified::{Angle, BorderStyle, GridLine, Time, UrlOrNone}; -pub use super::specified::url::UrlExtraData; +pub use super::specified::url::{SpecifiedUrl, UrlExtraData}; pub use self::length::{CalcLengthOrPercentage, Length, LengthOrNumber, LengthOrPercentage, LengthOrPercentageOrAuto}; pub use self::length::{LengthOrPercentageOrAutoOrContent, LengthOrPercentageOrNone, LengthOrNone}; pub use self::position::Position; @@ -123,7 +123,35 @@ impl ToComputedValue for specified::CSSColor { } #[cfg(feature = "gecko")] +impl ToComputedValue for specified::JustifyItems { + type ComputedValue = JustifyItems; + + // https://drafts.csswg.org/css-align/#valdef-justify-items-auto + fn to_computed_value(&self, context: &Context) -> JustifyItems { + use values::specified::align; + // If the inherited value of `justify-items` includes the `legacy` keyword, `auto` computes + // to the inherited value. + if self.0 == align::ALIGN_AUTO { + let inherited = context.inherited_style.get_position().clone_justify_items(); + if inherited.0.contains(align::ALIGN_LEGACY) { + return inherited + } + } + return *self + } + + #[inline] + fn from_computed_value(computed: &JustifyItems) -> Self { + *computed + } +} + +#[cfg(feature = "gecko")] +impl ComputedValueAsSpecified for specified::AlignItems {} +#[cfg(feature = "gecko")] impl ComputedValueAsSpecified for specified::AlignJustifyContent {} +#[cfg(feature = "gecko")] +impl ComputedValueAsSpecified for specified::AlignJustifySelf {} impl ComputedValueAsSpecified for specified::BorderStyle {} #[derive(Debug, PartialEq, Clone, Copy)] @@ -183,6 +211,83 @@ pub type Number = CSSFloat; pub type Opacity = CSSFloat; +/// An SVG paint value +/// +/// https://www.w3.org/TR/SVG2/painting.html#SpecifyingPaint +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "servo", derive(HeapSizeOf))] +pub struct SVGPaint { + /// The paint source + pub kind: SVGPaintKind, + /// The fallback color + pub fallback: Option<CSSColor>, +} + +impl Default for SVGPaint { + fn default() -> Self { + SVGPaint { + kind: SVGPaintKind::None, + fallback: None, + } + } +} + +impl SVGPaint { + /// Opaque black color + pub fn black() -> Self { + let rgba = RGBA::from_floats(0., 0., 0., 1.); + SVGPaint { + kind: SVGPaintKind::Color(CSSColor::RGBA(rgba)), + fallback: None, + } + } +} + +/// An SVG paint value without the fallback +/// +/// Whereas the spec only allows PaintServer +/// to have a fallback, Gecko lets the context +/// properties have a fallback as well. +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "servo", derive(HeapSizeOf))] +pub enum SVGPaintKind { + /// `none` + None, + /// `<color>` + Color(CSSColor), + /// `url(...)` + PaintServer(SpecifiedUrl), + /// `context-fill` + ContextFill, + /// `context-stroke` + ContextStroke, +} + +impl ToCss for SVGPaintKind { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + match *self { + SVGPaintKind::None => dest.write_str("none"), + SVGPaintKind::ContextStroke => dest.write_str("context-stroke"), + SVGPaintKind::ContextFill => dest.write_str("context-fill"), + SVGPaintKind::Color(ref color) => color.to_css(dest), + SVGPaintKind::PaintServer(ref server) => server.to_css(dest), + } + } +} + +impl ToCss for SVGPaint { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.kind.to_css(dest)?; + if let Some(ref fallback) = self.fallback { + fallback.to_css(dest)?; + } + Ok(()) + } +} + +/// <length> | <percentage> | <number> +pub type LoPOrNumber = Either<LengthOrPercentage, Number>; + #[derive(Clone, PartialEq, Eq, Copy, Debug)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] #[allow(missing_docs)] diff --git a/components/style/values/specified/align.rs b/components/style/values/specified/align.rs index fe7c779552b..2c9d961f0f5 100644 --- a/components/style/values/specified/align.rs +++ b/components/style/values/specified/align.rs @@ -9,6 +9,7 @@ use cssparser::Parser; use gecko_bindings::structs; use parser::{Parse, ParserContext}; +use std::ascii::AsciiExt; use std::fmt; use style_traits::ToCss; use values::HasViewportPercentage; @@ -117,10 +118,10 @@ const ALIGN_ALL_SHIFT: u32 = structs::NS_STYLE_ALIGN_ALL_SHIFT; pub struct AlignJustifyContent(u16); impl AlignJustifyContent { - /// The initial value 'auto' + /// The initial value 'normal' #[inline] - pub fn auto() -> Self { - Self::new(ALIGN_AUTO) + pub fn normal() -> Self { + Self::new(ALIGN_NORMAL) } /// Construct a value with no fallback. @@ -200,6 +201,148 @@ impl Parse for AlignJustifyContent { } } +/// Value of the `align-self` or `justify-self` property. +/// +/// https://drafts.csswg.org/css-align/#self-alignment +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub struct AlignJustifySelf(pub AlignFlags); + +impl AlignJustifySelf { + /// The initial value 'auto' + #[inline] + pub fn auto() -> Self { + AlignJustifySelf(ALIGN_AUTO) + } +} + +no_viewport_percentage!(AlignJustifySelf); + +impl ToCss for AlignJustifySelf { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.0.to_css(dest) + } +} + +impl Parse for AlignJustifySelf { + // auto | normal | stretch | <baseline-position> | + // [ <overflow-position>? && <self-position> ] + fn parse(_: &ParserContext, input: &mut Parser) -> Result<Self, ()> { + // auto | normal | stretch | <baseline-position> + if let Ok(value) = input.try(parse_auto_normal_stretch_baseline) { + return Ok(AlignJustifySelf(value)) + } + // [ <overflow-position>? && <self-position> ] + if let Ok(value) = input.try(parse_overflow_self_position) { + return Ok(AlignJustifySelf(value)) + } + Err(()) + } +} + +/// Value of the `align-items` property +/// +/// https://drafts.csswg.org/css-align/#self-alignment +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub struct AlignItems(pub AlignFlags); + +impl AlignItems { + /// The initial value 'normal' + #[inline] + pub fn normal() -> Self { + AlignItems(ALIGN_NORMAL) + } +} + +no_viewport_percentage!(AlignItems); + +impl ToCss for AlignItems { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.0.to_css(dest) + } +} + +impl Parse for AlignItems { + // normal | stretch | <baseline-position> | + // [ <overflow-position>? && <self-position> ] + fn parse(_: &ParserContext, input: &mut Parser) -> Result<Self, ()> { + // normal | stretch | <baseline-position> + if let Ok(value) = input.try(parse_normal_stretch_baseline) { + return Ok(AlignItems(value)) + } + // [ <overflow-position>? && <self-position> ] + if let Ok(value) = input.try(parse_overflow_self_position) { + return Ok(AlignItems(value)) + } + Err(()) + } +} + +/// Value of the `justify-items` property +/// +/// https://drafts.csswg.org/css-align/#justify-items-property +#[derive(Copy, Clone, Debug, Eq, PartialEq)] +pub struct JustifyItems(pub AlignFlags); + +impl JustifyItems { + /// The initial value 'auto' + #[inline] + pub fn auto() -> Self { + JustifyItems(ALIGN_AUTO) + } +} + +no_viewport_percentage!(JustifyItems); + +impl ToCss for JustifyItems { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.0.to_css(dest) + } +} + +impl Parse for JustifyItems { + // auto | normal | stretch | <baseline-position> | + // [ <overflow-position>? && <self-position> ] + // [ legacy && [ left | right | center ] ] + fn parse(_: &ParserContext, input: &mut Parser) -> Result<Self, ()> { + // auto | normal | stretch | <baseline-position> + if let Ok(value) = input.try(parse_auto_normal_stretch_baseline) { + return Ok(JustifyItems(value)) + } + // [ <overflow-position>? && <self-position> ] + if let Ok(value) = input.try(parse_overflow_self_position) { + return Ok(JustifyItems(value)) + } + // [ legacy && [ left | right | center ] ] + if let Ok(value) = input.try(parse_legacy) { + return Ok(JustifyItems(value)) + } + Err(()) + } +} + +// auto | normal | stretch | <baseline-position> +fn parse_auto_normal_stretch_baseline(input: &mut Parser) -> Result<AlignFlags, ()> { + let ident = input.expect_ident()?; + match_ignore_ascii_case! { ident, + "auto" => Ok(ALIGN_AUTO), + "normal" => Ok(ALIGN_NORMAL), + "stretch" => Ok(ALIGN_STRETCH), + "baseline" => Ok(ALIGN_BASELINE), + _ => Err(()) + } +} + +// normal | stretch | <baseline-position> +fn parse_normal_stretch_baseline(input: &mut Parser) -> Result<AlignFlags, ()> { + let ident = input.expect_ident()?; + match_ignore_ascii_case! { ident, + "normal" => Ok(ALIGN_NORMAL), + "stretch" => Ok(ALIGN_STRETCH), + "baseline" => Ok(ALIGN_BASELINE), + _ => Err(()) + } +} + // normal | <baseline-position> fn parse_normal_or_baseline(input: &mut Parser) -> Result<AlignFlags, ()> { let ident = input.expect_ident()?; @@ -264,3 +407,61 @@ fn parse_overflow_position(input: &mut Parser) -> Result<AlignFlags, ()> { _ => Err(()) } } + +// [ <overflow-position>? && <self-position> ] +fn parse_overflow_self_position(input: &mut Parser) -> Result<AlignFlags, ()> { + // <self-position> followed by optional <overflow-position> + if let Ok(mut self_position) = input.try(|input| parse_self_position(input)) { + if let Ok(overflow) = input.try(|input| parse_overflow_position(input)) { + self_position |= overflow; + } + return Ok(self_position) + } + // <overflow-position> followed by required <self-position> + if let Ok(overflow) = input.try(|input| parse_overflow_position(input)) { + if let Ok(self_position) = input.try(|input| parse_self_position(input)) { + return Ok(overflow | self_position) + } + } + return Err(()) +} + +// <self-position> +fn parse_self_position(input: &mut Parser) -> Result<AlignFlags, ()> { + let ident = input.expect_ident()?; + match_ignore_ascii_case! { ident, + "start" => Ok(ALIGN_START), + "end" => Ok(ALIGN_END), + "flex-start" => Ok(ALIGN_FLEX_START), + "flex-end" => Ok(ALIGN_FLEX_END), + "center" => Ok(ALIGN_CENTER), + "left" => Ok(ALIGN_LEFT), + "right" => Ok(ALIGN_RIGHT), + "self-start" => Ok(ALIGN_SELF_START), + "self-end" => Ok(ALIGN_SELF_END), + _ => Err(()) + } +} + +// [ legacy && [ left | right | center ] ] +fn parse_legacy(input: &mut Parser) -> Result<AlignFlags, ()> { + let a = input.expect_ident()?; + let b = input.expect_ident()?; + if a.eq_ignore_ascii_case("legacy") { + match_ignore_ascii_case! { b, + "left" => Ok(ALIGN_LEGACY | ALIGN_LEFT), + "right" => Ok(ALIGN_LEGACY | ALIGN_RIGHT), + "center" => Ok(ALIGN_LEGACY | ALIGN_CENTER), + _ => Err(()) + } + } else if b.eq_ignore_ascii_case("legacy") { + match_ignore_ascii_case! { a, + "left" => Ok(ALIGN_LEGACY | ALIGN_LEFT), + "right" => Ok(ALIGN_LEGACY | ALIGN_RIGHT), + "center" => Ok(ALIGN_LEGACY | ALIGN_CENTER), + _ => Err(()) + } + } else { + Err(()) + } +} diff --git a/components/style/values/specified/length.rs b/components/style/values/specified/length.rs index fb4ac9c0b60..0c41e6518c7 100644 --- a/components/style/values/specified/length.rs +++ b/components/style/values/specified/length.rs @@ -368,6 +368,13 @@ pub enum Length { Calc(Box<CalcLengthOrPercentage>, AllowedNumericType), } +impl From<NoCalcLength> for Length { + #[inline] + fn from(len: NoCalcLength) -> Self { + Length::NoCalc(len) + } +} + impl HasViewportPercentage for Length { fn has_viewport_percentage(&self) -> bool { match *self { @@ -938,6 +945,20 @@ impl From<Length> for LengthOrPercentage { } } +impl From<NoCalcLength> for LengthOrPercentage { + #[inline] + fn from(len: NoCalcLength) -> Self { + LengthOrPercentage::Length(len) + } +} + +impl From<Percentage> for LengthOrPercentage { + #[inline] + fn from(pc: Percentage) -> Self { + LengthOrPercentage::Percentage(pc) + } +} + impl HasViewportPercentage for LengthOrPercentage { fn has_viewport_percentage(&self) -> bool { match *self { @@ -987,6 +1008,34 @@ impl LengthOrPercentage { LengthOrPercentage::parse_internal(input, AllowedNumericType::NonNegative) } + /// Parse a length, treating dimensionless numbers as pixels + /// + /// https://www.w3.org/TR/SVG2/types.html#presentation-attribute-css-value + pub fn parse_numbers_are_pixels(input: &mut Parser) -> Result<LengthOrPercentage, ()> { + if let Ok(lop) = input.try(|i| Self::parse_internal(i, AllowedNumericType::All)) { + Ok(lop) + } else { + let num = input.expect_number()?; + Ok(LengthOrPercentage::Length(NoCalcLength::Absolute(Au((AU_PER_PX * num) as i32)))) + } + } + + /// Parse a non-negative length, treating dimensionless numbers as pixels + /// + /// This is nonstandard behavior used by Firefox for SVG + pub fn parse_numbers_are_pixels_non_negative(input: &mut Parser) -> Result<LengthOrPercentage, ()> { + if let Ok(lop) = input.try(|i| Self::parse_internal(i, AllowedNumericType::NonNegative)) { + Ok(lop) + } else { + let num = input.expect_number()?; + if num >= 0. { + Ok(LengthOrPercentage::Length(NoCalcLength::Absolute(Au((AU_PER_PX * num) as i32)))) + } else { + Err(()) + } + } + } + /// Extract value from ref without a clone, replacing it with a 0 Au /// /// Use when you need to move out of a length array without cloning @@ -1015,6 +1064,21 @@ pub enum LengthOrPercentageOrAuto { Calc(Box<CalcLengthOrPercentage>), } + +impl From<NoCalcLength> for LengthOrPercentageOrAuto { + #[inline] + fn from(len: NoCalcLength) -> Self { + LengthOrPercentageOrAuto::Length(len) + } +} + +impl From<Percentage> for LengthOrPercentageOrAuto { + #[inline] + fn from(pc: Percentage) -> Self { + LengthOrPercentageOrAuto::Percentage(pc) + } +} + impl HasViewportPercentage for LengthOrPercentageOrAuto { fn has_viewport_percentage(&self) -> bool { match *self { diff --git a/components/style/values/specified/mod.rs b/components/style/values/specified/mod.rs index b9f645e669e..64c25c2d509 100644 --- a/components/style/values/specified/mod.rs +++ b/components/style/values/specified/mod.rs @@ -21,7 +21,7 @@ use super::computed::{ComputedValueAsSpecified, Context, ToComputedValue}; use super::computed::Shadow as ComputedShadow; #[cfg(feature = "gecko")] -pub use self::align::AlignJustifyContent; +pub use self::align::{AlignItems, AlignJustifyContent, AlignJustifySelf, JustifyItems}; pub use self::grid::GridLine; pub use self::image::{AngleOrCorner, ColorStop, EndingShape as GradientEndingShape, Gradient}; pub use self::image::{GradientKind, HorizontalDirection, Image, LengthOrKeyword, LengthOrPercentageOrKeyword}; @@ -670,6 +670,175 @@ impl Shadow { } } +no_viewport_percentage!(SVGPaint); + +/// An SVG paint value +/// +/// https://www.w3.org/TR/SVG2/painting.html#SpecifyingPaint +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "servo", derive(HeapSizeOf))] +pub struct SVGPaint { + /// The paint source + pub kind: SVGPaintKind, + /// The fallback color + pub fallback: Option<CSSColor>, +} + +/// An SVG paint value without the fallback +/// +/// Whereas the spec only allows PaintServer +/// to have a fallback, Gecko lets the context +/// properties have a fallback as well. +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "servo", derive(HeapSizeOf))] +pub enum SVGPaintKind { + /// `none` + None, + /// `<color>` + Color(CSSColor), + /// `url(...)` + PaintServer(SpecifiedUrl), + /// `context-fill` + ContextFill, + /// `context-stroke` + ContextStroke, +} + +impl SVGPaintKind { + fn parse_ident(input: &mut Parser) -> Result<Self, ()> { + Ok(match_ignore_ascii_case! { input.expect_ident()?, + "none" => SVGPaintKind::None, + "context-fill" => SVGPaintKind::ContextFill, + "context-stroke" => SVGPaintKind::ContextStroke, + _ => return Err(()) + }) + } +} + +impl Parse for SVGPaint { + fn parse(context: &ParserContext, input: &mut Parser) -> Result<Self, ()> { + if let Ok(url) = input.try(|i| SpecifiedUrl::parse(context, i)) { + let fallback = input.try(|i| CSSColor::parse(context, i)); + Ok(SVGPaint { + kind: SVGPaintKind::PaintServer(url), + fallback: fallback.ok(), + }) + } else if let Ok(kind) = input.try(SVGPaintKind::parse_ident) { + if kind == SVGPaintKind::None { + Ok(SVGPaint { + kind: kind, + fallback: None, + }) + } else { + let fallback = input.try(|i| CSSColor::parse(context, i)); + Ok(SVGPaint { + kind: kind, + fallback: fallback.ok(), + }) + } + } else if let Ok(color) = input.try(|i| CSSColor::parse(context, i)) { + Ok(SVGPaint { + kind: SVGPaintKind::Color(color), + fallback: None, + }) + } else { + Err(()) + } + } +} + +impl ToCss for SVGPaintKind { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + match *self { + SVGPaintKind::None => dest.write_str("none"), + SVGPaintKind::ContextStroke => dest.write_str("context-stroke"), + SVGPaintKind::ContextFill => dest.write_str("context-fill"), + SVGPaintKind::Color(ref color) => color.to_css(dest), + SVGPaintKind::PaintServer(ref server) => server.to_css(dest), + } + } +} + +impl ToCss for SVGPaint { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.kind.to_css(dest)?; + if let Some(ref fallback) = self.fallback { + fallback.to_css(dest)?; + } + Ok(()) + } +} + + +impl ToComputedValue for SVGPaint { + type ComputedValue = super::computed::SVGPaint; + + #[inline] + fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { + super::computed::SVGPaint { + kind: self.kind.to_computed_value(context), + fallback: self.fallback.as_ref().map(|f| f.to_computed_value(context)) + } + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + SVGPaint { + kind: ToComputedValue::from_computed_value(&computed.kind), + fallback: computed.fallback.as_ref().map(ToComputedValue::from_computed_value) + } + } +} + +impl ToComputedValue for SVGPaintKind { + type ComputedValue = super::computed::SVGPaintKind; + + #[inline] + fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { + match *self { + SVGPaintKind::None => super::computed::SVGPaintKind::None, + SVGPaintKind::ContextStroke => super::computed::SVGPaintKind::ContextStroke, + SVGPaintKind::ContextFill => super::computed::SVGPaintKind::ContextFill, + SVGPaintKind::Color(ref color) => { + super::computed::SVGPaintKind::Color(color.to_computed_value(context)) + } + SVGPaintKind::PaintServer(ref server) => { + super::computed::SVGPaintKind::PaintServer(server.to_computed_value(context)) + } + } + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + match *computed { + super::computed::SVGPaintKind::None => SVGPaintKind::None, + super::computed::SVGPaintKind::ContextStroke => SVGPaintKind::ContextStroke, + super::computed::SVGPaintKind::ContextFill => SVGPaintKind::ContextFill, + super::computed::SVGPaintKind::Color(ref color) => { + SVGPaintKind::Color(ToComputedValue::from_computed_value(color)) + } + super::computed::SVGPaintKind::PaintServer(ref server) => { + SVGPaintKind::PaintServer(ToComputedValue::from_computed_value(server)) + } + } + } +} + +/// <length> | <percentage> | <number> +pub type LoPOrNumber = Either<LengthOrPercentage, Number>; + +impl LoPOrNumber { + /// parse a <length-percentage> | <number> enforcing that the contents aren't negative + pub fn parse_non_negative(_: &ParserContext, input: &mut Parser) -> Result<Self, ()> { + if let Ok(lop) = input.try(LengthOrPercentage::parse_non_negative) { + Ok(Either::First(lop)) + } else if let Ok(num) = input.try(Number::parse_non_negative) { + Ok(Either::Second(num)) + } else { + Err(()) + } + } +} impl HasViewportPercentage for ClipRect { fn has_viewport_percentage(&self) -> bool { diff --git a/components/style/values/specified/url.rs b/components/style/values/specified/url.rs index 41af5a16dea..f6b8dd2de29 100644 --- a/components/style/values/specified/url.rs +++ b/components/style/values/specified/url.rs @@ -6,6 +6,8 @@ use cssparser::{CssStringWriter, Parser}; #[cfg(feature = "gecko")] +use gecko_bindings::structs::ServoBundledURI; +#[cfg(feature = "gecko")] use gecko_bindings::sugar::refptr::{GeckoArcPrincipal, GeckoArcURI}; use parser::{Parse, ParserContext}; #[cfg(feature = "gecko")] @@ -167,6 +169,24 @@ impl SpecifiedUrl { extra_data: UrlExtraData {} } } + + /// Create a bundled URI suitable for sending to Gecko + /// to be constructed into a css::URLValue + #[cfg(feature = "gecko")] + pub fn for_ffi(&self) -> Option<ServoBundledURI> { + let extra_data = self.extra_data(); + let (ptr, len) = match self.as_slice_components() { + Ok(value) => value, + Err(_) => return None, + }; + Some(ServoBundledURI { + mURLString: ptr, + mURLStringLength: len as u32, + mBaseURI: extra_data.base.get(), + mReferrer: extra_data.referrer.get(), + mPrincipal: extra_data.principal.get(), + }) + } } impl PartialEq for SpecifiedUrl { diff --git a/components/style_traits/Cargo.toml b/components/style_traits/Cargo.toml index 1d60a8c5d14..2f28568aa6d 100644 --- a/components/style_traits/Cargo.toml +++ b/components/style_traits/Cargo.toml @@ -11,14 +11,14 @@ path = "lib.rs" [features] servo = ["heapsize", "heapsize_derive", "serde", "serde_derive", - "cssparser/heap_size", "cssparser/serde-serialization"] + "cssparser/heapsize", "cssparser/serde"] [dependencies] -app_units = "0.3" -cssparser = "0.9" -euclid = "0.10.1" +app_units = "0.4" +cssparser = "0.10" +euclid = "0.11" heapsize = {version = "0.3.0", optional = true} heapsize_derive = {version = "0.1", optional = true} rustc-serialize = "0.3" -serde = {version = "0.8", optional = true} -serde_derive = {version = "0.8", optional = true} +serde = {version = "0.9", optional = true} +serde_derive = {version = "0.9", optional = true} diff --git a/components/url/Cargo.toml b/components/url/Cargo.toml index 11c0cd71a8b..e6acfe07649 100644 --- a/components/url/Cargo.toml +++ b/components/url/Cargo.toml @@ -10,13 +10,11 @@ name = "servo_url" path = "lib.rs" [features] -servo = ["heapsize", "heapsize_derive", "serde", "serde_derive", - "url/heap_size", "url/serde"] - +servo = ["heapsize", "heapsize_derive", "serde", "url/heap_size", "url_serde"] [dependencies] -url = "1.2" heapsize = {version = "0.3.0", optional = true} heapsize_derive = {version = "0.1", optional = true} -serde = {version = "0.8", optional = true} -serde_derive = {version = "0.8", optional = true} +serde = {version = "0.9", optional = true} +url = "1.2" +url_serde = {version = "0.1", optional = true} diff --git a/components/url/lib.rs b/components/url/lib.rs index d9f69497aba..85933a509c7 100644 --- a/components/url/lib.rs +++ b/components/url/lib.rs @@ -7,11 +7,10 @@ #![crate_name = "servo_url"] #![crate_type = "rlib"] -#![cfg_attr(feature = "servo", feature(plugin))] - -#[cfg(feature = "servo")] #[macro_use] extern crate serde_derive; #[cfg(feature = "servo")] extern crate heapsize; #[cfg(feature = "servo")] #[macro_use] extern crate heapsize_derive; +#[cfg(feature = "servo")] extern crate serde; +#[cfg(feature = "servo")] extern crate url_serde; extern crate url; @@ -23,7 +22,7 @@ use std::sync::Arc; use url::{Url, Origin, Position}; #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[cfg_attr(feature = "servo", derive(HeapSizeOf, Serialize, Deserialize))] +#[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub struct ServoUrl(Arc<Url>); impl ServoUrl { @@ -196,3 +195,21 @@ impl From<Url> for ServoUrl { ServoUrl::from_url(url) } } + +#[cfg(feature = "servo")] +impl serde::Serialize for ServoUrl { + fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> + where S: serde::Serializer, + { + url_serde::serialize(&*self.0, serializer) + } +} + +#[cfg(feature = "servo")] +impl serde::Deserialize for ServoUrl { + fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> + where D: serde::Deserializer, + { + url_serde::deserialize(deserializer).map(Self::from_url) + } +} diff --git a/components/webdriver_server/Cargo.toml b/components/webdriver_server/Cargo.toml index 6c98f09f18f..51ebd48b330 100644 --- a/components/webdriver_server/Cargo.toml +++ b/components/webdriver_server/Cargo.toml @@ -11,10 +11,10 @@ path = "lib.rs" [dependencies] cookie = {version = "0.2.5", features = ["serialize-rustc"]} -euclid = "0.10.1" +euclid = "0.11" hyper = "0.9.9" image = "0.12" -ipc-channel = "0.5" +ipc-channel = "0.7" log = "0.3.5" msg = {path = "../msg"} net_traits = {path = "../net_traits"} @@ -25,5 +25,5 @@ script_traits = {path = "../script_traits"} servo_config = {path = "../config", features = ["servo"]} servo_url = {path = "../url", features = ["servo"]} url = {version = "1.2", features = ["heap_size"]} -uuid = { version = "0.3.1", features = ["v4"] } +uuid = {version = "0.4", features = ["v4"]} webdriver = "0.20" diff --git a/components/webvr/Cargo.toml b/components/webvr/Cargo.toml index 35d9d007c65..ce23e9f89be 100644 --- a/components/webvr/Cargo.toml +++ b/components/webvr/Cargo.toml @@ -10,7 +10,7 @@ name = "webvr" path = "lib.rs" [dependencies] -ipc-channel = "0.5" +ipc-channel = "0.7" log = "0.3" msg = {path = "../msg"} script_traits = {path = "../script_traits"} diff --git a/components/webvr_traits/Cargo.toml b/components/webvr_traits/Cargo.toml index 30467847c95..9ec8e33462c 100644 --- a/components/webvr_traits/Cargo.toml +++ b/components/webvr_traits/Cargo.toml @@ -10,8 +10,8 @@ name = "webvr_traits" path = "lib.rs" [dependencies] -ipc-channel = "0.5" +ipc-channel = "0.7" msg = {path = "../msg"} -serde = "0.8" -serde_derive = "0.8" -rust-webvr = {version = "0.1", features = ["serde-serialization"]} +rust-webvr = {version = "0.2", features = ["serde-serialization"]} +serde = "0.9" +serde_derive = "0.9" diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml index 3d883ac680e..93897283289 100644 --- a/etc/ci/buildbot_steps.yml +++ b/etc/ci/buildbot_steps.yml @@ -12,11 +12,12 @@ mac-rel-wpt2: - ./mach build --release - ./mach test-wpt --release --processes 8 --total-chunks 2 --this-chunk 2 --log-raw test-wpt.log --log-errorsummary wpt-errorsummary.log --always-succeed - ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --use-tracker + - ./mach build-geckolib --release mac-dev-unit: - - ./mach build --dev - - ./mach test-unit - - ./mach build-cef + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --dev + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach test-unit + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build-cef - ./mach build-geckolib - bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/manifest_changed.sh @@ -25,7 +26,6 @@ mac-rel-css: - ./mach build --release - ./mach test-css --release --processes 4 --log-raw test-css.log --log-errorsummary css-errorsummary.log --always-succeed - ./mach filter-intermittents css-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-css-errorsummary.log --use-tracker - - ./mach build-geckolib --release - bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/manifest_changed.sh @@ -46,10 +46,10 @@ mac-rel-intermittent: linux-dev: - ./mach test-tidy --no-progress --all - ./mach test-tidy --no-progress --self-test - - ./mach build --dev - - ./mach test-compiletest - - ./mach test-unit - - ./mach build-cef + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --dev + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach test-compiletest + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach test-unit + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build-cef - ./mach build-geckolib - ./mach test-stylo - bash ./etc/ci/lockfile_changed.sh @@ -79,24 +79,24 @@ linux-nightly: - ./etc/ci/upload_nightly.sh linux android: - - ./mach build --android --dev - - ./mach package --android --dev + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --android --dev + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach package --android --dev - bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/manifest_changed.sh - python ./etc/ci/check_dynamic_symbols.py android-nightly: - - ./mach build --android --release - - ./mach package --android --release + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --android --release + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach package --android --release - ./etc/ci/upload_nightly.sh android arm32: - - ./mach build --rel --target=arm-unknown-linux-gnueabihf + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --rel --target=arm-unknown-linux-gnueabihf - bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/manifest_changed.sh arm64: - - ./mach build --rel --target=aarch64-unknown-linux-gnu + - env SERVO_RUSTC_LLVM_ASSERTIONS=1 ./mach build --rel --target=aarch64-unknown-linux-gnu - bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/manifest_changed.sh diff --git a/ports/cef/Cargo.toml b/ports/cef/Cargo.toml index 65a283f6466..6767105ac43 100644 --- a/ports/cef/Cargo.toml +++ b/ports/cef/Cargo.toml @@ -20,7 +20,7 @@ debugmozjs = ["libservo/debugmozjs"] [dependencies] compositing = {path = "../../components/compositing"} devtools = {path = "../../components/devtools"} -euclid = "0.10.1" +euclid = "0.11" gleam = "0.2.8" glutin_app = {path = "../glutin"} libc = "0.2" @@ -42,7 +42,7 @@ features = ["serde_derive", "ipc"] [target.'cfg(target_os="macos")'.dependencies] objc = "0.2" -cocoa = "0.7" +cocoa = "0.8" [target.'cfg(target_os="linux")'.dependencies] x11 = "2.3" diff --git a/ports/geckolib/Cargo.toml b/ports/geckolib/Cargo.toml index 94b6ec720dd..9d54213caec 100644 --- a/ports/geckolib/Cargo.toml +++ b/ports/geckolib/Cargo.toml @@ -13,11 +13,11 @@ crate-type = ["staticlib", "rlib"] bindgen = ["style/use_bindgen"] [dependencies] -app_units = "0.3" +app_units = "0.4" atomic_refcell = "0.1" -cssparser = {version = "0.9"} +cssparser = "0.10" env_logger = {version = "0.4", default-features = false} # disable `regex` to reduce code size -euclid = "0.10.1" +euclid = "0.11" lazy_static = "0.2" libc = "0.2" log = {version = "0.3.5", features = ["release_max_level_info"]} diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index dcfeaaad536..5964aa3a2f2 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -36,7 +36,7 @@ use style::gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSet use style::gecko_bindings::bindings::{RawServoStyleSheetBorrowed, ServoComputedValuesBorrowed}; use style::gecko_bindings::bindings::{RawServoStyleSheetStrong, ServoComputedValuesStrong}; use style::gecko_bindings::bindings::{ServoCssRulesBorrowed, ServoCssRulesStrong}; -use style::gecko_bindings::bindings::{nsACString, nsCSSValueBorrowedMut, nsAString}; +use style::gecko_bindings::bindings::{nsACString, nsAString}; use style::gecko_bindings::bindings::Gecko_AnimationAppendKeyframe; use style::gecko_bindings::bindings::RawGeckoAnimationValueListBorrowedMut; use style::gecko_bindings::bindings::RawGeckoElementBorrowed; @@ -258,11 +258,11 @@ pub extern "C" fn Servo_AnimationValue_GetOpacity(value: RawServoAnimationValueB #[no_mangle] pub extern "C" fn Servo_AnimationValue_GetTransform(value: RawServoAnimationValueBorrowed, - list: &mut structs::RefPtr<nsCSSValueSharedList>) + list: *mut structs::RefPtr<nsCSSValueSharedList>) { let value = AnimationValue::as_arc(&value); if let AnimationValue::Transform(ref servo_list) = **value { - style_structs::Box::convert_transform(servo_list.0.clone().unwrap(), list); + style_structs::Box::convert_transform(servo_list.0.clone().unwrap(), unsafe { &mut *list }); } else { panic!("The AnimationValue should be transform"); } @@ -952,59 +952,277 @@ pub extern "C" fn Servo_DeclarationBlock_RemovePropertyById(declarations: RawSer remove_property(declarations, get_property_id_from_nscsspropertyid!(property, ())) } -#[no_mangle] -pub extern "C" fn Servo_DeclarationBlock_AddPresValue(declarations: RawServoDeclarationBlockBorrowed, - property: nsCSSPropertyID, - css_value: nsCSSValueBorrowedMut) { - use style::gecko::values::convert_nscolor_to_rgba; - use style::properties::{DeclaredValue, LonghandId, PropertyDeclaration, PropertyId, longhands}; - use style::values::specified; - - let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); - let prop = PropertyId::from_nscsspropertyid(property); - - let long = match prop { - Ok(PropertyId::Longhand(long)) => long, - _ => { - warn!("stylo: unknown presentation property with id {:?}", property); - return +macro_rules! get_longhand_from_id { + ($id:expr, $retval:expr) => { + match PropertyId::from_nscsspropertyid($id) { + Ok(PropertyId::Longhand(long)) => long, + _ => { + error!("stylo: unknown presentation property with id {:?}", $id); + return $retval + } } }; - let decl = match long { - LonghandId::FontSize => { - if let Some(int) = css_value.integer() { - PropertyDeclaration::FontSize(DeclaredValue::Value( - longhands::font_size::SpecifiedValue( - specified::LengthOrPercentage::Length( - specified::NoCalcLength::from_font_size_int(int as u8) - ) - ) - )) - } else { - warn!("stylo: got unexpected non-integer value for font-size presentation attribute"); + ($id:expr) => { + get_longhand_from_id!($id, ()) + } +} + +macro_rules! match_wrap_declared { + ($longhand:ident, $($property:ident => $inner:expr,)*) => ( + match $longhand { + $( + LonghandId::$property => PropertyDeclaration::$property(DeclaredValue::Value($inner)), + )* + _ => { + error!("stylo: Don't know how to handle presentation property {:?}", $longhand); return } } - LonghandId::Color => { - if let Some(color) = css_value.color_value() { - PropertyDeclaration::Color(DeclaredValue::Value( - specified::CSSRGBA { - parsed: convert_nscolor_to_rgba(color), - authored: None - } - )) - } else { - warn!("stylo: got unexpected non-integer value for color presentation attribute"); - return + ) +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_PropertyIsSet(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID) + -> bool { + use style::properties::PropertyDeclarationId; + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property, false); + declarations.read().get(PropertyDeclarationId::Longhand(long)).is_some() +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetIdentStringValue(declarations: + RawServoDeclarationBlockBorrowed, + property: + nsCSSPropertyID, + value: + *mut nsIAtom) { + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::properties::longhands::_x_lang::computed_value::T as Lang; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let prop = match_wrap_declared! { long, + XLang => Lang(Atom::from(value)), + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +#[allow(unreachable_code)] +pub extern "C" fn Servo_DeclarationBlock_SetKeywordValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: i32) { + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::properties::longhands; + use style::values::specified::{BorderStyle, NoCalcLength}; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let value = value as u32; + + let prop = match_wrap_declared! { long, + MozUserModify => longhands::_moz_user_modify::SpecifiedValue::from_gecko_keyword(value), + // TextEmphasisPosition => FIXME implement text-emphasis-position + Display => longhands::display::SpecifiedValue::from_gecko_keyword(value), + Float => longhands::float::SpecifiedValue::from_gecko_keyword(value), + VerticalAlign => longhands::vertical_align::SpecifiedValue::from_gecko_keyword(value), + TextAlign => longhands::text_align::SpecifiedValue::from_gecko_keyword(value), + Clear => longhands::clear::SpecifiedValue::from_gecko_keyword(value), + FontSize => { + // We rely on Gecko passing in font-size values (0...7) here. + longhands::font_size::SpecifiedValue(NoCalcLength::from_font_size_int(value as u8).into()) + }, + ListStyleType => longhands::list_style_type::SpecifiedValue::from_gecko_keyword(value), + WhiteSpace => longhands::white_space::SpecifiedValue::from_gecko_keyword(value), + CaptionSide => longhands::caption_side::SpecifiedValue::from_gecko_keyword(value), + BorderTopStyle => BorderStyle::from_gecko_keyword(value), + BorderRightStyle => BorderStyle::from_gecko_keyword(value), + BorderBottomStyle => BorderStyle::from_gecko_keyword(value), + BorderLeftStyle => BorderStyle::from_gecko_keyword(value), + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetIntValue(declarations: RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: i32) { + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::properties::longhands::_x_span::computed_value::T as Span; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let prop = match_wrap_declared! { long, + XSpan => Span(value), + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetPixelValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: f32) { + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::properties::longhands::border_spacing::SpecifiedValue as BorderSpacing; + use style::values::specified::BorderWidth; + use style::values::specified::length::NoCalcLength; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let nocalc = NoCalcLength::from_px(value); + + let prop = match_wrap_declared! { long, + Height => nocalc.into(), + Width => nocalc.into(), + BorderTopWidth => BorderWidth::Width(nocalc.into()), + BorderRightWidth => BorderWidth::Width(nocalc.into()), + BorderBottomWidth => BorderWidth::Width(nocalc.into()), + BorderLeftWidth => BorderWidth::Width(nocalc.into()), + MarginTop => nocalc.into(), + MarginRight => nocalc.into(), + MarginBottom => nocalc.into(), + MarginLeft => nocalc.into(), + PaddingTop => nocalc.into(), + PaddingRight => nocalc.into(), + PaddingBottom => nocalc.into(), + PaddingLeft => nocalc.into(), + BorderSpacing => Box::new( + BorderSpacing { + horizontal: nocalc.into(), + vertical: nocalc.into(), } - } - _ => { - warn!("stylo: cannot handle longhand {:?} from presentation attribute", long); - return - } + ), + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetPercentValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: f32) { + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::values::specified::length::Percentage; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let pc = Percentage(value); + + let prop = match_wrap_declared! { long, + Height => pc.into(), + Width => pc.into(), + MarginTop => pc.into(), + MarginRight => pc.into(), + MarginBottom => pc.into(), + MarginLeft => pc.into(), + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetAutoValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID) { + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::values::specified::LengthOrPercentageOrAuto; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let auto = LengthOrPercentageOrAuto::Auto; + + let prop = match_wrap_declared! { long, + Height => auto, + Width => auto, + MarginTop => auto, + MarginRight => auto, + MarginBottom => auto, + MarginLeft => auto, + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetCurrentColor(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID) { + use cssparser::Color; + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::values::specified::CSSColor; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let cc = CSSColor { parsed: Color::CurrentColor, authored: None }; + + let prop = match_wrap_declared! { long, + BorderTopColor => cc, + BorderRightColor => cc, + BorderBottomColor => cc, + BorderLeftColor => cc, + }; + declarations.write().declarations.push((prop, Default::default())); +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetColorValue(declarations: + RawServoDeclarationBlockBorrowed, + property: nsCSSPropertyID, + value: structs::nscolor) { + use cssparser::Color; + use style::gecko::values::convert_nscolor_to_rgba; + use style::properties::{DeclaredValue, PropertyDeclaration, LonghandId}; + use style::values::specified::{CSSColor, CSSRGBA}; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let long = get_longhand_from_id!(property); + let rgba = convert_nscolor_to_rgba(value); + let color = CSSColor { parsed: Color::RGBA(rgba), authored: None }; + + let prop = match_wrap_declared! { long, + BorderTopColor => color, + BorderRightColor => color, + BorderBottomColor => color, + BorderLeftColor => color, + Color => CSSRGBA { parsed: rgba, authored: None }, + BackgroundColor => color, }; - declarations.write().declarations.push((decl, Importance::Normal)); + declarations.write().declarations.push((prop, Default::default())); +} +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetFontFamily(declarations: + RawServoDeclarationBlockBorrowed, + value: *const nsAString) { + use cssparser::Parser; + use style::properties::{DeclaredValue, PropertyDeclaration}; + use style::properties::longhands::font_family::SpecifiedValue as FontFamily; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let string = unsafe { (*value).to_string() }; + let mut parser = Parser::new(&string); + if let Ok(family) = FontFamily::parse(&mut parser) { + if parser.is_exhausted() { + let decl = PropertyDeclaration::FontFamily(DeclaredValue::Value(family)); + declarations.write().declarations.push((decl, Default::default())); + } + } +} + +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_SetTextDecorationColorOverride(declarations: + RawServoDeclarationBlockBorrowed) { + use style::properties::{DeclaredValue, PropertyDeclaration}; + use style::properties::longhands::text_decoration_line; + + let declarations = RwLock::<PropertyDeclarationBlock>::as_arc(&declarations); + let mut decoration = text_decoration_line::computed_value::none; + decoration |= text_decoration_line::COLOR_OVERRIDE; + let decl = PropertyDeclaration::TextDecorationLine(DeclaredValue::Value(decoration)); + declarations.write().declarations.push((decl, Default::default())); } #[no_mangle] diff --git a/ports/glutin/Cargo.toml b/ports/glutin/Cargo.toml index edcdad716f0..567f54ae694 100644 --- a/ports/glutin/Cargo.toml +++ b/ports/glutin/Cargo.toml @@ -11,13 +11,13 @@ path = "lib.rs" [dependencies] bitflags = "0.7" compositing = {path = "../../components/compositing"} -euclid = "0.10.1" +euclid = "0.11" gleam = "0.2.8" log = "0.3.5" msg = {path = "../../components/msg"} net_traits = {path = "../../components/net_traits"} script_traits = {path = "../../components/script_traits"} -servo-glutin = "0.8" +servo-glutin = "0.9" servo_geometry = {path = "../../components/geometry"} servo_config = {path = "../../components/config"} servo_url = {path = "../../components/url"} diff --git a/ports/servo/Cargo.toml b/ports/servo/Cargo.toml index 082d17db90b..ea46d7f4f9a 100644 --- a/ports/servo/Cargo.toml +++ b/ports/servo/Cargo.toml @@ -46,6 +46,4 @@ libservo = {path = "../../components/servo"} sig = "0.1" [target.'cfg(target_os = "android")'.dependencies] -libc = "0.2" -android_glue = "0.2" android_injected_glue = {git = "https://github.com/mmatyas/android-rs-injected-glue"} diff --git a/ports/servo/main.rs b/ports/servo/main.rs index cefc093af7a..b24e550ff2d 100644 --- a/ports/servo/main.rs +++ b/ports/servo/main.rs @@ -18,15 +18,10 @@ #![feature(start, core_intrinsics)] #[cfg(target_os = "android")] -#[macro_use] -extern crate android_glue; -#[cfg(target_os = "android")] extern crate android_injected_glue; extern crate backtrace; // The window backed by glutin extern crate glutin_app as app; -#[cfg(target_os = "android")] -extern crate libc; #[macro_use] extern crate log; // The Servo engine @@ -65,9 +60,10 @@ fn install_crash_handler() { use std::thread; fn handler(_sig: i32) { - let name = thread::current().name() - .map(|n| format!(" for thread \"{}\"", n)) - .unwrap_or("".to_owned()); + let name = thread::current() + .name() + .map(|n| format!(" for thread \"{}\"", n)) + .unwrap_or("".to_owned()); println!("Stack trace{}\n{:?}", name, Backtrace::new()); unsafe { abort(); @@ -81,8 +77,7 @@ fn install_crash_handler() { } #[cfg(target_os = "android")] -fn install_crash_handler() { -} +fn install_crash_handler() {} fn main() { install_crash_handler(); @@ -106,15 +101,21 @@ fn main() { warn!("Panic hook called."); let msg = match info.payload().downcast_ref::<&'static str>() { Some(s) => *s, - None => match info.payload().downcast_ref::<String>() { - Some(s) => &**s, - None => "Box<Any>", + None => { + match info.payload().downcast_ref::<String>() { + Some(s) => &**s, + None => "Box<Any>", + } }, }; let current_thread = thread::current(); let name = current_thread.name().unwrap_or("<unnamed>"); if let Some(location) = info.location() { - println!("{} (thread {}, at {}:{})", msg, name, location.file(), location.line()); + println!("{} (thread {}, at {}:{})", + msg, + name, + location.file(), + location.line()); } else { println!("{} (thread {})", msg, name); } @@ -128,7 +129,7 @@ fn main() { setup_logging(); if let Some(token) = content_process_token { - return servo::run_content_process(token) + return servo::run_content_process(token); } if opts::get().is_printing_version { @@ -155,17 +156,16 @@ fn main() { loop { let should_continue = browser.browser.handle_events(window.wait_events()); if !should_continue { - break + break; } - }; + } unregister_glutin_resize_handler(&window); platform::deinit() } -fn register_glutin_resize_handler(window: &Rc<app::window::Window>, - browser: &mut BrowserWrapper) { +fn register_glutin_resize_handler(window: &Rc<app::window::Window>, browser: &mut BrowserWrapper) { unsafe { window.set_nested_event_loop_listener(browser); } @@ -188,7 +188,7 @@ impl app::NestedEventLoopListener for BrowserWrapper { _ => false, }; if !self.browser.handle_events(vec![event]) { - return false + return false; } if is_resize { self.browser.repaint_synchronously() @@ -199,12 +199,14 @@ impl app::NestedEventLoopListener for BrowserWrapper { #[cfg(target_os = "android")] fn setup_logging() { - android::setup_logging(); + // Piping logs from stdout/stderr to logcat happens in android_injected_glue. + ::std::env::set_var("RUST_LOG", "debug"); + + unsafe { android_injected_glue::ffi::app_dummy() }; } #[cfg(not(target_os = "android"))] -fn setup_logging() { -} +fn setup_logging() {} #[cfg(target_os = "android")] /// Attempt to read parameters from a file since they are not passed to us in Android environments. @@ -233,11 +235,10 @@ fn args() -> Vec<String> { vec }, Err(e) => { - debug!("Failed to open params file '{}': {}", PARAMS_FILE, Error::description(&e)); - vec![ - "servo".to_owned(), - "http://en.wikipedia.org/wiki/Rust".to_owned() - ] + debug!("Failed to open params file '{}': {}", + PARAMS_FILE, + Error::description(&e)); + vec!["servo".to_owned(), "http://en.wikipedia.org/wiki/Rust".to_owned()] }, } } @@ -254,61 +255,5 @@ fn args() -> Vec<String> { #[inline(never)] #[allow(non_snake_case)] pub extern "C" fn android_main(app: *mut ()) { - android_injected_glue::android_main2(app as *mut _, move |_, _| { main() }); -} - - -#[cfg(target_os = "android")] -mod android { - extern crate android_glue; - extern crate android_injected_glue; - extern crate libc; - - use self::libc::c_int; - use std::borrow::ToOwned; - - pub fn setup_logging() { - use self::libc::{STDERR_FILENO, STDOUT_FILENO}; - //use std::env; - - //env::set_var("RUST_LOG", "servo,gfx,msg,util,layers,js,std,rt,extra"); - redirect_output(STDERR_FILENO); - redirect_output(STDOUT_FILENO); - - unsafe { android_injected_glue::ffi::app_dummy() }; - } - - struct FilePtr(*mut self::libc::FILE); - - unsafe impl Send for FilePtr {} - - fn redirect_output(file_no: c_int) { - use self::libc::{pipe, dup2}; - use self::libc::fdopen; - use self::libc::fgets; - use std::ffi::CStr; - use std::ffi::CString; - use std::str::from_utf8; - use std::thread; - - unsafe { - let mut pipes: [c_int; 2] = [ 0, 0 ]; - pipe(pipes.as_mut_ptr()); - dup2(pipes[1], file_no); - let mode = CString::new("r").unwrap(); - let input_file = FilePtr(fdopen(pipes[0], mode.as_ptr())); - thread::Builder::new().name("android-logger".to_owned()).spawn(move || { - static READ_SIZE: usize = 1024; - let mut read_buffer = vec![0; READ_SIZE]; - let FilePtr(input_file) = input_file; - loop { - fgets(read_buffer.as_mut_ptr(), (read_buffer.len() as i32)-1, input_file); - let c_str = CStr::from_ptr(read_buffer.as_ptr()); - let slice = from_utf8(c_str.to_bytes()).unwrap(); - android_glue::write_log(slice); - } - }); - } - } - + android_injected_glue::android_main2(app as *mut _, move |_, _| main()); } diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 5ad351b3411..34ce2bfc682 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -23,7 +23,7 @@ from mach.registrar import Registrar import toml from servo.packages import WINDOWS_MSVC as msvc_deps -from servo.util import host_triple +from servo.util import host_triple, host_platform BIN_SUFFIX = ".exe" if sys.platform == "win32" else "" @@ -263,10 +263,15 @@ class CommandBase(object): context.sharedir, "cargo", self.cargo_build_id()) self.config["tools"].setdefault("rustc-with-gold", get_env_bool("SERVO_RUSTC_WITH_GOLD", True)) + # https://github.com/rust-lang/rust/pull/39754 + platforms_with_rustc_alt_builds = ["unknown-linux-gnu", "apple-darwin", "pc-windows-msvc"] + llvm_assertions_default = ("SERVO_RUSTC_LLVM_ASSERTIONS" in os.environ + or host_platform() not in platforms_with_rustc_alt_builds) + self.config.setdefault("build", {}) self.config["build"].setdefault("android", False) self.config["build"].setdefault("mode", "") - self.config["build"].setdefault("llvm-assertions", True) + self.config["build"].setdefault("llvm-assertions", llvm_assertions_default) self.config["build"].setdefault("debug-mozjs", False) self.config["build"].setdefault("ccache", "") self.config["build"].setdefault("rustflags", "") diff --git a/python/servo/util.py b/python/servo/util.py index 03f993b3bf0..77fba165446 100644 --- a/python/servo/util.py +++ b/python/servo/util.py @@ -20,7 +20,7 @@ import zipfile import urllib2 -def host_triple(): +def host_platform(): os_type = platform.system().lower() if os_type == "linux": os_type = "unknown-linux-gnu" @@ -42,7 +42,11 @@ def host_triple(): os_type = "unknown-freebsd" else: os_type = "unknown" + return os_type + +def host_triple(): + os_type = host_platform() cpu_type = platform.machine().lower() if os_type.endswith("-msvc"): # vcvars*.bat should set it properly diff --git a/servo-tidy.toml b/servo-tidy.toml index 6c0b63f6951..be60a7276ba 100644 --- a/servo-tidy.toml +++ b/servo-tidy.toml @@ -31,7 +31,7 @@ num = [] [ignore] # Ignored packages with duplicated versions -packages = ["bitflags", "byteorder", "semver"] +packages = ["byteorder", "semver", "serde_codegen_internals", "syn"] # Files that are ignored for all tidy and lint checks. files = [ # Generated and upstream code combined with our own. Could use cleanup diff --git a/servobuild.example b/servobuild.example index 4e77184666c..f36fa525d67 100644 --- a/servobuild.example +++ b/servobuild.example @@ -40,7 +40,7 @@ rustc-with-gold = true #mode = "dev" # Whether to enable LLVM assertions in rustc. -#llvm-assertions = true +#llvm-assertions = false # Set "android = true" or use `mach build --android` to build the Android app. android = false diff --git a/support/android/apk/jni/main.c b/support/android/apk/jni/main.c deleted file mode 100644 index beddf906059..00000000000 --- a/support/android/apk/jni/main.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -//BEGIN_INCLUDE(all) -#include <jni.h> -#include <errno.h> -#include <dlfcn.h> -#include <stdlib.h> - -#include <android/log.h> -#include <android_native_app_glue.h> - -#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "servo-wrapper", __VA_ARGS__)) -#define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, "servo-wrapper", __VA_ARGS__)) - -/** - * This is the main entry point of a native application that is using - * android_native_app_glue. It runs in its own thread, with its own - * event loop for receiving input events and doing other things. - */ -void android_main(struct android_app* state) { - LOGI("in android_main"); - void* libservo = dlopen("libservo.so", RTLD_NOW); - if (libservo == NULL) { - LOGI("failed to load servo lib: %s", dlerror()); - return; - } - - LOGI("loaded libservo.so"); - void (*android_main)(struct android_app*); - *(void**)(&android_main) = dlsym(libservo, "android_main"); - if (android_main) { - LOGI("go into android_main()"); - (*android_main)(state); - return; - } -} -//END_INCLUDE(all) - -int main(int argc, char* argv[]) -{ - LOGI("WAT"); - return 0; -} diff --git a/support/android/apk/src/com/mozilla/servo/MainActivity.java b/support/android/apk/src/com/mozilla/servo/MainActivity.java index f85146fc0ff..31973499cc0 100644 --- a/support/android/apk/src/com/mozilla/servo/MainActivity.java +++ b/support/android/apk/src/com/mozilla/servo/MainActivity.java @@ -16,10 +16,12 @@ import java.util.zip.ZipFile; public class MainActivity extends android.app.NativeActivity { - private static final String LOGTAG="servo_wrapper"; + private static final String LOGTAG="ServoWrapper"; static { Log.i(LOGTAG, "Loading the NativeActivity"); + // libmain.so contains all of Servo native code with the injected glue. System.loadLibrary("main"); + Log.i(LOGTAG, "libmain.so loaded"); } private void set_url(String url) { diff --git a/support/android/build-apk/src/main.rs b/support/android/build-apk/src/main.rs index e836eb859ce..10a140540ff 100644 --- a/support/android/build-apk/src/main.rs +++ b/support/android/build-apk/src/main.rs @@ -72,11 +72,11 @@ fn main() { } let ndkcmd = Command::new(ndk_path.join("ndk-build")) - .arg("-B") - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .current_dir(directory.clone()) - .status(); + .arg("-B") + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .current_dir(directory.clone()) + .status(); if ndkcmd.is_err() || ndkcmd.unwrap().code().unwrap() != 0 { println!("Error while executing program `ndk-build`, or missing program."); process::exit(1); @@ -91,13 +91,13 @@ fn main() { // Copy over the resources let cpcmd = Command::new("cp") - .arg("-R") - .arg(&resdir) - .arg(&directory.join("assets")) - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .current_dir(directory.clone()) - .status(); + .arg("-R") + .arg(&resdir) + .arg(&directory.join("assets")) + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .current_dir(directory.clone()) + .status(); if cpcmd.is_err() || cpcmd.unwrap().code().unwrap() != 0 { println!("Error while copying files from the resources dir to the assets dir"); process::exit(1); @@ -105,18 +105,18 @@ fn main() { // Update the project let androidcmd = Command::new(sdk_path.join("tools").join("android")) - .arg("update") - .arg("project") - .arg("--name") - .arg("Servo") - .arg("--target") - .arg(&android_platform) - .arg("--path") - .arg(".") - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .current_dir(directory.clone()) - .status(); + .arg("update") + .arg("project") + .arg("--name") + .arg("Servo") + .arg("--target") + .arg(&android_platform) + .arg("--path") + .arg(".") + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .current_dir(directory.clone()) + .status(); if androidcmd.is_err() || androidcmd.unwrap().code().unwrap() != 0 { println!("Error while updating the project with the android command"); process::exit(1); @@ -129,8 +129,7 @@ fn main() { } else { antcmd.arg("release"); } - let antresult = antcmd - .stdout(Stdio::inherit()) + let antresult = antcmd.stdout(Stdio::inherit()) .stderr(Stdio::inherit()) .current_dir(directory.clone()) .status(); @@ -143,73 +142,72 @@ fn main() { // Release builds also need to be signed. For now, we use a simple debug // signing key. if debug { - fs::copy(&directory.join("bin").join("Servo-debug.apk"), - &args.output).unwrap(); + fs::copy(&directory.join("bin").join("Servo-debug.apk"), &args.output).unwrap(); } else { let keystore_dir = env::home_dir().expect("Please have a home directory"); let keystore_dir = Path::new(&keystore_dir).join(".keystore"); let keytoolcmd = Command::new("keytool") - .arg("-list") - .arg("-storepass") - .arg("android") - .arg("-alias") - .arg("androiddebugkey") - .arg("-keystore") - .arg(&keystore_dir) - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .current_dir(directory.clone()) - .status(); + .arg("-list") + .arg("-storepass") + .arg("android") + .arg("-alias") + .arg("androiddebugkey") + .arg("-keystore") + .arg(&keystore_dir) + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .current_dir(directory.clone()) + .status(); if keytoolcmd.is_err() || keytoolcmd.unwrap().code().unwrap() != 0 { let keytoolcreatecmd = Command::new("keytool") - .arg("-genkeypair") - .arg("-keystore") - .arg(&keystore_dir) - .arg("-storepass") - .arg("android") - .arg("-alias") - .arg("androiddebugkey") - .arg("-keypass") - .arg("android") - .arg("-dname") - .arg("CN=Android Debug,O=Android,C=US") - .arg("-keyalg") - .arg("RSA") - .arg("-validity") - .arg("365") - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .current_dir(directory.clone()) - .status(); - if keytoolcreatecmd.is_err() || - keytoolcreatecmd.unwrap().code().unwrap() != 0 { - println!("Error while using `keytool` to create the debug keystore."); - process::exit(1); - } + .arg("-genkeypair") + .arg("-keystore") + .arg(&keystore_dir) + .arg("-storepass") + .arg("android") + .arg("-alias") + .arg("androiddebugkey") + .arg("-keypass") + .arg("android") + .arg("-dname") + .arg("CN=Android Debug,O=Android,C=US") + .arg("-keyalg") + .arg("RSA") + .arg("-validity") + .arg("365") + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .current_dir(directory.clone()) + .status(); + if keytoolcreatecmd.is_err() || keytoolcreatecmd.unwrap().code().unwrap() != 0 { + println!("Error while using `keytool` to create the debug keystore."); + process::exit(1); + } } let jarsigncmd = Command::new("jarsigner") - .arg("-digestalg") - .arg("SHA1") - .arg("-sigalg") - .arg("MD5withRSA") - .arg("-storepass") - .arg("android") - .arg("-keystore") - .arg(&keystore_dir) - .arg(&directory.join("bin").join("Servo-release-unsigned.apk")) - .arg("androiddebugkey") - .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .current_dir(directory.clone()) - .status(); + .arg("-digestalg") + .arg("SHA1") + .arg("-sigalg") + .arg("MD5withRSA") + .arg("-storepass") + .arg("android") + .arg("-keystore") + .arg(&keystore_dir) + .arg(&directory.join("bin").join("Servo-release-unsigned.apk")) + .arg("androiddebugkey") + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .current_dir(directory.clone()) + .status(); if jarsigncmd.is_err() || jarsigncmd.unwrap().code().unwrap() != 0 { println!("Error while using `jarsign` to sign the APK."); process::exit(1); } fs::copy(&directory.join("bin").join("Servo-release-unsigned.apk"), - &args.output).unwrap(); + &args.output) + .unwrap(); } } @@ -233,16 +231,16 @@ fn parse_arguments() -> (Args, Vec<String>) { loop { let arg = match args.next() { - None => return ( - Args { + None => { + return (Args { output: result_output.expect("Could not find -o argument"), root_path: result_root_path.expect("Could not find -r enlistment root argument"), target_path: result_target_path.expect("Could not find -t target path argument"), shared_libraries: result_shared_libraries, }, - result_passthrough - ), - Some(arg) => arg + result_passthrough) + }, + Some(arg) => arg, }; match &*arg { @@ -250,12 +248,12 @@ fn parse_arguments() -> (Args, Vec<String>) { result_output = Some(PathBuf::from(args.next().expect("-o must be followed by the output name"))); }, "-r" => { - result_root_path = - Some(PathBuf::from(args.next().expect("-r must be followed by the enlistment root directory"))); + result_root_path = Some(PathBuf::from(args.next() + .expect("-r must be followed by the enlistment root directory"))); }, "-t" => { - result_target_path = - Some(PathBuf::from(args.next().expect("-t must be followed by the target output directory"))); + result_target_path = Some(PathBuf::from(args.next() + .expect("-t must be followed by the target output directory"))); }, "-l" => { let name = args.next().expect("-l must be followed by a library name"); @@ -264,13 +262,13 @@ fn parse_arguments() -> (Args, Vec<String>) { // Also pass these through. result_passthrough.push(arg); result_passthrough.push(name); - } + }, _ => { if arg.starts_with("-l") { result_shared_libraries.insert(vec!["lib", &arg[2..], ".so"].concat()); } result_passthrough.push(arg) - } + }, }; } } @@ -287,15 +285,13 @@ fn find_native_libs(args: &Args) -> HashMap<String, PathBuf> { (Some(file_name), Some(extension)) => { let file_name = file_name.to_str().unwrap(); - if file_name.starts_with("lib") && - extension == "so" && - args.shared_libraries.contains(file_name) { - println!("Adding the file {:?}", file_name); - native_shared_libs.insert(file_name.to_string(), path.to_path_buf().clone()); - break; + if file_name.starts_with("lib") && extension == "so" && args.shared_libraries.contains(file_name) { + println!("Adding the file {:?}", file_name); + native_shared_libs.insert(file_name.to_string(), path.to_path_buf().clone()); + break; } - } - _ => {} + }, + _ => {}, } } diff --git a/tests/compiletest/plugin/Cargo.toml b/tests/compiletest/plugin/Cargo.toml index 86d715a8186..cf5ba72cc44 100644 --- a/tests/compiletest/plugin/Cargo.toml +++ b/tests/compiletest/plugin/Cargo.toml @@ -12,5 +12,5 @@ doctest = false [dependencies] compiletest_helper = {path = "../helper"} deny_public_fields = {path = "../../../components/deny_public_fields"} -plugins = {path = "../../../components/plugins"} script = {path = "../../../components/script"} +script_plugins = {path = "../../../components/script_plugins"} diff --git a/tests/compiletest/plugin/compile-fail/ban-domrefcell.rs b/tests/compiletest/plugin/compile-fail/ban-domrefcell.rs index e68c3b9bc9b..a5953590d69 100644 --- a/tests/compiletest/plugin/compile-fail/ban-domrefcell.rs +++ b/tests/compiletest/plugin/compile-fail/ban-domrefcell.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #![feature(plugin)] -#![plugin(plugins)] +#![plugin(script_plugins)] extern crate script; diff --git a/tests/compiletest/plugin/compile-fail/ban.rs b/tests/compiletest/plugin/compile-fail/ban.rs index ebcedffce31..3979173f1fe 100644 --- a/tests/compiletest/plugin/compile-fail/ban.rs +++ b/tests/compiletest/plugin/compile-fail/ban.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #![feature(plugin)] -#![plugin(plugins)] +#![plugin(script_plugins)] extern crate js; diff --git a/tests/compiletest/plugin/compile-fail/trustedpromise_mustnot_deriveclone.rs b/tests/compiletest/plugin/compile-fail/trustedpromise_mustnot_deriveclone.rs index 08d684d4e4a..14ef7bbaa0d 100644 --- a/tests/compiletest/plugin/compile-fail/trustedpromise_mustnot_deriveclone.rs +++ b/tests/compiletest/plugin/compile-fail/trustedpromise_mustnot_deriveclone.rs @@ -2,9 +2,6 @@ * 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/. */ -#![feature(plugin)] -#![plugin(plugins)] - extern crate script; use script::test::TrustedPromise; diff --git a/tests/compiletest/plugin/compile-fail/unrooted_must_root.rs b/tests/compiletest/plugin/compile-fail/unrooted_must_root.rs index f9b6d29dbee..5fd1960d074 100644 --- a/tests/compiletest/plugin/compile-fail/unrooted_must_root.rs +++ b/tests/compiletest/plugin/compile-fail/unrooted_must_root.rs @@ -2,9 +2,9 @@ * 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/. */ -#![feature(plugin)] -#![plugin(plugins)] #![allow(dead_code)] +#![feature(plugin)] +#![plugin(script_plugins)] #[must_root] struct Foo { diff --git a/tests/unit/gfx/Cargo.toml b/tests/unit/gfx/Cargo.toml index 87075b177e1..f6a5c4605b6 100644 --- a/tests/unit/gfx/Cargo.toml +++ b/tests/unit/gfx/Cargo.toml @@ -11,5 +11,5 @@ doctest = false [dependencies] gfx = {path = "../../../components/gfx"} -ipc-channel = "0.5" +ipc-channel = "0.7" style = {path = "../../../components/style"} diff --git a/tests/unit/net/Cargo.toml b/tests/unit/net/Cargo.toml index ea7916b89ef..ab0dacff885 100644 --- a/tests/unit/net/Cargo.toml +++ b/tests/unit/net/Cargo.toml @@ -10,13 +10,13 @@ path = "lib.rs" doctest = false [dependencies] -content-blocker = "0.2.1" +content-blocker = "0.2.3" cookie = "0.2" devtools_traits = {path = "../../../components/devtools_traits"} flate2 = "0.2.0" hyper = "0.9.9" -hyper_serde = "0.1.4" -ipc-channel = "0.5" +hyper_serde = "0.5" +ipc-channel = "0.7" msg = {path = "../../../components/msg"} net = {path = "../../../components/net"} net_traits = {path = "../../../components/net_traits"} diff --git a/tests/unit/profile/Cargo.toml b/tests/unit/profile/Cargo.toml index 515a0a2fa17..31091053c9b 100644 --- a/tests/unit/profile/Cargo.toml +++ b/tests/unit/profile/Cargo.toml @@ -10,6 +10,6 @@ path = "lib.rs" doctest = false [dependencies] +ipc-channel = "0.7" profile = {path = "../../../components/profile"} profile_traits = {path = "../../../components/profile_traits"} -ipc-channel = "0.5" diff --git a/tests/unit/script/Cargo.toml b/tests/unit/script/Cargo.toml index 2167ffd3faa..b3410706376 100644 --- a/tests/unit/script/Cargo.toml +++ b/tests/unit/script/Cargo.toml @@ -10,7 +10,7 @@ path = "lib.rs" doctest = false [dependencies] -euclid = "0.10.2" +euclid = "0.11" msg = {path = "../../../components/msg"} plugins = {path = "../../../components/plugins"} script = {path = "../../../components/script"} diff --git a/tests/unit/style/Cargo.toml b/tests/unit/style/Cargo.toml index 3a1bf592945..6d300846b7c 100644 --- a/tests/unit/style/Cargo.toml +++ b/tests/unit/style/Cargo.toml @@ -13,10 +13,10 @@ doctest = false testing = ["style/testing"] [dependencies] -app_units = "0.3" -cssparser = {version = "0.9", features = ["heap_size"]} -euclid = "0.10.1" -html5ever-atoms = "0.1" +app_units = "0.4" +cssparser = {version = "0.10", features = ["heapsize"]} +euclid = "0.11" +html5ever-atoms = "0.2" matches = "0.1" owning_ref = "0.2.2" parking_lot = "0.3" diff --git a/tests/unit/stylo/Cargo.toml b/tests/unit/stylo/Cargo.toml index 53590c81baa..ea6761f7f00 100644 --- a/tests/unit/stylo/Cargo.toml +++ b/tests/unit/stylo/Cargo.toml @@ -12,11 +12,11 @@ path = "lib.rs" doctest = false [dependencies] -app_units = "0.3" +app_units = "0.4" atomic_refcell = "0.1" -cssparser = "0.9" +cssparser = "0.10" env_logger = "0.4" -euclid = "0.10.1" +euclid = "0.11" lazy_static = "0.2" libc = "0.2" log = {version = "0.3.5", features = ["release_max_level_info"]} diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 22bf80f6bd8..8d94376b643 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -175595,7 +175595,7 @@ "testharness" ], "html/semantics/forms/the-select-element/selected-index.html": [ - "3ab30abb683f3fb42b6fdc84555126379d472a3d", + "0753a7487a10bde3b879d4c2ed10ba3d0260a48a", "testharness" ], "html/semantics/forms/the-textarea-element/.gitkeep": [ diff --git a/tests/wpt/metadata/XMLHttpRequest/getresponseheader-case-insensitive.htm.ini b/tests/wpt/metadata/XMLHttpRequest/getresponseheader-case-insensitive.htm.ini deleted file mode 100644 index 94ebf5fd6da..00000000000 --- a/tests/wpt/metadata/XMLHttpRequest/getresponseheader-case-insensitive.htm.ini +++ /dev/null @@ -1,5 +0,0 @@ -[getresponseheader-case-insensitive.htm] - type: testharness - [XMLHttpRequest: getResponseHeader() case-insensitive matching] - expected: FAIL - diff --git a/tests/wpt/metadata/cors/response-headers.htm.ini b/tests/wpt/metadata/cors/response-headers.htm.ini deleted file mode 100644 index 46c5d996971..00000000000 --- a/tests/wpt/metadata/cors/response-headers.htm.ini +++ /dev/null @@ -1,11 +0,0 @@ -[response-headers.htm] - type: testharness - [getResponseHeader: Expose Access-Control-Expose-Headers (x-custom-header-comma)] - expected: FAIL - - [getResponseHeader: Combined testing of cors response headers] - expected: FAIL - - [getResponse: don't expose x-nonexposed] - expected: FAIL - diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index e7f2a58aca8..0ad2a61033a 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -720,18 +720,12 @@ [HTMLCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError] expected: FAIL - [HTMLOptionsCollection interface: attribute selectedIndex] - expected: FAIL - [HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add" with the proper type (3)] expected: FAIL [HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove" with the proper type (4)] expected: FAIL - [HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type (5)] - expected: FAIL - [HTMLPropertiesCollection interface: existence and properties of interface object] expected: FAIL @@ -9723,9 +9717,6 @@ [Navigator interface: window.navigator must inherit property "hardwareConcurrency" with the proper type (22)] expected: FAIL - [HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type (4)] - expected: FAIL - [HTMLEmbedElement interface: document.createElement("embed") must inherit property "align" with the proper type (5)] expected: FAIL diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index c73fdd4a390..62275196fbf 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -12721,6 +12721,14 @@ {} ] ], + "mozilla/cross-origin-objects/cross-origin-objects.html": [ + [ + "/_mozilla/mozilla/cross-origin-objects/cross-origin-objects.html", + { + "timeout": "long" + } + ] + ], "mozilla/deterministic-raf.html": [ [ "/_mozilla/mozilla/deterministic-raf.html", @@ -13261,6 +13269,12 @@ {} ] ], + "mozilla/mql_borrow.html": [ + [ + "/_mozilla/mozilla/mql_borrow.html", + {} + ] + ], "mozilla/navigator.html": [ [ "/_mozilla/mozilla/navigator.html", @@ -13321,6 +13335,12 @@ {} ] ], + "mozilla/non-invertible-transform.html": [ + [ + "/_mozilla/mozilla/non-invertible-transform.html", + {} + ] + ], "mozilla/out-of-order-stylesheet-loads-and-imports.html": [ [ "/_mozilla/mozilla/out-of-order-stylesheet-loads-and-imports.html", @@ -25350,6 +25370,10 @@ "f1029d519aa7017a1a3d18a891a0774b9a39f847", "testharness" ], + "mozilla/cross-origin-objects/cross-origin-objects.html": [ + "5d5a3ba4099dfabddbed1ea98ad8fe1f5c00a3d3", + "testharness" + ], "mozilla/details_ui_closed.html": [ "2acbe3afbec267bad4dd986803e636740a707507", "reftest" @@ -25842,6 +25866,10 @@ "5513229f79ab37de67eb4d60ea9dd23cd31d133f", "support" ], + "mozilla/mql_borrow.html": [ + "f8f9adebe09f9473a52e5ec4f075540b10b32d7e", + "testharness" + ], "mozilla/navigator.html": [ "939f453fecfb28a36cb93057382b56439b00b136", "testharness" @@ -25886,6 +25914,10 @@ "fe965e58fdcb78d08384a9fde74c982e34768745", "testharness" ], + "mozilla/non-invertible-transform.html": [ + "6fa68fe08c9dd5d594e838da51617951193fee19", + "testharness" + ], "mozilla/out-of-order-stylesheet-loads-and-imports.html": [ "462f5b6a1f47e0e40ad407ccd13b3058176d106d", "testharness" diff --git a/tests/wpt/mozilla/meta/mozilla/cross-origin-objects/cross-origin-objects.html.ini b/tests/wpt/mozilla/meta/mozilla/cross-origin-objects/cross-origin-objects.html.ini new file mode 100644 index 00000000000..6c0df60a409 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/cross-origin-objects/cross-origin-objects.html.ini @@ -0,0 +1,5 @@ +[cross-origin-objects.html] + type: testharness + + [Parentage of cross-origin windows] + expected: FAIL diff --git a/tests/wpt/mozilla/tests/mozilla/cross-origin-objects/cross-origin-objects.html b/tests/wpt/mozilla/tests/mozilla/cross-origin-objects/cross-origin-objects.html new file mode 100644 index 00000000000..d7b0e0da1ac --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/cross-origin-objects/cross-origin-objects.html @@ -0,0 +1,118 @@ +<!doctype html> +<meta charset=utf-8> +<meta name="timeout" content="long"> +<title>Cross-origin behavior of Window and Location</title> +<link rel="author" title="Bobby Holley (:bholley)" href="bobbyholley@gmail.com"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#security-window"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#security-location"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<script> + +/* + * This is a stripped down version of + * /html/browsers/origin/cross-origin-objects/cross-origin-objects.html, + * which runs the tests in a dissimilar-origin iframe. + * This is a temporary work-around until the web-platform-tests supports + * more than one domain. + */ + +var UrlB = "/common/blank.html"; +var UrlC = "http://127.0.0.1:8000/common/blank.html"; + +/* + * Parentage + */ + +async_test(function(t) { + var IframeB = document.createElement("iframe"); + var IframeC = document.createElement("iframe"); + var B = null; + var C = null; + IframeC.onload = t.step_func(function() { + if (!B || !C) { + B = IframeB.contentWindow; + C = IframeC.contentWindow; + IframeB.src = UrlB; + IframeC.src = UrlC; + } else { + assert_equals(B.parent, window, "window.parent works same-origin"); + assert_equals(C.parent, window, "window.parent works cross-origin"); + assert_equals(B.top, window, "window.top works same-origin"); + assert_equals(C.top, window, "window.top works cross-origin"); + t.done(); + } + }); + document.body.appendChild(IframeB); + document.body.appendChild(IframeC); +},"Parentage of cross-origin windows"); + +/* + * Whitelist behavior. + * + * Also tests for [[GetOwnProperty]] and [[HasOwnProperty]] behavior. + */ + +var whitelistedWindowIndices = ['0', '1']; +var whitelistedWindowPropNames = ['location', 'postMessage', 'window', 'frames', 'self', 'top', 'parent', + 'opener', 'closed', 'close', 'blur', 'focus', 'length']; +whitelistedWindowPropNames = whitelistedWindowPropNames.concat(whitelistedWindowIndices); +whitelistedWindowPropNames.sort(); +var whitelistedLocationPropNames = ['href', 'replace']; +whitelistedLocationPropNames.sort(); +var whitelistedSymbols = [Symbol.toStringTag, Symbol.hasInstance, + Symbol.isConcatSpreadable]; +var whitelistedWindowProps = whitelistedWindowPropNames.concat(whitelistedSymbols); + +async_test(function(t) { + var IframeB = document.createElement("iframe"); + var IframeC = document.createElement("iframe"); + var B = null; + var C = null; + IframeC.onload = t.step_func(function() { + if (!B || !C) { + B = IframeB.contentWindow; + C = IframeC.contentWindow; + IframeB.src = UrlB; + IframeC.src = UrlC; + } else { + for (var prop in window) { + if (whitelistedWindowProps.indexOf(prop) != -1) { + C[prop]; // Shouldn't throw. + Object.getOwnPropertyDescriptor(C, prop); // Shouldn't throw. + assert_true(Object.prototype.hasOwnProperty.call(C, prop), "hasOwnProperty for " + String(prop)); + } else { + assert_throws("SecurityError", function() { C[prop]; }, "Should throw when accessing " + String(prop) + " on Window"); + assert_throws("SecurityError", function() { Object.getOwnPropertyDescriptor(C, prop); }, + "Should throw when accessing property descriptor for " + prop + " on Window"); + assert_throws("SecurityError", function() { Object.prototype.hasOwnProperty.call(C, prop); }, + "Should throw when invoking hasOwnProperty for " + prop + " on Window"); + } + if (prop != 'location') + assert_throws("SecurityError", function() { C[prop] = undefined; }, "Should throw when writing to " + prop + " on Window"); + } + for (var prop in location) { + if (prop == 'replace') { + C.location[prop]; // Shouldn't throw. + Object.getOwnPropertyDescriptor(C.location, prop); // Shouldn't throw. + assert_true(Object.prototype.hasOwnProperty.call(C.location, prop), "hasOwnProperty for " + prop); + } + else { + assert_throws("SecurityError", function() { C[prop]; }, "Should throw when accessing " + prop + " on Location"); + assert_throws("SecurityError", function() { Object.getOwnPropertyDescriptor(C, prop); }, + "Should throw when accessing property descriptor for " + prop + " on Location"); + assert_throws("SecurityError", function() { Object.prototype.hasOwnProperty.call(C, prop); }, + "Should throw when invoking hasOwnProperty for " + prop + " on Location"); + } + if (prop != 'href') + assert_throws("SecurityError", function() { C[prop] = undefined; }, "Should throw when writing to " + prop + " on Location"); + } + t.done(); + } + }); + document.body.appendChild(IframeB); + document.body.appendChild(IframeC); +}, "Only whitelisted properties are accessible cross-origin"); + +</script> diff --git a/tests/wpt/mozilla/tests/mozilla/mql_borrow.html b/tests/wpt/mozilla/tests/mozilla/mql_borrow.html new file mode 100644 index 00000000000..17ee0dc48a3 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/mql_borrow.html @@ -0,0 +1,29 @@ +<html> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +<body> + <iframe id="frame" height="600" width="600"> +</iframe> +</body> +<script> + // Test to make sure matchMedia can be suitably used inside MediaQueryList listeners without any error in borrowing + // mql references + var test = async_test("Using matchMedia inside of a MediaQueryList callback does not panic"); + var frame=document.getElementById("frame"); + var win=frame.contentWindow; + var match1 = win.matchMedia("(min-width: 400px)"); + match1.addListener(test.step_func(function() { + var match2 = win.matchMedia("(orientation: landscape)"); + assert_not_equals(match2, undefined); + match2.addListener(test.step_func_done(function() { + var match3 = win.matchMedia("(orientation: portrait)"); + assert_not_equals(match3, undefined); + })); + // Resizing frame to trigger match2 listener + frame.height=600; + frame.width=400; + })); + + </script> + +</html> diff --git a/tests/wpt/mozilla/tests/mozilla/non-invertible-transform.html b/tests/wpt/mozilla/tests/mozilla/non-invertible-transform.html new file mode 100644 index 00000000000..f03c9c01344 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/non-invertible-transform.html @@ -0,0 +1,26 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>Shouldn't panic when transform is non-invertible</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <style> + #test { + width: 100px; + height: 100px; + transform: scale(0); + } + </style> +</head> +<body> +<div id="test"></div> +<script> + async_test(function(t) { + setTimeout(t.step_func_done(function() { + var elements = document.elementsFromPoint(10, 10); + }), 500); + }, "Shouldn't panic when transform is non-invertible"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/selected-index.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/selected-index.html index 1be5378cdf4..6c30698a8ae 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/selected-index.html +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/selected-index.html @@ -28,46 +28,76 @@ </form> <script> +function assertSelectedIndex(select, value) { + assert_equals(select.selectedIndex, value); + assert_equals(select.options.selectedIndex, value); +} + test(function () { var select = document.getElementById('empty'); - assert_equals(select.selectedIndex, -1); + assertSelectedIndex(select, -1); }, "get empty"); test(function () { var select = document.getElementById('default'); - assert_equals(select.selectedIndex, 0); + assertSelectedIndex(select, 0); }, "get default"); test(function () { var select = document.getElementById('disabled'); - assert_equals(select.selectedIndex, 1); + assertSelectedIndex(select, 1); }, "get disabled"); test(function () { var select = document.getElementById('selected'); - assert_equals(select.selectedIndex, 1); + assertSelectedIndex(select, 1); }, "get unselected"); test(function () { var select = document.getElementById('empty'); select.selectedIndex = 1; - assert_equals(select.selectedIndex, -1); -}, "set empty"); + assertSelectedIndex(select, -1); +}, "set empty (HTMLSelectElement)"); + +test(function () { + var select = document.getElementById('empty'); + select.options.selectedIndex = 1; + assertSelectedIndex(select, -1); +}, "set empty (HTMLOptionsCollection)"); test(function () { var select = document.getElementById('default'); - assert_equals(select.selectedIndex, 0); + assertSelectedIndex(select, 0); select.selectedIndex = 2; - assert_equals(select.selectedIndex, 2); -}, "set"); + assertSelectedIndex(select, 2); + this.add_cleanup(() => select.selectedIndex = 0); +}, "set (HTMLSelectElement)"); + +test(function () { + var select = document.getElementById('default'); + assertSelectedIndex(select, 0); + select.options.selectedIndex = 2; + assertSelectedIndex(select, 2); + this.add_cleanup(() => select.selectedIndex = 0); +}, "set (HTMLOptionsCollection)"); test(function () { var select = document.getElementById('selected'); var form = document.getElementById('form'); - assert_equals(select.selectedIndex, 1); + assertSelectedIndex(select, 1); select.selectedIndex = 0; - assert_equals(select.selectedIndex, 0); + assertSelectedIndex(select, 0); + form.reset(); + assertSelectedIndex(select, 1); +}, "set and reset (HTMLSelectElement)"); + +test(function () { + var select = document.getElementById('selected'); + var form = document.getElementById('form'); + assertSelectedIndex(select, 1); + select.options.selectedIndex = 0; + assertSelectedIndex(select, 0); form.reset(); - assert_equals(select.selectedIndex, 1); -}, "set and reset"); + assertSelectedIndex(select, 1); +}, "set and reset (HTMLOptionsCollection)"); </script> |