servo/components/script/dom/bindings
bors-servo a537cf48b1 Auto merge of #15314 - szeged:permissions-api, r=jdm
Permissions API and WebBluetooth integration

<!-- Please describe your changes on the following line: -->
This implements the [Permissions API](https://w3c.github.io/permissions/) spec.
Also includes the WebBluetooth related implementation for this.

There are some know issues:
- [ ] If the descriptor name is invalid [this](https://gist.github.com/dati91/7a6a0a563d90f49ba5a351e48c5b626b#file-permissionstatusbindings-rs-L323) will throw an error, rather that return it and we could handle it.
- [x] The [environment settings object](https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object) is not implemented in servo and the spec rely on it.
- [x] There is a popup in the implementation which prevent us to add wpt test, we should figure out a way to make it work
- [ ] The allowedDevice's allowed_services attribute is not used in our implementation, because we store these in the lower level, not in the dom side.
- [ ] We think the bluetooth revoke function will need some more work, but the problem is the spec needs clarifications on that part.

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15314)
<!-- Reviewable:end -->
2017-02-14 08:09:22 -08:00
..
codegen Modify CodegenRust.py to import structs from sequence return values 2017-02-13 14:35:52 +01:00
callback.rs Don't try to get the global of an object while it's being destroyed. 2017-01-19 10:08:48 +01:00
cell.rs Introduce PendingScript 2017-01-11 17:37:19 +01:00
constant.rs Remove and allow some dead code. 2016-12-22 16:06:22 +01:00
conversions.rs Kill dead code 2017-02-12 09:44:10 +01:00
error.rs Don't return early from report_pending_exception() if the value is an unexpected object. 2016-11-27 10:27:11 +01:00
guard.rs Removed util. 2016-12-14 18:04:37 -06:00
inheritance.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
interface.rs Update js, AGAIN 2016-11-27 12:19:19 +01:00
iterable.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
js.rs Remove HeapGCValue 2016-12-12 10:47:54 -10:00
mod.rs Implement the entry global. 2017-01-06 12:56:35 +01:00
mozmap.rs Update js. 2016-11-02 13:25:49 +01:00
namespace.rs Implement WebIDL namespaces 2016-09-08 11:01:34 +02:00
num.rs Use heapsize_derive instead of heapsize_plugin 2016-11-03 01:10:32 +01:00
proxyhandler.rs Make {get,ensure}_expando_object unsafe. 2017-02-07 11:44:38 +01:00
refcounted.rs Rename Reflectable to DomObject. 2016-12-08 08:50:35 -10:00
reflector.rs Derive DomObject with a proc macro 2017-02-14 14:13:43 +01:00
settings_stack.rs Perform a microtask checkpoint after executing classic scripts and callbacks. 2017-02-01 12:54:33 -05:00
str.rs Implement document.open and document.close (fixes #14591) 2017-02-03 16:50:12 +01:00
structuredclone.rs Make StructuredCloneData::read take a &GlobalScope 2016-10-06 21:35:40 +02:00
trace.rs Bug 1336646 - Apply selector flags during traversal. r=emilio 2017-02-08 19:21:05 -08:00
utils.rs Update js, AGAIN 2016-11-27 12:19:19 +01:00
weakref.rs squash: convert less interesting debug! logs to traces 2017-01-18 22:21:41 -07:00
xmlname.rs Update to string-cache 0.3 2016-11-03 16:23:05 +01:00