Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add web support via stdweb and web-sys #1221

Merged
merged 79 commits into from
Oct 16, 2019
Merged

Add web support via stdweb and web-sys #1221

merged 79 commits into from
Oct 16, 2019

Conversation

ryanisaacg
Copy link
Contributor

@ryanisaacg ryanisaacg commented Oct 13, 2019

  • Tested on all platforms changed
  • Compilation warnings were addressed
  • cargo fmt has been run on this branch
  • Added an entry to CHANGELOG.md if knowledge of this change could be valuable to users
  • Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior
  • Created or updated an example program if it would help users understand this functionality
  • Updated feature matrix, if new features were added or implemented

Resolves #395

ryanisaacg and others added 30 commits February 12, 2019 20:47
Everything typechecks, but nothing is implemented
Update the internal APIs to match the new API changes
hecrj and others added 21 commits August 8, 2019 14:51
* Stop appending canvas to document in web platform

* Remove `tabindex` TODO in web backend

* Return `OsError` instead of panicking on web canvas creation
* Add the plumbing for handling browser closes

* Implement the business logic for handling closes
* Use actual numeric IDs to differentiate Windows

This is generally important to identifying which window should
recieve which event, but is also specifically crucial for fixing
RedrawRequested on web.

* Cargo fmt
* Keep track of what windows have requested redraw

Instead of using request_animation_frame and sending redraw request
events, just keep track of all windows that have asked for a redraw.
This doesn't handle dispatching the events

* Issue redraw events to windows that request it

* Cargo fmt
* Update the documentation to reflect web support

Indicate which methods have platform-specific web behavior

* cargo fmt
Adds fullscreen using native web APIs to the stdweb and web-sys backends.

Due to limitations of browser APIs, requests for fullscreen can only be fulfilled during a short-lived user-triggered event. This commit does automatically handle that under the hood, but it does introduce unavoidable latency in full-screening the canvas.
* Add web targets to travis

* Fix some bash syntax

* Avoid crash on providing no features

* Fix syntax error

* Syntax?

* Fix pleas

* Fix features check

* Add a comment

* Add nightly builds
@Osspial
Copy link
Contributor

Osspial commented Oct 13, 2019

@ryanisaacg Rebasing on the latest master should fix the Appveyor failure

@ryanisaacg
Copy link
Contributor Author

@Osspial should I squash and merge this, or merge from the CLI?

@Osspial
Copy link
Contributor

Osspial commented Oct 16, 2019

@ryanisaacg Go ahead and merge from the CLI.

@ryanisaacg ryanisaacg merged commit 35bc65f into master Oct 16, 2019
@ryanisaacg ryanisaacg deleted the web branch October 16, 2019 20:11
@tangmi tangmi mentioned this pull request Oct 18, 2019
10 tasks
@dlight dlight mentioned this pull request May 14, 2020
26 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Support wasm32-unknown-unknown backend?
5 participants