servo/components/script
bors-servo 8068076456 Auto merge of #11724 - emilio:webgl-refactor, r=jdm
webgl: Refactor texture validations to take advantage of rust type system

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because refactoring.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This commit introduces the `WebGLValidator` trait, and uses it for multiple
validations in the texture-related WebGL code, to move that logic out of the
already bloated `webglrenderingcontext.rs` file.

It also creates a type-safe wrapper for some WebGL types, removing all the
`unreachable!`s there, and introduces a macro for generating them conveniently.

This partially addresses #10693, pending refactor more code to use this
infrastructure, and (possibly?) introducing an `AsGLError` trait for the errors
to make the error handling happen in `WebGLContext`.

r? @jdm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11724)
<!-- Reviewable:end -->
2016-06-25 15:16:48 -05:00
..
docs
dom Auto merge of #11724 - emilio:webgl-refactor, r=jdm 2016-06-25 15:16:48 -05:00
parse Replace HTMLScriptElement::mark_script_already_started by set_script_already_started 2016-06-03 01:31:52 +02:00
task_source Derive Clone for DOMManipulationTaskSource, UserInteractionTaskSource. 2016-06-03 09:33:18 +02:00
bluetooth_blacklist.rs Add WebBluetooth Blacklist support 2016-05-31 17:05:45 +02:00
build.rs
Cargo.toml Auto merge of #11754 - Ms2ger:wrapper-traits-prep2, r=nox 2016-06-20 12:54:20 -05:00
clipboard_provider.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
devtools.rs Make the net monitor panel in FF's devtools show meaningful output. 2016-06-06 00:51:36 +01:00
document_loader.rs Add file backend support for Blob and related 2016-06-01 09:47:07 +08:00
layout_wrapper.rs Use our copy of RefCell for style data. 2016-06-23 16:13:49 +02:00
lib.rs Auto merge of #11754 - Ms2ger:wrapper-traits-prep2, r=nox 2016-06-20 12:54:20 -05:00
makefile.cargo
mem.rs Bump heapsize to 0.3 2016-02-13 11:13:19 +01:00
network_listener.rs Test fixes; update for changes in spec 2016-06-10 20:55:25 +05:30
origin.rs Make script origins sendable and immutable. 2016-05-27 17:16:13 +02:00
script_runtime.rs Wrap executions of Rust code called from JS in catch_unwind. Propagate the interrupted panic to the origin of the JS execution via TLS before resuming. Fix #6462. 2016-06-22 09:35:19 -04:00
script_thread.rs Removed some sources of panic from script thread. 2016-06-24 08:17:14 -05:00
textinput.rs Implement :placeholder-shown (fixes #10561) 2016-06-03 14:45:14 +02:00
timers.rs Auto merge of #10225 - jmr0:visibility_api, r=jdm 2016-06-16 08:53:56 -05:00
unpremultiplytable.rs
webdriver_handlers.rs Support WindowProxy return values in bindings 2016-06-09 23:42:27 +02:00