Commit graph

2689 commits

Author SHA1 Message Date
bors-servo
e66f761cba Auto merge of #5782 - Adenilson:fixInlineFiltered01, r=pcwalton
It will create a StackingContext for inline elements that may need it, I'm looking for feedback on this. 

Not for commit, as there are some tests failing.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5782)
<!-- Reviewable:end -->
2015-04-23 14:38:05 -05:00
Adenilson Cavalcanti
4f210eb8fe Fixing inline elements filtering rendering.
It required to move create_stacking_context() outside of BlockFlow,
as a method of FragmentDisplayListBuilding. This allowed the reuse
for inline fragments that need a stacking context.

As we now create stacking contexts (SC) for inline elements, this stresses
the code in Fragment that calculates the need for a SC.

For while, we create a SC only if there are filters associated with the
Inline element. Companion issue is #5812.
2015-04-23 12:32:18 -07:00
James Graham
c2fc6e311a Add script execution support via WebDriver 2015-04-23 16:14:27 +01:00
bors-servo
1b08211a5e Auto merge of #5806 - nox:splittext, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5806)
<!-- Reviewable:end -->
2015-04-23 09:38:48 -05:00
Anthony Ramine
163d97d270 Implement Text.splitText() 2015-04-23 16:36:50 +02:00
bors-servo
d037187213 Auto merge of #5768 - nox:document-title, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5768)
<!-- Reviewable:end -->
2015-04-23 05:20:45 -05:00
Anthony Ramine
4e95a8c4c9 Implement SVG support for Document.title 2015-04-23 12:19:12 +02:00
bors-servo
68f03c9dbb Auto merge of #5805 - pcwalton:whitespace-effect-on-minimum-inline-sizes, r=glennw
Improves Amazon.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5805)
<!-- Reviewable:end -->
2015-04-22 20:23:17 -05:00
bors-servo
43d666f94b Auto merge of #5802 - mmatyas:indentfix, r=jdm
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5802)
<!-- Reviewable:end -->
2015-04-22 19:49:30 -05:00
Patrick Walton
f8b9b31680 layout: Take the white-space property into account when computing
intrinsic sizes of inline flows.

Improves Amazon.
2015-04-22 17:45:16 -07:00
bors-servo
ac0645c236 Auto merge of #5767 - glennw:image-cache, r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5767)
<!-- Reviewable:end -->
2015-04-22 19:16:46 -05:00
Glenn Watson
d8aef7208e Refactored image cache task - details below.
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.
2015-04-23 09:40:24 +10:00
bors-servo
43e664cda1 Auto merge of #5801 - Ms2ger:range, r=pcwalton
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5801)
<!-- Reviewable:end -->
2015-04-22 18:24:21 -05:00
bors-servo
f9a50c9be0 Auto merge of #5787 - Adenilson:colorWhite01, r=SimonSapin
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5787)
<!-- Reviewable:end -->
2015-04-22 17:04:41 -05:00
Adenilson Cavalcanti
2c7edeb2bf Renaming the color function to just *transparent*,
as suggested on review.
2015-04-22 14:51:39 -07:00
Adenilson Cavalcanti
cf2406de47 After discussion, it seems that transparent_white() has undefined behavior. 2015-04-22 14:42:14 -07:00
Mátyás Mustoha
91b4246e1b Fix some irregular indentation. 2015-04-22 21:57:58 +02:00
bors-servo
e278e5b9a2 Auto merge of #5757 - mmatyas:canvas_globalcomposite, r=jdm
Implements https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-globalcompositeoperation.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5757)
<!-- Reviewable:end -->
2015-04-22 14:15:28 -05:00
Mátyás Mustoha
a8343a0750 Canvas: implement global composition and blending. 2015-04-22 20:54:27 +02:00
Ms2ger
4d41f1c991 Stop using the deprecated range function. 2015-04-22 20:26:40 +02:00
bors-servo
9ae3cad31e Auto merge of #5781 - jdm:reparent, r=Ms2ger
Fixes html5test.com.

r? @Ms2ger

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5781)
<!-- Reviewable:end -->
2015-04-22 13:01:32 -05:00
nithin murali
c5e101b6e5 Implement child reparenting and node removal during parsing. 2015-04-22 13:47:28 -04:00
bors-servo
8efd70b01b Auto merge of #5794 - SimonSapin:negative-vertical-align, r=Manishearth
http://dev.w3.org/csswg/css2/visudet.html#propdef-vertical-align

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5794)
<!-- Reviewable:end -->
2015-04-22 11:13:25 -05:00
bors-servo
c4b7979450 Auto merge of #5773 - mmatyas:canvas_clip, r=jdm
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5773)
<!-- Reviewable:end -->
2015-04-22 10:40:10 -05:00
Simon Sapin
53c88f0413 vertical-align can take negative lengths and percentages.
http://dev.w3.org/csswg/css2/visudet.html#propdef-vertical-align
2015-04-22 17:19:00 +02:00
Mátyás Mustoha
6fd6eefb35 Canvas: add clipping path support. 2015-04-22 16:25:02 +02:00
Ms2ger
04b532e1fb Store a Runtime object in ScriptTask. 2015-04-22 11:17:09 +02:00
Adenilson Cavalcanti
95bcc5747c Adding transparent white.
Using helper color function (less verbose and clear to understand).
2015-04-21 19:10:07 -07:00
bors-servo
533949150b Auto merge of #5783 - Adenilson:ffBrokenImage01, r=mbrubeck
Got it from:
https://mxr.mozilla.org/mozilla-central/source/layout/generic/broken-image.png

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5783)
<!-- Reviewable:end -->
2015-04-21 19:01:38 -05:00
Adenilson Cavalcanti
0f5b5a5cd4 Using FF broken image icon.
Got it from:
https://mxr.mozilla.org/mozilla-central/source/layout/generic/broken-image.png
2015-04-21 16:04:28 -07:00
bors-servo
9974ebb2f9 Auto merge of #5547 - aweinstock314:x11-clipboard, r=jdm
Manual re-opening of #5479 (since it seems that GitHub disables re-opening with the same number after a rebase).

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5547)
<!-- Reviewable:end -->
2015-04-21 14:41:32 -05:00
Avi Weinstock
cf6aef5d51 Make the channel argument to TextInput::new be optional, to support the signature expected by the unit tests. 2015-04-21 15:18:23 -04:00
bors-servo
f795440ee3 Auto merge of #5776 - servo:split-unit-tests, r=mbrubeck
Closes #5707. (Includes a rebase of it.)
Fixes #5688.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5776)
<!-- Reviewable:end -->
2015-04-21 14:06:22 -05:00
Simon Sapin
ce1f2bab7b Fix up the splitting of the unit tests crate.
Closes #5707. (Includes a rebase of it.)
Fixes #5688.
2015-04-21 20:22:10 +02:00
Prabhjyot Singh Sodhi
7b9c9e1453 Split up the unit tests crate 2015-04-21 20:05:53 +02:00
Anthony Ramine
b636481ca3 Implement CSSStyleDeclaration.float (fixes #5101)
It just needs to be prefixed by an underscore.
2015-04-21 19:34:52 +02:00
Avi Weinstock
2d110e73b5 Update Cargo.lock files w.r.t. rust-xlib. 2015-04-21 11:47:42 -04:00
bors-servo
a3dafe4999 Auto merge of #5594 - mskrzypkows:get_attribute_by_name, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5594)
<!-- Reviewable:end -->
2015-04-21 10:23:03 -05:00
Maciej Skrzypkowski
6a31a75bc6 Refactoring, added conversion to lowercase for get_attribute_by_name method. (fixes #5561) 2015-04-21 16:08:15 +02:00
bors-servo
1d66b090a2 Auto merge of #5770 - mmatyas:canvas_rect, r=jdm
A simple little patch.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5770)
<!-- Reviewable:end -->
2015-04-21 08:43:47 -05:00
Avi Weinstock
503cc9e6d6 Moved clipboard integration from textinput to constellation, to facilitate sandboxing. 2015-04-21 09:31:20 -04:00
Mátyás Mustoha
5287cb7fba Canvas: implement rectangle drawing. 2015-04-21 15:21:30 +02:00
bors-servo
fe61cdc95d Auto merge of #5758 - dhananjay92:Issue#5735, r=jdm
Solves #5735.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5758)
<!-- Reviewable:end -->
2015-04-21 08:05:48 -05:00
Avi Weinstock
ba4c455438 Implement X11 clipboard integration (Issue #5376). 2015-04-21 08:36:15 -04:00
bors-servo
e4b620ea54 Auto merge of #5652 - dmarcos:webgl, r=jdm
@jdm @ecoal95 I'm working on making VR happen in the Browser and I want to bring to Servo the [webVR APIs](https://github.com/MozVR/webvr-spec/blob/master/webvr.idl) we already have in Gecko. Before anything happens we need a working implementation of WebGL (and also the [fullscreen API](https://fullscreen.spec.whatwg.org/)). My implementation is very basic and probably naive (I just recently started to contribute to Servo). My patch is just a starting point: 

- It only implements ```clearColor``` and ```clear``` methods of the [WebGL spec](https://www.khronos.org/registry/webgl/specs/latest/).
- It uses the readback strategy that ```canvasRenderingContext2D``` is using (The webgl task paints stuff independently on it's own buffer and the compositor task request the pixels back to the webgl task when it needs them) I'm sure there are much better ways to handle this. Latency and FPS are critical in VR so we have to figure out the fastest way to push pixels to the screen. I've read something about layerizing the canvas but I'm still not sure what that even means :)
- There's an included test you can try ```./mach run tests/ref/webgl-context/clearcolor.html``` 

@ecoal95 I know you'll be working on this for the next three months. With a foundation in place we will be able to make quick progress in parallel. This is exciting!

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5652)
<!-- Reviewable:end -->
2015-04-20 19:29:02 -05:00
Diego Marcos
c82485874d Kicks off a WebGL implementation 2015-04-20 14:29:39 -07:00
bors-servo
23945f2ea8 Auto merge of #5759 - Adenilson:visibleReturn01, r=pcwalton
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5759)
<!-- Reviewable:end -->
2015-04-20 15:01:44 -05:00
Adenilson Cavalcanti
8aa9427af0 Skip computing fragment position and return early if visibility property
is not set.
2015-04-20 12:17:38 -07:00
Dhananjay Nakrani
d0138443d5 Move actor_workers HashMap outside handle_new_global(). [Issue#5735] 2015-04-20 11:33:09 -07:00
Ms2ger
cd7ec9912e Make ScriptTask::js_context immutable.
Since we drop the ScriptTask almost immediately after clearing the field,
there's little reason to do it manually.
2015-04-20 20:16:55 +02:00