All of the commits by brson have been reviewed. Just the android fixups and Rustup one (which also cleans up some of the duplication due to a complete rewrite of code that had been moved in the original PR).
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5489)
<!-- Reviewable:end -->
The urllib version used a `FancyURLOpener` which use urllib. But urllib does not not handle proxies with SSL well.
For example, when adding the proxies to urllib.FancyURLOpener, I got this SSL error:
IOError: [Errno socket error] [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
So I switched the function to urllib2.
A better solution would be to use `requests` but I prefer to stay with the "no-dependency" approach.
For example, this was my first solution with `requests`:
```python
def download(desc, src, dst):
print("Downloading(R) %s..." % desc)
with open(dst, 'wb') as handle:
response = requests.get(src, stream=True)
if not response.ok:
print("something went wrong downloading %s, :(" % desc)
sys.exit(1)
size = int(response.headers['content-length'])
block_size = 1024
recved = 0
for block in response.iter_content(1024):
recved += len(block)
pct = recved * 100.0 / size
print("\rDownloading %s: %5.1f%%" % (desc, pct), end="")
if not block:
break
handle.write(block)
print()
```
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5678)
<!-- Reviewable:end -->
Fixes#5620.
Fix the TODOs and FIXMEs to comply with the spec.
Add test case for passing invalid invalid labels.
Update test metadata; three test cases have been resolved upstream and
will be fixed whenever the rust-encoding dependency is sufficiently upgraded.
The urllib version used a `FancyURLOpener` which use urllib. But urllib does not not handle proxies with SSL well.
A better solution would be to use `requests` but I prefer to stay with the "no-dependency" approach.
Extracted this out of #5649
This commit was created with the following commands:
```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```
```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```
Extracted this out of #5649
This commit was created with the following commands:
```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```
```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```
This addresses https://github.com/servo/servo/issues/3149. The immediate purpose is to support the constants in NodeFilter. The changes mostly follow the current Gecko Codegen.py. The main gist is that the generation of certain code artifacts is now gated by hasInterfaceObject() or hasInterfacePrototypeObject(), rather than by isCallback().
Available markers only:
Reflow
DOMEvent
Also need to implement:
Style marker
Paint marker
Javascript marker
frames reply, depends on getting javascript stack
I decided to make pull request before implemented another markers for getting feedback.
mb it would be better to create separated tasks.
Notices:
Marker doesn't fill stack and stackEnd
MemoryActor sends fake data because there is no memory profiler per tab
FramerateActor sends empty Vec, need implement http://mxr.mozilla.org/mozilla-central/source/dom/base/nsGlobalWindow.cpp#5240