Commit Graph

1660 Commits

Author SHA1 Message Date
b38b9da499 Merge pull request #846 from alexcrichton/no-modules
Remove `Module` node from the backend AST
2018-09-17 15:19:57 -07:00
6ce5e6e1dd Merge pull request #831 from alexcrichton/more-webidl-types
Add bindings for a few more "long long" types
2018-09-17 15:17:17 -07:00
4db375ba97 Merge pull request #844 from alexcrichton/dox
Clarify nightly-ness of `Closure::new`
2018-09-17 15:16:45 -07:00
9daa11592a Remove Module node from the backend AST
This is a roundabout way to say that this addresses the last comment on #23,
namely if you only use the `console` submodule from `web_sys` it doesn't
actually link correctly!

The problem here has to do with codegen units and the compiler. The compiler
will create a codegen unit for each `mod` in the source code. If a codegen unit
isn't actually used, then the codegen unit is removed from the final link step.
This causes problems for web-sys where the JSON description of our program was
part of the main CGU but not in each submodule, so when submodules were only
used the descriptor program in the main CGU was not included.

The fix in this commit is to instead generate a descriptor program in the
submodule itself instead of leaving it in the main CGU. By removing the `Module`
node in the AST this naturally happens as the descriptor is only generated in
the same module as all other associated items.
2018-09-17 13:50:26 -07:00
f230e66242 Clarify nightly-ness of Closure::new
`Closure` itself does not require nightly, only the `new` function.
2018-09-17 13:15:13 -07:00
1ee579093b Merge pull request #832 from myelin-ai/device-pixel-ratio
Add devicePixelRatio to Window
2018-09-17 10:12:43 -07:00
a897715f50 Merge pull request #838 from brisad/object-get-descriptors
Object get descriptors
2018-09-17 10:47:46 +02:00
47acbab1e2 Merge pull request #837 from afdw/master
Update weedle: use special instead of specials
2018-09-16 17:37:52 -07:00
2d91fa11b5 Add binding for Object.getOwnPropertyDescriptors() 2018-09-16 23:02:46 +02:00
b005e96fd9 Add binding for Object.getOwnPropertyDescriptor() 2018-09-16 22:55:15 +02:00
866d9e2823 Merge pull request #836 from chinedufn/api-docs
Link to API docs from README
2018-09-16 13:50:30 -07:00
61eb7df0c8 Update weedle 2018-09-16 23:39:00 +03:00
df18c4b042 Update weedle: use special instead of specials 2018-09-16 21:19:20 +03:00
54e3d87693 Fix linls 2018-09-16 08:19:18 -04:00
e1c173f05e Link to API docs from README 2018-09-16 08:12:48 -04:00
2d5d485e46 Merge pull request #833 from brisad/object-define-properties
Add binding for Object.defineProperties()
2018-09-15 22:57:41 +02:00
191e7dc1fb Add binding for Object.defineProperties() 2018-09-15 22:30:27 +02:00
170ac21473 Add devicePixelRatio attribute 2018-09-15 12:42:23 +02:00
ae60bb4ba8 Translate LongLong types to f64
Any LongLong still present after flattening now gets translated to a `f64` type
so we can bind these types. While not a true integral value or truely 64-bits of
integer precision, it's all JS has anyway!
2018-09-14 18:54:29 -07:00
941397745d Enable DOMTimeStamp as UnsignedLongLong
This is apparently how webidl defines it!
2018-09-14 18:44:38 -07:00
8da2e4dca2 Merge pull request #830 from alexcrichton/fix-web-sys-dep
Fix dependencies sections for `web-sys` in guide
2018-09-14 14:27:15 -07:00
87176b15bc Fix dependencies sections for web-sys in guide
Closes #829
2018-09-14 14:05:04 -07:00
b66d1064d0 Merge pull request #827 from joshtriplett/clean-up-generated-code
Clean up indentation and blanks in the generated --no-modules JavaScript
2018-09-14 09:28:09 -07:00
96a70c41be reset_indentation: Don't emit indentation on blank lines
This resulted in trailing whitespace in the generated file. In addition
to wasting space in a file that gets served over the wire, this also
gets highlighted as a problem when reviewing the generated file in an
editor that highlights trailing whitespace.
2018-09-13 22:13:07 -07:00
1c52fb1b2f Remove leading and trailing blanks from the --no-modules output
The output using modules already uses string formatting that carefully
avoids emitting leading and trailing blanks; adjust the --no-modules
output to match.
2018-09-13 22:10:59 -07:00
05a0a5c6a1 Merge pull request #825 from fitzgen/paint-table-of-contents
guide: Add paint example to the table of contents
2018-09-13 18:21:03 -07:00
59f551f504 Merge pull request #824 from chinedufn/travis
Change CI example to use a release binary
2018-09-13 17:01:07 -07:00
fa5551d91f guide: Add paint example to the table of contents 2018-09-13 16:36:57 -07:00
17db217fe9 Change CI example to use a releaase binary 2018-09-13 19:06:31 -04:00
dcb783741c Merge pull request #823 from afdw/master
Add a section to the guide about the Paint example
2018-09-13 15:34:05 -07:00
97fc9b64f8 Add a section to the guide about the Paint example 2018-09-14 00:46:53 +03:00
e1ea897d2f Merge pull request #820 from afdw/master
Add paint example
2018-09-12 17:52:26 -07:00
b9cc8e1270 Use Cell instead of RefCell 2018-09-13 03:38:22 +03:00
2fc499d66d Merge pull request #819 from fitzgen/webidl-interfaces-should-extend-object
webidl: All interfaces implicitly extend `Object`
2018-09-12 16:21:48 -07:00
62b04e44c4 Add paint example 2018-09-13 02:10:36 +03:00
c6ede65856 Merge pull request #818 from fitzgen/guide-wasm-bindgen-test
guide: Add documentation for testing with `wasm-bindgen-test`
2018-09-12 15:40:31 -07:00
e2e815a477 guide: Add documentation for testing with wasm-bindgen-test 2018-09-12 15:40:09 -07:00
93a510ef93 webidl: All interfaces implicitly extend Object
This information is embedded within the algorithm for constructing interfaces
and their prototypes in the section for ECMAScript glue in the WebIDL spec...

This really *should* make the `wasm_bindgen_backend::ast::ImportType::extends`
member from a `Vec<Ident>` into a `Vec<syn::Path>` so that we could use
`js_sys::Object` in the extends field, but that is a huge pain because then the
`ImportedTypes` trait needs to be changed, and all of its implementers, etc...
2018-09-12 15:25:09 -07:00
587a703b3e Merge pull request #816 from alexcrichton/crufty-appveyor
Remove some crufty AppVeyor configuration
2018-09-12 23:42:33 +02:00
3929e371dd ci: remove hack for broken libLLVM.so in nightly 2018-09-12 14:09:00 -07:00
4e86ecd2c5 Merge pull request #813 from fitzgen/duck-typed-interfaces
Duck typed interfaces
2018-09-12 11:20:26 -07:00
22b3c37112 Remove some crufty AppVeyor configuration
The `crt-static` feature should be long since stable as well as incremental
compilation.
2018-09-12 11:08:19 -07:00
fd75280ef5 Another attempt to fix CI 2018-09-12 10:39:26 -07:00
a59a10d6df Fix tests on nightly 2018-09-12 10:20:03 -07:00
73e6191b60 Merge pull request #703 from lnicola/guide-publish-app
Guide: explain how to deploy the applicaton to a web server
2018-09-12 09:33:39 -07:00
e5af22ee4e Merge pull request #814 from brisad/object-define-property
Add binding for Object.defineProperty()
2018-09-12 09:13:03 -07:00
fe6ad5447e Add binding for Object.defineProperty() 2018-09-12 07:39:39 +02:00
1872e84a8a guide: Add section on working with duck-typed interfaces 2018-09-11 16:40:32 -07:00
a311c29f1d examples: Add an example of using duck-typed interfaces 2018-09-11 16:29:25 -07:00
9ca024a812 Merge pull request #792 from afdw/master
Add support for variadic arguments in WebIDL
2018-09-11 16:05:56 -07:00