mirror of
https://github.com/rust-windowing/winit.git
synced 2026-09-02 23:00:05 -04:00
Update minimum version of wasm-bindgen (#3860)
This commit is contained in:
committed by
Kirill Chibisov
parent
cf829a44e7
commit
6f22822025
105
Cargo.toml
105
Cargo.toml
@@ -291,60 +291,63 @@ xkbcommon-dl = "0.4.2"
|
|||||||
orbclient = { version = "0.3.47", default-features = false }
|
orbclient = { version = "0.3.47", default-features = false }
|
||||||
redox_syscall = "0.4.1"
|
redox_syscall = "0.4.1"
|
||||||
|
|
||||||
[target.'cfg(target_family = "wasm")'.dependencies.web_sys]
|
|
||||||
package = "web-sys"
|
|
||||||
version = "0.3.64"
|
|
||||||
features = [
|
|
||||||
'AbortController',
|
|
||||||
'AbortSignal',
|
|
||||||
'Blob',
|
|
||||||
'BlobPropertyBag',
|
|
||||||
'console',
|
|
||||||
'CssStyleDeclaration',
|
|
||||||
'Document',
|
|
||||||
'DomException',
|
|
||||||
'DomRect',
|
|
||||||
'DomRectReadOnly',
|
|
||||||
'Element',
|
|
||||||
'Event',
|
|
||||||
'EventTarget',
|
|
||||||
'FocusEvent',
|
|
||||||
'HtmlCanvasElement',
|
|
||||||
'HtmlElement',
|
|
||||||
'HtmlImageElement',
|
|
||||||
'ImageBitmap',
|
|
||||||
'ImageBitmapOptions',
|
|
||||||
'ImageBitmapRenderingContext',
|
|
||||||
'ImageData',
|
|
||||||
'IntersectionObserver',
|
|
||||||
'IntersectionObserverEntry',
|
|
||||||
'KeyboardEvent',
|
|
||||||
'MediaQueryList',
|
|
||||||
'MessageChannel',
|
|
||||||
'MessagePort',
|
|
||||||
'Navigator',
|
|
||||||
'Node',
|
|
||||||
'PageTransitionEvent',
|
|
||||||
'PointerEvent',
|
|
||||||
'PremultiplyAlpha',
|
|
||||||
'ResizeObserver',
|
|
||||||
'ResizeObserverBoxOptions',
|
|
||||||
'ResizeObserverEntry',
|
|
||||||
'ResizeObserverOptions',
|
|
||||||
'ResizeObserverSize',
|
|
||||||
'VisibilityState',
|
|
||||||
'Window',
|
|
||||||
'WheelEvent',
|
|
||||||
'Worker',
|
|
||||||
'Url',
|
|
||||||
]
|
|
||||||
|
|
||||||
[target.'cfg(target_family = "wasm")'.dependencies]
|
[target.'cfg(target_family = "wasm")'.dependencies]
|
||||||
js-sys = "0.3.64"
|
js-sys = "0.3.70"
|
||||||
pin-project = "1"
|
pin-project = "1"
|
||||||
wasm-bindgen = "0.2"
|
wasm-bindgen = "0.2.93"
|
||||||
wasm-bindgen-futures = "0.4"
|
wasm-bindgen-futures = "0.4.43"
|
||||||
web-time = "1"
|
web-time = "1"
|
||||||
|
web_sys = { package = "web-sys", version = "0.3.70", features = [
|
||||||
|
"AbortController",
|
||||||
|
"AbortSignal",
|
||||||
|
"Blob",
|
||||||
|
"BlobPropertyBag",
|
||||||
|
"console",
|
||||||
|
"CssStyleDeclaration",
|
||||||
|
"Document",
|
||||||
|
"DomException",
|
||||||
|
"DomRect",
|
||||||
|
"DomRectReadOnly",
|
||||||
|
"Element",
|
||||||
|
"Event",
|
||||||
|
"EventTarget",
|
||||||
|
"FocusEvent",
|
||||||
|
"HtmlCanvasElement",
|
||||||
|
"HtmlElement",
|
||||||
|
"HtmlImageElement",
|
||||||
|
"ImageBitmap",
|
||||||
|
"ImageBitmapOptions",
|
||||||
|
"ImageBitmapRenderingContext",
|
||||||
|
"ImageData",
|
||||||
|
"IntersectionObserver",
|
||||||
|
"IntersectionObserverEntry",
|
||||||
|
"KeyboardEvent",
|
||||||
|
"MediaQueryList",
|
||||||
|
"MessageChannel",
|
||||||
|
"MessagePort",
|
||||||
|
"Navigator",
|
||||||
|
"Node",
|
||||||
|
"OrientationLockType",
|
||||||
|
"OrientationType",
|
||||||
|
"PageTransitionEvent",
|
||||||
|
"Permissions",
|
||||||
|
"PermissionState",
|
||||||
|
"PermissionStatus",
|
||||||
|
"PointerEvent",
|
||||||
|
"PremultiplyAlpha",
|
||||||
|
"ResizeObserver",
|
||||||
|
"ResizeObserverBoxOptions",
|
||||||
|
"ResizeObserverEntry",
|
||||||
|
"ResizeObserverOptions",
|
||||||
|
"ResizeObserverSize",
|
||||||
|
"Screen",
|
||||||
|
"ScreenOrientation",
|
||||||
|
"Url",
|
||||||
|
"VisibilityState",
|
||||||
|
"WheelEvent",
|
||||||
|
"Window",
|
||||||
|
"Worker",
|
||||||
|
] }
|
||||||
|
|
||||||
[target.'cfg(all(target_family = "wasm", target_feature = "atomics"))'.dependencies]
|
[target.'cfg(all(target_family = "wasm", target_feature = "atomics"))'.dependencies]
|
||||||
atomic-waker = "1"
|
atomic-waker = "1"
|
||||||
|
|||||||
13
deny.toml
13
deny.toml
@@ -57,19 +57,6 @@ crate = "android-activity"
|
|||||||
allow-globs = ["freetype2/*"]
|
allow-globs = ["freetype2/*"]
|
||||||
crate = "freetype-sys"
|
crate = "freetype-sys"
|
||||||
|
|
||||||
[[bans.build.bypass]]
|
|
||||||
allow = [
|
|
||||||
{ path = "releases/friends.sh", checksum = "f896ccdcb8445d29ed6dd0d9a360f94d4f33af2f1cc9965e7bb38b156c45949d" },
|
|
||||||
]
|
|
||||||
crate = "wasm-bindgen"
|
|
||||||
|
|
||||||
[[bans.build.bypass]]
|
|
||||||
allow = [
|
|
||||||
{ path = "ui-tests/update-all-references.sh", checksum = "8b8dbf31e7ada1314956db7a20ab14b13af3ae246a6295afdc7dc96af8ec3773" },
|
|
||||||
{ path = "ui-tests/update-references.sh", checksum = "65375c25981646e08e8589449a06be4505b1a2c9e10d35f650be4b1b495dff22" },
|
|
||||||
]
|
|
||||||
crate = "wasm-bindgen-macro"
|
|
||||||
|
|
||||||
[[bans.build.bypass]]
|
[[bans.build.bypass]]
|
||||||
allow-globs = ["lib/*.a"]
|
allow-globs = ["lib/*.a"]
|
||||||
crate = "windows_i686_gnu"
|
crate = "windows_i686_gnu"
|
||||||
|
|||||||
@@ -542,8 +542,8 @@ fn from_rgba(
|
|||||||
//
|
//
|
||||||
// We call `createImageBitmap()` before spawning the future,
|
// We call `createImageBitmap()` before spawning the future,
|
||||||
// to not have to clone the image buffer.
|
// to not have to clone the image buffer.
|
||||||
let mut options = ImageBitmapOptions::new();
|
let options = ImageBitmapOptions::new();
|
||||||
options.premultiply_alpha(PremultiplyAlpha::None);
|
options.set_premultiply_alpha(PremultiplyAlpha::None);
|
||||||
let bitmap = JsFuture::from(
|
let bitmap = JsFuture::from(
|
||||||
window
|
window
|
||||||
.create_image_bitmap_with_image_data_and_image_bitmap_options(&image_data, &options)
|
.create_image_bitmap_with_image_data_and_image_bitmap_options(&image_data, &options)
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
use std::cell::{Cell, RefCell};
|
||||||
|
use std::collections::{HashSet, VecDeque};
|
||||||
|
use std::iter;
|
||||||
|
use std::num::NonZeroUsize;
|
||||||
|
use std::ops::Deref;
|
||||||
|
use std::rc::{Rc, Weak};
|
||||||
|
|
||||||
|
use wasm_bindgen::prelude::Closure;
|
||||||
|
use wasm_bindgen::JsCast;
|
||||||
|
use web_sys::{Document, KeyboardEvent, PageTransitionEvent, PointerEvent, WheelEvent};
|
||||||
|
use web_time::{Duration, Instant};
|
||||||
|
|
||||||
use super::super::main_thread::MainThreadMarker;
|
use super::super::main_thread::MainThreadMarker;
|
||||||
use super::super::DeviceId;
|
use super::super::DeviceId;
|
||||||
use super::backend;
|
use super::backend;
|
||||||
@@ -14,18 +26,6 @@ use crate::platform_impl::platform::r#async::{DispatchRunner, Waker, WakerSpawne
|
|||||||
use crate::platform_impl::platform::window::Inner;
|
use crate::platform_impl::platform::window::Inner;
|
||||||
use crate::window::WindowId;
|
use crate::window::WindowId;
|
||||||
|
|
||||||
use js_sys::Function;
|
|
||||||
use std::cell::{Cell, RefCell};
|
|
||||||
use std::collections::{HashSet, VecDeque};
|
|
||||||
use std::iter;
|
|
||||||
use std::num::NonZeroUsize;
|
|
||||||
use std::ops::Deref;
|
|
||||||
use std::rc::{Rc, Weak};
|
|
||||||
use wasm_bindgen::prelude::{wasm_bindgen, Closure};
|
|
||||||
use wasm_bindgen::JsCast;
|
|
||||||
use web_sys::{Document, KeyboardEvent, PageTransitionEvent, PointerEvent, WheelEvent};
|
|
||||||
use web_time::{Duration, Instant};
|
|
||||||
|
|
||||||
pub struct Shared(Rc<Execution>);
|
pub struct Shared(Rc<Execution>);
|
||||||
|
|
||||||
pub(super) type EventHandler = dyn FnMut(Event<()>);
|
pub(super) type EventHandler = dyn FnMut(Event<()>);
|
||||||
@@ -459,19 +459,11 @@ impl Shared {
|
|||||||
|
|
||||||
if local {
|
if local {
|
||||||
// If the loop is not running and triggered locally, queue on next microtick.
|
// If the loop is not running and triggered locally, queue on next microtick.
|
||||||
if let Ok(RunnerEnum::Running(ref runner)) =
|
if let Ok(RunnerEnum::Running(_)) =
|
||||||
self.0.runner.try_borrow().as_ref().map(Deref::deref)
|
self.0.runner.try_borrow().as_ref().map(Deref::deref)
|
||||||
{
|
{
|
||||||
// If we're currently polling let `send_events` do its job.
|
self.window().queue_microtask(
|
||||||
if !matches!(runner.state, State::Poll { .. }) {
|
&Closure::once_into_js({
|
||||||
#[wasm_bindgen]
|
|
||||||
extern "C" {
|
|
||||||
#[wasm_bindgen(js_name = queueMicrotask)]
|
|
||||||
fn queue_microtask(task: Function);
|
|
||||||
}
|
|
||||||
|
|
||||||
queue_microtask(
|
|
||||||
Closure::once_into_js({
|
|
||||||
let this = Rc::downgrade(&self.0);
|
let this = Rc::downgrade(&self.0);
|
||||||
move || {
|
move || {
|
||||||
if let Some(shared) = this.upgrade() {
|
if let Some(shared) = this.upgrade() {
|
||||||
@@ -487,7 +479,6 @@ impl Shared {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
self.send_events(iter::repeat(Event::UserEvent(())).take(count.get()))
|
self.send_events(iter::repeat(Event::UserEvent(())).take(count.get()))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,10 +139,9 @@ impl ResizeScaleInternal {
|
|||||||
|
|
||||||
// Safari doesn't support `devicePixelContentBoxSize`
|
// Safari doesn't support `devicePixelContentBoxSize`
|
||||||
if has_device_pixel_support() {
|
if has_device_pixel_support() {
|
||||||
observer.observe_with_options(
|
let options = ResizeObserverOptions::new();
|
||||||
canvas,
|
options.set_box(ResizeObserverBoxOptions::DevicePixelContentBox);
|
||||||
ResizeObserverOptions::new().box_(ResizeObserverBoxOptions::DevicePixelContentBox),
|
observer.observe_with_options(canvas, &options);
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
observer.observe(canvas);
|
observer.observe(canvas);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -286,8 +286,8 @@ struct ScriptUrl(String);
|
|||||||
impl ScriptUrl {
|
impl ScriptUrl {
|
||||||
fn new(script: &str) -> Self {
|
fn new(script: &str) -> Self {
|
||||||
let sequence = Array::of1(&script.into());
|
let sequence = Array::of1(&script.into());
|
||||||
let mut property = BlobPropertyBag::new();
|
let property = BlobPropertyBag::new();
|
||||||
property.type_("text/javascript");
|
property.set_type("text/javascript");
|
||||||
let blob = Blob::new_with_str_sequence_and_options(&sequence, &property)
|
let blob = Blob::new_with_str_sequence_and_options(&sequence, &property)
|
||||||
.expect("`new Blob()` should never throw");
|
.expect("`new Blob()` should never throw");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user