1620 Commits

Author SHA1 Message Date
Pauan
7bc9147258
Improving the code generation for catch (#2098)
* Improving the code generation for catch

* Fixing newlines

* Running rustfmt

* Updating unit tests

* Fixing build error
2020-04-22 09:14:00 -05:00
Pauan
a93b778b5c
Fixing bug with Firefox extension content scripts (#2099) 2020-04-22 09:12:14 -05:00
a1trl9
3c40492fa3
exhausively match JSImportName (#2090) 2020-04-20 09:10:33 -05:00
Josh Groves
4900732f60
Add setBindGroup to immutable slice whitelist (#2087) 2020-04-17 10:08:35 -05:00
a1trl9
ad85de50c6
try to fix global / modulaized import ns conflict (#2057)
* use global import map for rename

* fix same ns import

* cargo fmt

* add basic test

* move generate_identifier, add comments, add tests

* remove leading &mut

* remove unnecessary bail

* use import_name for global and some refine

* Add back in error handling, clean up instruction iteration

* Remove unnecessary patch statements

Co-authored-by: Alex Crichton <alex@alexcrichton.com>
2020-04-15 08:28:29 -05:00
0xd4d
826538922f
Copy more doc comments to JS/TS files, unescape comments (#2070)
* Copy more doc comments to JS/TS files, unescape comments

* Move unescape code to macro-support
2020-04-13 13:51:32 -05:00
Josh Groves
fc86589715
Update to latest WebGPU WebIDL (#2080) 2020-04-13 09:30:37 -05:00
0xd4d
2b128288c7
Add ability to rename enums (js_name = new_name) (#2071)
* Add ability to rename enums (js_name = new_name)

* Add a test
2020-04-13 09:14:41 -05:00
a1trl9
b9f78aba57
try to fix js_name error when both getter and setter used (#2074)
* try to fix js_name error when both `getter` and `setter` used

* add tests
2020-04-10 11:57:36 -05:00
Alex Crichton
a19c8a3fe0
Bump to 0.2.60 (#2051)
* Bump to 0.2.60

* Try to fix CI

* Fix CI syntax
2020-03-25 16:33:36 -05:00
kevthecoder
2b29650920
Webxrdevice (#2000)
* crates/web-sys/webidls/enabled/WebXRDevice.webidl

* Add WebXR Web IDL.

* Add WebXr example.

* Workaround in WebXR for FrozenArray and XRWebGLLayer constructor.

* Remove commented code.

* Attempt to improve WebXr example.

* Add WebXr as unstable WebIDL.

* Fixes for XRWebGLLayer.

* Tidy up WebXR example code.

* Update WebXr example docs.

Co-authored-by: Kev Kirkland <kev.kirkland@elucidata.co.uk>
2020-03-17 09:14:05 -05:00
Alex Crichton
ceac51f260 Fix a test for upstream changes 2020-03-17 07:02:50 -07:00
Pauan
5acd6a3451
Merge pull request #1986 from clearloop/master
Add typescript_type attribute
2020-03-13 03:02:06 +01:00
Ashley
8a3bdbd8ee
Allow changing the wasm-bindgen-test-runner timeout via an env variable (#2036)
* Add WASM_BINDGEN_TEST_TIMEOUT

* Formatting
2020-03-10 10:36:00 -05:00
Josh Groves
035902ab51
Update to latest WebGPU WebIDL (#2037) 2020-03-10 09:27:48 -05:00
daxpedda
5534253280
Fix undefined error in worker. (#2038) 2020-03-10 09:13:50 -05:00
clearloop
003dc45d76 add: docs for typescript_type 2020-03-04 15:32:40 +08:00
clearloop
84f5fe2c00 add: tests for typescript_type attribute 2020-03-04 14:17:53 +08:00
Pauan
7a7b412bae
Merge pull request #2029 from Pauan/fixing-typescript-emit
Fixing the TypeScript type for the init function
2020-03-04 06:40:16 +01:00
Pauan
b99ab10696 Running rustfmt 2020-03-04 06:20:58 +01:00
Pauan
5a752e5b84
Adding in typescript_type to the js_sys types (#2028) 2020-03-03 22:52:40 -06:00
Pauan
d193b2db8f Improving the TypeScript types for the init function 2020-03-04 05:23:05 +01:00
Alex Crichton
db8d3e4412
Bump to 0.2.59 (#2026)
Wow this is a big release!
2020-03-03 10:55:51 -06:00
Joey Watts
7ffb5ed70c
Add skip_typescript attribute to prevent .d.ts emit (#2016)
* Add skip_typescript attribute to prevent .d.ts emit

* Add guide page for typescript attribute
2020-03-03 09:34:28 -06:00
Pauan
3f4acc453b
Dramatically improving the build time of web-sys (#2012)
* Pre-generating web-sys

* Fixing build errors

* Minor refactor for the unit tests

* Changing to generate #[wasm_bindgen} annotations

* Fixing code generation

* Adding in main bin to wasm-bindgen-webidl

* Fixing more problems

* Adding in support for unstable APIs

* Fixing bug with code generation

* More code generation fixes

* Improving the webidl program

* Removing unnecessary cfg from the generated code

* Splitting doc comments onto separate lines

* Improving the generation for unstable features

* Adding in support for string values in enums

* Now runs rustfmt on the mod.rs file

* Fixing codegen for constructors

* Fixing webidl-tests

* Fixing build errors

* Another fix for build errors

* Renaming typescript_name to typescript_type

* Adding in docs for typescript_type

* Adding in CI script to verify that web-sys is up to date

* Fixing CI script

* Fixing CI script

* Don't suppress git diff output

* Remove duplicate definitions of `Location`

Looks to be a preexisting bug in wasm-bindgen?

* Regenerate webidl

* Try to get the git diff command right

* Handle named constructors in WebIDL

* Remove stray rustfmt.toml

* Add back NamedConstructorBar definition in tests

* Run stable rustfmt over everything

* Don't run Cargo in a build script

Instead refactor things so webidl-tests can use the Rust-code-generation
as a library in a build script. Also fixes `cargo fmt` in the
repository.

* Fixup generated code

* Running web-sys checks on stable

* Improving the code generation a little

* Running rustfmt

Co-authored-by: Alex Crichton <alex@alexcrichton.com>
2020-03-02 17:39:36 -06:00
Nikhil Benesch
eb04cf2dda
Upgrade weedle to v0.11 (#2024) 2020-03-02 15:31:02 -06:00
Alex Crichton
381660c49b
Run rustfmt and keep it running on CI (#2023)
Thought we did this awhile back, but looks like we forgot to do so!
2020-03-02 11:44:14 -06:00
Chinedu Francis Nwafili
bab83a7ff4
Whitelist send_with_u8_array slice (#2015)
* Whitelist send_with_u8_array slice

Fixes #2014

* Fix send slice

* Remove chromedriver comment

* Get slice tests running in CI
2020-03-02 09:13:15 -06:00
Ingvar Stepanyan
1e75e415b3
Fix TypedArray::subarray docs (#2021)
Looks like these were mistakenly copy-pasted from the `TypedArray::set` method.
2020-03-02 08:57:02 -06:00
Chris Johnson
93cb6cb65d
Symlink LICENSE files in crates (#2018) 2020-02-28 17:41:28 -06:00
Alex Crichton
654af576c7 Tweak some CI things for unstable APIs 2020-02-26 14:36:23 -08:00
Josh Groves
99c59a771e
[WIP] Add support for unstable WebIDL (#1997)
* Re-enable WebGPU WebIDL as experimental

* Add `web_sys_unstable_apis` attribute

* Add test for unstable WebIDL

* Include unstable WebIDL in docs.rs builds

* Add docs and doc comment for unstable APIs

* Add unstable API checks to CI
2020-02-26 16:30:11 -06:00
Ingvar Stepanyan
d26068dc6c
Propagate missing memory argument (#2011)
Fixes #2010.
2020-02-20 11:33:40 -06:00
Bennett Hardwick
ec1b9453c9
Allow web-sys to emit correct typescript declarations from webidl (#1998)
* Update to emit typescript names

* Update to use NamedAnyref

* Update incoming / outgoing

* Remove added space

* Remove comment

* Add basic typescript tests for web-sys
2020-02-19 09:14:32 -06:00
Bennett Hardwick
9d55978af5
Add webidl for Blob arraybuffer / text (#2008) 2020-02-19 09:11:01 -06:00
Richard Dodd (dodj)
7db01a7c7c
Add get/set for TypedArrays. (#2001)
* Add get/set for `TypedArray`s.

* Change names.

* Change name to @pauan suggestion.
2020-02-18 13:01:13 -06:00
clearloop
b6190700c9
Reflect optional struct fields in typescript (#1990)
* reflect option struct fields in typescript

* optional fields: move type checker to getter

* infer optional fields from ts_args
2020-02-18 09:15:37 -06:00
Pauan
156e1cb47f
Removing duplicate closure wrappers in the JS glue (#2002)
* Removing duplicate closure wrappers in the JS glue

* Fixing build error

* Adding in explanatory comment
2020-02-18 08:37:40 -06:00
Darin Morrison
673e9b7830
Add electron support via --omit-imports (#1958) 2020-02-12 09:52:59 -08:00
Pauan
ca742a84c4
Improving wasm loading logic (#1996)
* Improving wasm loading logic

* Adding in note to the book about the new loading functionality
2020-02-11 08:58:42 -08:00
Pauan
91f0dbdb28
Removing self from no-modules target (#1995) 2020-02-10 16:18:55 -06:00
Timothy McCallum
0f3c53b5a5
Create JavaScript array without using new keyword. (#1987)
* Create JavaScript array without using `new` keyword.

At present [this line of code](https://github.com/rustwasm/wasm-bindgen/blob/master/crates/cli-support/src/js/mod.rs#L747) creates the heap using JavaScript's new keyword.
```
//Line 747
self.global(&format!("const heap = new Array({});", INITIAL_HEAP_OFFSET));
self.global("heap.fill(undefined);");
```
Assuming that the `INITIAL_HEAP_OFFSET` is always 32 (because it is set as a constant in the Rust code), below is the equivalent of what this code will produce; an Array Object with 32 items which are all undefined.
```
const heap = new Array(32);
//(32) [empty × 32]
//Where
var zero_element = heap[0];
//undefined
var one_element = heap[1];
//undefined
```
I believe that this is the desired outcome for the program. All good.

### Suggestion to consider

I am always reminded **not** to use the `new` keyword. Mainly by reading or listening to JavaScript ["The Good Parts"](https://youtu.be/XFTOG895C7c?t=1654). 

For example if the `INITIAL_HEAP_OFFSET` was ever anything but one number, the heap would be created in a different way. For example if two numbers are passed in, then an array of size 2 would be created; where both items in the array are individual numbers.
```
const heap = new Array(32, 32);
var zero_element = heap[0];
var one_element = heap[1];
//32
//32
```
I know that this is highly unlikely, due to the fact that the `INITIAL_HEAP_OFFSET` is set as a `const` in the Rust. But thought that I would put out the following suggestion for consideration anyway. This comes from a place of just wanting to contribute in a way that could make this already awesome program a little better. :)

### Suggested update
The heap array could be created using the following code
```
const heap = [];
heap.length = INITIAL_HEAP_OFFSET;
heap[0]
heap[1]
//undefined
//undefined
```
This would create a JavaScript Array of length `INITIAL_HEAP_OFFSET`, where are items are `undefined`

The new code generates (in raw JavaScript)
```
const heap = [];
heap.length = 32;
```
Which produces
```
(32) [empty × 32]
```
In the same way that the original code does.

* Add closing parenthesis to close out self.global

* Adding files which were altered by the BLESS=1 system variable. Essentially updating generated files that are used for testing.

* Adding code generated wat file, by way of running tests using BLESS=1

* Adding table.wat that was generated by running the  tests with BLESS=1 set

* Update code that creates heap array line 747 mod.rs

* Updating files that are automatically generated when using BLESS=1
2020-02-06 19:00:15 -06:00
Alex Crichton
f507a2a5ff Delete failing locale_compare test
We don't necessarily need to be a list of spec tests ourselves that need
to get tweaked over time.
2020-01-27 07:12:34 -08:00
Richard Dodd (dodj)
02eace9bff Update webidl files based on (#1980)
- https://dom.spec.whatwg.org/#interface-domtokenlist
 - https://dom.spec.whatwg.org/#interface-nodelist

This is a non-breaking change as iterables are currently ignored anyway.
2020-01-27 16:06:04 +01:00
Anna Scholtz
2b0a4178bf Add getTransform() for CanvasRenderingContext2D (#1966) 2020-01-22 09:31:32 -06:00
Pauan
aed52c0e96 Removing WebGPU (#1972)
* Removing WebGPU

* Removing WebGpu features
2020-01-22 09:30:57 -06:00
Mario Reder
34eb8a8516 fix: ignore non dependency keys in package json (#1969)
resolves #1921
2020-01-21 13:04:40 -06:00
Alex Crichton
c5c7acc766
Preserve the function table explicitly (#1970)
The main gc pass of unused items in wasm-bindgen was accidentally
removing the function table because we weren't properly rooting it in
the auxiliary section which has a few ways that imports can reference
the function table via intrinsics and closures.

Closes #1967
2020-01-21 13:02:13 -06:00
Richard Dodd (dodj)
bb066e68a5 Add javascript Number consts. (#1965)
* Add javascript Number consts.

* Add tests
2020-01-21 10:14:50 -06:00
Wojciech Daniło
450c477197 Adding missing uniformMatrix bindings rules for non-square matrices. (#1957)
Fixes https://github.com/rustwasm/wasm-bindgen/issues/1956
2020-01-15 13:08:19 -06:00