Commit Graph

29 Commits

Author SHA1 Message Date
Keegan McAllister
8321c9c421 servo: Merge #3797 - Debug-only dynamic checks for layout and GC use of DOMRefCell (from kmcallister:domrefcell); r=jdm
r? @mbrubeck, @jdm

Alternative to #3770 and #3716.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c12f630e6352fc2aa00b638d014b2505f68af1f
2014-10-24 18:09:27 -06:00
Ray Clanan
6becd6b208 servo: Merge #3773 - Rename untraceable!() to no_jsmanaged_fields!(). References issue #3671 (from rclanan:rename-untraceable); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 041ab13fcec726bbacc09b3be07e706091625dda
2014-10-23 19:48:28 -06:00
Josh Matthews
fc0399b718 servo: Merge #3759 - Implement Document.readyState. Prevent iframes from notifying the compos (from jdm:readystate); r=Ms2ger
...itor after the initial parse. Fixes #1720. Fixes #3738.

r? @Ms2ger or @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 2df236376a443d8d031ee7a72379f336f2cd8cc4
2014-10-23 09:18:37 -06:00
Tetsuharu OHZEKI
9ee50fb2d1 servo: Merge #3737 - Use DOMRefCell in script crate (from saneyuki:cell); r=jdm
#3050

Altough LayoutDataRef is touched from layout, we don't use DOMRefCell in it becasuse
it's expected to manipulate in layout task.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5e8df9dac9330f2818906c471ed05f5975828c6
2014-10-22 07:54:36 -06:00
Keegan McAllister
a8be3c4e6b servo: Merge #3670 - Use html5ever for HTML parsing (from kmcallister:h5e-take2); r=jdm
r? @Ms2ger, @jdm

The parser is now a JS-managed object and we use hooks in html5ever to trace its internal state.  This should be memory-safe even if arbitrary JavaScript can run during a parse.  Please let me know if you think of a reason it wouldn't be!

I think the likely outcome of a garbage collection during parsing is a dynamic `RefCell` borrow failure, but I'm going to look into that after this lands.  It should be safe to trace the parser while it's mutably borrowed, as long as it's not shared between threads, so we can probably switch to `UnsafeCell`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d3b107568ab965b518b8003b702a5db993fa7d0
2014-10-16 14:15:21 -06:00
Mukilan Thiyagarajan
ee3be6d1e6 servo: Merge #3662 - Implement timers (setTimeout/setInterval) for workers (from mukilan:worker_timer); r=jdm
Closes issue #3236

Source-Repo: https://github.com/servo/servo
Source-Revision: f94228d9f95327aac987103806b6ed452c96f16a
2014-10-15 20:48:22 -06:00
Tim Taubert
03e0ecf19a servo: Merge #3651 - Make Event::new take enumerated values instead of booleans (fixes #3643) (from ttaubert:issue/3643-event-new-enums); r=Manishearth
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 293e06fd7cf3c79e377fc1ce619ee790c46f9858
2014-10-13 19:12:38 -06:00
Manish Goregaokar
57c9401915 servo: Merge #3642 - Implement extremely basic form submission (from Manishearth:form-submit); r=jdm
This is missing a lot of parts, so it doesn't really make any real-world form submission work yet. It provides a skeleton on which the missing bits can be filled in.

What works:
 - `<input>` elements except for `type=file`
 - GET/POST methods
 - URLencoded `enctype`s (default)
 - Submission via `<form>.submit()` only

Stuff that needs to be done for most simple real-world cases to work:
 - [Working text input](https://github.com/servo/servo/pull/3585)
 - Click handlers for `<submit>`
 - Possibly `<textarea>` support
 - Support for the other two enctypes (#3649)

Todo:
 - Correctly implement [planned navigation](https://html.spec.whatwg.org/multipage/forms.html#planned-navigation) using `TrustedFormAddress`  (#3648)
 - [Correctly implement form owners.](https://github.com/servo/servo/issues/3553) Requires html5ever and some discussion of the spec.
 - `<input type=file>` support
 - Image submit support
 - Browsing contexts/targets
 - Support for non-`<input>` controls
 - Validation (?)
 - Dirname (?)

Source-Repo: https://github.com/servo/servo
Source-Revision: 9dfd5e7fcd2011a411b219e8c45aadc0ecb270bd
2014-10-11 07:45:39 -06:00
Manish Goregaokar
6f900ea837 servo: Merge #3626 - Allow passing a method, request body, and headers to the pipeline in LoadUrlMsg (from Manishearth:form-prep); r=jdm
Framework for form submission

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f9808e1306a6468dea0de8657a4fa5868e1a126
2014-10-09 16:00:34 -06:00
Clark Gaebel
c0d7a56ba4 servo: Merge #3590 - Incremental Style Recalc (from cgaebel:slow-incremental-reflow-rebase); r=pcwalton
This patch puts in the initial framework for incremental reflow. Nodes' styles
are no longer recalculated unless the node has changed.

I've been hacking on the general problem of incremental reflow for the past
couple weeks, and I've yet to get a full implementation that actually passes all
the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different
parts of it one by one.

This patch only does incremental style recalc, without incremental flow
construction, inline-size bubbling, reflow, or display lists. Those will be coming
in that order as I finish them.

At least with this strategy, I can land a working version of incremental reflow,
even if not yet complete.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 85b277655f07db1cb99c4d3dee93804735ed0470
2014-10-09 11:21:32 -06:00
Tim Taubert
1b867d1d8a servo: Merge #3620 - Remove unnecessary deref()s (fixes #3586) (from ttaubert:issue/3586-remove-derefs); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 510f8a817f8144dd5046886d4ca7c612f19a3d08
2014-10-09 07:12:37 -06:00
Ms2ger
a0b91fe7e1 servo: Merge #3571 - Cleanup URL handling in ScriptTask::load a bit (from Ms2ger:rewrite-js-url); r=jdm
This should make it clearer that we always pass a URL to Document::new, and
avoids an unnecessary unwrap() call.

Source-Repo: https://github.com/servo/servo
Source-Revision: 06489fcc426ca65e807ea13d0d8fcf23bee3ca75
2014-10-06 12:21:30 -06:00
Ms2ger
e66a91af09 servo: Merge #3570 - Stop reference-counting the ScriptTask (from Ms2ger:rc-scripttask); r=metajack
The ScriptTask is owned by the proc in ScriptTaskFactory::create.

We started using a managed box for what would eventually become ScriptTask in
d21d27e08633b6a7f2b774a28c65c81d1eedbeaf.

Source-Repo: https://github.com/servo/servo
Source-Revision: f60e985e6b1c401730306acaf2b84152cdc7d0aa
2014-10-06 11:00:37 -06:00
Manish Goregaokar
052cbff92f servo: Merge #3518 - Purge Traceable and Untraceable from Servo (from Manishearth:trace-cleanup); r=jdm
Now that we use `JSTraceable` (defined in `script`), we can create arbitrary implementations on non-`script` types (eg `Url` or `RequestHeaderCollection`) where in the past we had to rely on `Traceable` and `Untraceable` to achieve cross-crate impls of `Encodable`.

This removes the two completely. They can be reintroduced if required, though the `untraceable!` macro should suffice.

Fixes #3469

Source-Repo: https://github.com/servo/servo
Source-Revision: b34df7c343579f200d2e67e21fc566842a4e4a91
2014-10-06 10:15:33 -06:00
Ms2ger
f430aa82ad servo: Merge #3558 - Remove the fragment_node field from Page (from Ms2ger:fragment-node); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 643a6d07a201d7db9325250522a80bc3357f11ce
2014-10-02 10:15:27 -06:00
Josh Matthews
2dfdae3733 servo: Merge #3520 - Implement basic form control support (from jdm:formcontrols); r=pcwalton
So far the changes to layout seem fairly well-contained; I think this is worth integrating to give us a browser that is easier to dogfood (and allows us to work on things like form submission much easier), especially since the long-term viability of WebComponents-as-forms is not assured.

Source-Repo: https://github.com/servo/servo
Source-Revision: f80096069592b864221abe112eaf2ecb6c444fda
2014-10-01 16:45:29 -06:00
Simon Sapin
b3423c8393 servo: Merge #3487 - Upgrade Rust and enable style crate rustdoc (from servo:rustup-20140923); r=Ms2ger
The biggest language change is that enum variants now also reserve (for future use) a name in the type namespace, which must not collide with other types. Some things were renamed, and others qualified as `module::name`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7409685589c550ee7a9f94182f511acddab4c6fd
2014-09-29 10:45:27 -06:00
Ms2ger
4ea46b3ba8 servo: Merge #3503 - Simplify the Page URL handling in handle_resize_inactive_msg (from Ms2ger:page-url)
Reviewed-by: jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b5fac5bdeb855a0c41ca3dce82db70b19c094aa
2014-09-27 13:39:27 -06:00
Manish Goregaokar
f9ff33e0ec servo: Merge #3468 - Replace our usage our Encodable with JSTraceable; r=jdm (from Manishearth:jstraceable)
Source-Repo: https://github.com/servo/servo
Source-Revision: 95a4731c0eec0cfb2fb70af534757bc7ca63e407
2014-09-24 20:55:41 +05:00
Simon Sapin
e245f210fb servo: Merge #3438 - Upgrade Rust (from servo:rustup)
Source-Repo: https://github.com/servo/servo
Source-Revision: 045328c8e94f5bdfcd67105c5dfa9209f4cd501c
2014-09-20 15:35:08 -07:00
Cameron Zwarich
d6fa87d24b servo: Merge #3422 - First steps of &JSRef -> JSRef conversion (from zwarich:jsref)
Source-Repo: https://github.com/servo/servo
Source-Revision: e9ad87e27eb30cfacd66b575e104ee2784f95591
2014-09-19 19:28:32 -07:00
Josh Matthews
468a8a5fa0 servo: Merge #3172 - Dump initial prototype of devtools server into the build. Expect lies if (from jdm:devtools)
Source-Repo: https://github.com/servo/servo
Source-Revision: b82c0dced08ccda8c3c7f35643c3891bc45b058c
2014-09-19 09:15:03 -04:00
Josh Matthews
aefe684446 servo: Merge #3358 - Delay initiating layout operations for as long as possible (from jdm:thespicemustnotreflow)
Source-Repo: https://github.com/servo/servo
Source-Revision: 75caade8287bbe9ee25a71bea01e3da6a1d3c1b5
2014-09-17 19:09:31 -04:00
Matt Brubeck
6bf4cede00 servo: Merge #3352 - Move link rel=stylesheet fetching to layout task. r=jdm (from mbrubeck:link-style)
Source-Repo: https://github.com/servo/servo
Source-Revision: 0e2cdc5cca80e636bd904ea99e86f31a4ea9bcd2
2014-09-16 08:16:29 -07:00
Jack Moffitt
9d35af7f9b servo: Merge #3299 - Handle iframe.src with a javascript: URL (from servo:iframe-javascript-urls)
Source-Repo: https://github.com/servo/servo
Source-Revision: d161d0ad47dbfbd5ff6e28d19008e0719f078eff
2014-09-15 17:03:54 -06:00
Glenn Watson
f2f944cbc9 servo: Merge #3336 - Handle AttachLayout before ResizeMsg. Fixes #3333 for yahoo static suite (from glennw:resize-fail)
Source-Repo: https://github.com/servo/servo
Source-Revision: 00150b8c712ee2eaac7bc383f3b7e996ac3449fc
2014-09-14 22:54:03 -06:00
Bryan Bell
d5e9a1f337 servo: Merge #3197 - Better handling of iframes in the compositor tree (from mrobinson:iframes)
Source-Repo: https://github.com/servo/servo
Source-Revision: 443bcc4d30940113b9507aeafd19ff16a937b4c9
2014-09-12 11:34:58 -07:00
Glenn Watson
28fa0c8b96 servo: Merge #3294 - Coalesce pending reflow messages so they don't queue up (from glennw:guardian-layout)
Source-Repo: https://github.com/servo/servo
Source-Revision: 091cd688a00daedf8d0aef8c797c827df125c6cf
2014-09-12 15:51:00 +10:00
Jack Moffitt
132ee35633 servo: Merge #3230 - Cargoify servo (from servo:cargoify)
Source-Repo: https://github.com/servo/servo
Source-Revision: b1305bb7d051f83850c51bb0da0ccc86a5e07922
2014-09-09 08:18:18 -06:00