Commit graph

12537 commits

Author SHA1 Message Date
Aidan Hobson Sayers
078d21b6e2 Minor style tweak 2015-09-14 20:55:23 +01:00
Aidan Hobson Sayers
9737b2375e Create a marker file to avoid running pip when possible 2015-09-14 20:55:22 +01:00
bors-servo
e10c5c74cc Auto merge of #7616 - Ms2ger:js-reflector, r=jdm
Stop implementing Reflectable for JS<T>.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7616)
<!-- Reviewable:end -->
2015-09-13 09:20:25 -06:00
Ms2ger
3781567c19 Stop implementing Reflectable for JS<T> (fixes #2285).
It's not generally safe to expose the contents of a JS<T>.
2015-09-13 16:47:12 +02:00
Ms2ger
ca5e7097a0 Stop requiring that the type argument to RootedVec implements Reflectable.
It is sufficient that it implements JSTraceable.
2015-09-13 16:43:28 +02:00
bors-servo
dbd614045b Auto merge of #7614 - frewsxcv:incorrect-element-interfaces, r=nox
Fix a few incorrect Element interfaces



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7614)
<!-- Reviewable:end -->
2015-09-13 06:23:42 -06:00
Corey Farwell
be3352f379 Explicitly state 'blink' should create HTMLUnknownElement, like the spec
https://html.spec.whatwg.org/#other-elements,-attributes-and-apis:blink
2015-09-13 08:07:03 -04:00
Corey Farwell
cc8994422b Fix a few incorrect Element interfaces 2015-09-13 08:02:51 -04:00
Corey Farwell
202a7e3f13 Bump string_cache 2015-09-13 07:25:07 -04:00
bors-servo
b05f4aa3aa Auto merge of #7559 - ddrmanxbxfr:RFC-0344-Work, r=nox
Remove 'get_*' on getters as per RFC 0344 on canevas, compositing, devtools, gfx, layout, net, profile, servo and webdriver_server

Hi guys,

I just gave a big pass of RFC-0344 as per issue #6224 .

Pretty much renamed all the get_* fn that were used to fetch values. 

I hope I didn't rename too much. 

As said in the issue discussion, I didn't touch at the scripts folder so we keep the unsafe ones pretty explicit.

I've ran the whole pass of test, everything seems to be still working right :).

Please give feedback on this PR.

Thanks for looking into it.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7559)
<!-- Reviewable:end -->
2015-09-12 18:29:56 -06:00
Mathieu Rheaume
7320433cca Remove 'get_*' on getters as per RFC 0344 on various components 2015-09-12 20:14:01 -04:00
bors-servo
815e981c69 Auto merge of #7610 - servo:filename-parsing, r=saneyuki
Replace reftest with a problematic file name with a unit test.

Fix #7609, "error: unable to create file tests/ref/hello_a?foo#bar.html (Invalid argument)" during git checkout on Windows.

Behavior change: passing an nonexistent file name on the command line now shows a blank page (like network errors) rather than exit with an error message.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7610)
<!-- Reviewable:end -->
2015-09-12 09:10:37 -06:00
bors-servo
a63e2935ed Auto merge of #7613 - frewsxcv:minor-window-cleanup, r=nox
Minor script::dom:🪟:Window cleanup



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7613)
<!-- Reviewable:end -->
2015-09-12 08:05:18 -06:00
Corey Farwell
9331dc7bd1 Minor script::dom:🪟:Window cleanup 2015-09-12 15:03:18 +01:00
Simon Sapin
43c999905c Replace reftest with a problematic file name with a unit test.
Fix #7609, "error: unable to create file tests/ref/hello_a?foo#bar.html
(Invalid argument)" during git checkout on Windows.

Behavior change: passing an nonexistent file name on the command line
now shows a blank page (like network errors)
rather than exit with an error message.
2015-09-12 14:18:15 +02:00
bors-servo
8d7ba12f28 Auto merge of #7600 - pcwalton:body-overflow-scroll, r=mbrubeck
layout: Allow the overflow area of the `<body>` to be scrolled.

Fixes scrolling on Twitter.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7600)
<!-- Reviewable:end -->
2015-09-11 11:20:13 -06:00
bors-servo
c3f9e1813a Auto merge of #7550 - pcwalton:block-formatting-context-overflow, r=mbrubeck
layout: Defend the block formatting context speculation against going wrong in the presence of blocks that overflow in the inline direction.

Makes the Google search result links appear.

Closes #7298.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7550)
<!-- Reviewable:end -->
2015-09-11 10:03:39 -06:00
bors-servo
3a97455a65 Auto merge of #7570 - jxs:ignore_length_tidy_script, r=Ms2ger
ignore length on .lock files on tidy.py,

closes #7569

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7570)
<!-- Reviewable:end -->
2015-09-11 03:07:34 -06:00
bors-servo
eb556c1ce6 Auto merge of #7602 - bjwbell:improve_err_msg_when_writing_png, r=pcwalton
Improve err msg when failing to output png

Before on at least Linux the following failure is hard to root cause:

    [~/servo] ./target/debug/servo -o tmp.png ./tests/html/lipsum.html
    thread '<main>' panicked at 'assertion failed: res.is_ok()', .../compositor.rs:1508
    thread '<main>' panicked at 'You should have disposed of the
    pixmap...', .../rust-layers/.../surface.rs:166

Now:

    [~/servo] ./target/debug/servo -o tmp.png ./tests/html/lipsum.html
    thread '<main>' panicked at 'Error writing png: Permission
    denied (os error 13)', .../compositor.rs:1508
    thread '<main>' panicked at 'You should have disposed of the pixmap
    properly with destroy()! This pixmap will leak!', .../rust-layers/.../surface.rs:166

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7602)
<!-- Reviewable:end -->
2015-09-10 23:55:41 -06:00
Bryan Bell
b7ea7de136 Improve err msg when failing to output png
Before on at least Linux the following failure is hard to root cause:

    [~/servo] ./target/debug/servo -o tmp.png ./tests/html/lipsum.html
    thread '<main>' panicked at 'assertion failed: res.is_ok()', .../compositor.rs:1508
    thread '<main>' panicked at 'You should have disposed of the
    pixmap...', .../rust-layers/.../surface.rs:166

Now:

    [~/servo] ./target/debug/servo -o tmp.png ./tests/html/lipsum.html
    thread '<main>' panicked at 'Error writing png: Permission
    denied (os error 13)', .../compositor.rs:1508
    thread '<main>' panicked at 'You should have disposed of the pixmap
    properly with destroy()! This pixmap will leak!', .../rust-layers/.../surface.rs:166
2015-09-10 21:45:58 -07:00
Patrick Walton
99587cf105 layout: Allow the overflow area of the <body> to be scrolled.
Fixes scrolling on Twitter.
2015-09-10 18:07:21 -07:00
bors-servo
f190ba360e Auto merge of #7595 - connorimes:update-hbs, r=larsbergstrom
Refresh cef and gonk lock files; update heartbeats dependencies



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7595)
<!-- Reviewable:end -->
2015-09-10 13:31:57 -06:00
bors-servo
4e69f301e1 Auto merge of #7593 - connorimes:energy-profiling-doc, r=larsbergstrom
Add documentation to profile crate on Heartbeats and energy-profiling



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7593)
<!-- Reviewable:end -->
2015-09-10 11:29:29 -06:00
bors-servo
e6ed6250b7 Auto merge of #7594 - metajack:embedding-warnings, r=Ms2ger
Fix compiler warnings



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7594)
<!-- Reviewable:end -->
2015-09-10 09:42:33 -06:00
Jack Moffitt
2d35ee6d16 Fix compiler warnings 2015-09-10 09:40:06 -06:00
Connor Imes
7cd953c9d1 Update heartbeats sys dependencies 2015-09-10 10:04:00 -05:00
Connor Imes
06b2c496fe Refresh cef and gonk lock files 2015-09-10 10:02:02 -05:00
Connor Imes
0d3fb75a63 Add documentation to profile crate on Heartbeats and energy-profiling feature 2015-09-10 09:40:26 -05:00
bors-servo
4c64c870c6 Auto merge of #7592 - nox:nonelementparentnode, r=jdm
Introduce NonElementParentNode

This is the interface where Document.getElementById() belong.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7592)
<!-- Reviewable:end -->
2015-09-10 07:29:47 -06:00
bors-servo
d64331b7d2 Auto merge of #7591 - frewsxcv:servo-issue, r=Ms2ger
Link to Servo issue instead of Gecko bug



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7591)
<!-- Reviewable:end -->
2015-09-10 02:56:11 -06:00
Corey Farwell
a4027f0259 Link to Servo issue instead of Gecko bug 2015-09-10 10:54:30 +02:00
bors-servo
c349b7b3a1 Auto merge of #7426 - dzbarsky:surroundcontents, r=glennw
Implement Range#surroundContents



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7426)
<!-- Reviewable:end -->
2015-09-09 21:54:06 -06:00
Anthony Ramine
dc125f9eb1 Implement NonElementParentNode for DocumentFragment 2015-09-10 01:33:13 +02:00
Anthony Ramine
3f5b3053b9 Introduce NonElementParentNode
This is the interface where Document.getElementById() belong.
2015-09-10 01:14:26 +02:00
bors-servo
c838259383 Auto merge of #7527 - bjwbell:simd_advance_for_char_range, r=metajack
Use SIMD in fast path for advance_for_char_range

In advance_for_char_range add a fast SIMD code path for the the common
case where there are no detailed glyphs.


r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7527)
<!-- Reviewable:end -->
2015-09-09 16:55:16 -06:00
Bryan Bell
0c99b7e6a9 Add fast SIMD code path in advance_for_char_range
In advance_for_char_range add a SIMD code path for the the common
case of no detailed glyphs.

- gfx/Cargo.toml
  Add simd dependency https://github.com/huonw/simd

- servo/Cargo.lock
  Add simd dependency https://github.com/huonw/simd @
  d9ad79d86eab50a8f36d45fe17aa9e3a533389ee.

- SIMD isn't used on non-x86_65/aarch64 architectures.
2015-09-09 15:20:20 -07:00
bors-servo
7b6c341900 Auto merge of #7581 - connorimes:power-profiling, r=larsbergstrom
Add energy monitoring and characterization scripts

Add the energy-profiling feature.  Users can compile the proper (or their own) version of energymon libraries to capture power/energy data at runtime.  The results are accessed through heartbeats.

Additionally, there are a couple of python scripts to enable heartbeats for profiler categories and process the results into some visualizations to help understand how time and energy is being spent in Servo.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7581)
<!-- Reviewable:end -->
2015-09-09 15:24:48 -06:00
bors-servo
f29ddb4b5d Auto merge of #7577 - bjwbell:borders_pixel_rounding_bug, r=mbrubeck
gfx: Fix bug with 1px width borders disappearing

In to_nearest_azure_rect when rounding to pixel coordinates, maintain
the invariant of rect non-overlap (if before rounding two rects don't overlap).

The previous code rounded the rect top left corner to the nearest pixel with
the size rounded to the nearest pixel multiple which can violate the
non-overlap condition, e.g.
10px×9.60px at (0px,6.6px) & 10px×9.60px at (0px,16.2px)
would round to
10px×10.0px at (0px,7.0px) & 10px×10.0px at (0px,16.0px), which overlap.

Instead round each corner to the nearest pixel.

For rects that dont need to satify the non-overlap condition and with
width or height between 0.5px and 1px, rounding each rect corner to the
nearest pixel can yield an empty rect e.g.
10px×0.6px at 0px,28.56px -> 10px×0px at 0px,29px.

For this scenario a new function to_nearest_non_empty_azure_rect
rounds the rect top left corner to the nearest pixel and the rect size
to the nearest pixel multiple. It's possible for non-overlapping rects
after this rounding to overlap.

This should fix https://github.com/servo/servo/issues/7184 "rounding ...borders not to be visible", without breaking https://github.com/servo/servo/issues/7152 "Underlines less than 1px high sometimes invisible".

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7577)
<!-- Reviewable:end -->
2015-09-09 13:30:41 -06:00
Bryan Bell
1f44686415 position-relative-035 reftest -> expected fail
There is no easy way to pass position-relative-035 & also
pass both tests/ref/border_rounding_1px_invisible_issue_7184 and
tests/ref/text_decoration_underline_subpx.

https://github.com/servo/servo/pull/7161, "Snap rectangles to nearest
pixels...", did fix position-relative-035 (except
for OS X) but broke 1px borders.
2015-09-09 11:58:21 -07:00
bors-servo
50f5ae1d35 Auto merge of #7583 - metajack:warning-police, r=jdm
Fix some build warnings



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7583)
<!-- Reviewable:end -->
2015-09-09 12:53:21 -06:00
Jack Moffitt
71c3c9a1ba Fix some build warnings 2015-09-09 12:44:18 -06:00
Connor Imes
3c25f47dbc Add energy monitoring and characterization scripts 2015-09-09 13:35:21 -05:00
bors-servo
c0381c7325 Auto merge of #7563 - mrobinson:layerize-stacking-contexts, r=pcwalton
Layerize StackingContexts that are on top of layers

StackingContexts that should be painted on top of StackingContexts that
are already layerized should automatically get their own layer. This
will ensure proper painting order.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7563)
<!-- Reviewable:end -->
2015-09-09 10:52:56 -06:00
Martin Robinson
184238c348 Layerize StackingContexts that are on top of layers
StackingContexts that should be painted on top of StackingContexts that
are already layerized should automatically get their own layer. This
will ensure proper painting order.
2015-09-09 09:13:14 -07:00
João Oliveira
b9ffb80b7c ignore length on .lock files on tidy.py,
closes #7569
2015-09-09 14:02:43 +01:00
bors-servo
0d37e8f96b Auto merge of #7576 - akiss77:bump-skia-js, r=Ms2ger
Bump up skia and js packages to follow recent fixes



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7576)
<!-- Reviewable:end -->
2015-09-09 04:37:08 -06:00
Bryan Bell
642b34865f gfx: Fix bug with 1px width borders disappearing
In to_nearest_azure_rect when rounding to pixel coordinates, maintain
the invariant of rect non-overlap (if before rounding two rects don't overlap).

The previous code rounded the rect top left corner to the nearest pixel with
the size rounded to the nearest pixel multiple which can violate the
non-overlap condition, e.g.
10px×9.60px at (0px,6.6px) & 10px×9.60px at (0px,16.2px)
would round to
10px×10.0px at (0px,7.0px) & 10px×10.0px at (0px,16.0px), which overlap.

Instead round each corner to the nearest pixel.

For rects that dont need to satify the non-overlap condition and with
width or height between 0.5px and 1px, rounding each rect corner to the
nearest pixel can yield an empty rect e.g.
10px×0.6px at 0px,28.56px -> 10px×0px at 0px,29px.

For this scenario a new function to_nearest_non_empty_azure_rect
rounds the rect top left corner to the nearest pixel and the rect size
to the nearest pixel multiple. It's possible for non-overlapping rects
after this rounding to overlap.
2015-09-09 03:20:52 -07:00
Akos Kiss
52d87097ae Bump up skia and js packages to follow recent fixes 2015-09-09 09:35:55 +00:00
bors-servo
be9a9ffda1 Auto merge of #7523 - eefriedman:unnecessary-unsafe, r=SimonSapin
Fix up some unnecessary uses of `unsafe`.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7523)
<!-- Reviewable:end -->
2015-09-09 00:05:17 -06:00
David Zbarsky
3bec4d37dd Implement Range#surroundContents 2015-09-08 22:01:49 -07:00