Commit Graph

75 Commits

Author SHA1 Message Date
Ms2ger
11ab76f902 servo: Merge #4905 - Fix some warnings in script (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b655b54f8022d963460e510511ad774a1a1d9ccd
2015-02-12 12:12:47 -07:00
Keith Yeung
1d08f09ee9 servo: Merge #4845 - Moved Location object from Window to Document (from KiChjang:location-in-doc); r=jdm
Fixes #4840

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c02f8956d37d39f4482c570621ffa1c61a3f41c
2015-02-05 11:54:48 -07:00
Ms2ger
ee8a39cc1b servo: Merge #4850 - Remove the Deref implementation for Root (from Ms2ger:root-deref); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d439c0d16d6ea1449d207858705d124e191ecc13
2015-02-05 10:51:50 -07:00
Josh Matthews
66c8eb4c1e servo: Merge #4519 - Cookie support (from jdm:cookies); r=Ms2ger
As specified in http://tools.ietf.org/html/rfc6265. Requires https://github.com/servo/cookie-rs/pull/1. Tested against http://www.joshmatthews.net/cookie.php, http://www.html-kit.com/tools/cookietester/, https://github.com/login, and https://mobile.twitter.com/session/new .

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e3f504d94ffb77ec6148166d2ab73978e1c71c8
2015-02-04 11:57:54 -07:00
Gilles Leblanc
7d7d66326b servo: Merge #4706 - Initialize trusted-ness of DOM events properly (from gilles-leblanc:issue-3740); r=jdm
Fixes #3740

Source-Repo: https://github.com/servo/servo
Source-Revision: e0d4fd35947d5ba80df26a4157c920b7b226d53d
2015-02-04 03:39:49 -07:00
Alexandru Cojocaru
0cbc5adfcf servo: Merge #4820 - add unwrap to send/recv calls (from servo:send-recv); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6dcc7c26d88bb0452226ff8c34539e368e03d9
2015-02-03 11:24:53 -07:00
Tetsuharu OHZEKI
4554fb52da servo: Merge #4613 - Stop using JS<T> in layout (from saneyuki:layoutjs); r=jdm
#4571

Source-Repo: https://github.com/servo/servo
Source-Revision: 462940fc2a2ba76794f37d9a6ac5af8da454aa66
2015-01-31 16:24:48 -07:00
Ms2ger
155838196e servo: Merge #4766 - Import the util crate as util rather than servo_util (from Ms2ger:util); r=Manishearth
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27e0f16407629422b5e047e067d458142372c97e
2015-01-29 05:12:49 -07:00
Josh Matthews
b11f7d94dc servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Ms2ger
dfc91abf3f servo: Merge #4682 - Move to to_owned rather than into_string (from servo:to_owned); r=jdm
into_string has been removed from Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebc7c32d5ce58ada3f9d8ffdb60cc025eb5997
2015-01-20 07:54:46 -07:00
Ms2ger
fba98eebeb servo: Merge #4674 - Document js.rs (from Ms2ger:doc-js); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2629445748b047434db01bee15273576e229d802
2015-01-20 04:13:01 -07:00
Matt McCoy
4ee5b0a4cb servo: Merge #4566 - Fixes #4164 Make Constructor and new functions take GlobalRef by value (from mattnenterprise:globalref-by-value); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7800d98728bfa1375ad8b6a2dac7f2f35603b6d1
2015-01-08 13:12:55 -07:00
Megha Gupta
49ad060695 servo: Merge #4495 - Add HTMLElementTypeId enum (fixes #3625) (from MeghaGupta:typeid); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 2e17cae5d080db72d5f89733d19e0304857cfd34
2015-01-04 12:12:48 -07:00
Jim Hoskins
528d5f3f46 servo: Merge #4539 - Implement Document.defaultView - fixes #4518 (from jimrhoskins:default-view); r=jdm
Fixes: https://github.com/servo/servo/issues/4518
Source-Repo: https://github.com/servo/servo
Source-Revision: dd84ae6bfb46872dfb0f0a8dca680452dadce3f0
2015-01-03 15:51:45 -07:00
Ms2ger
473efad71a servo: Merge #4526 - Move away from Root::deref (from servo:deref-1); r=Manishearth
This is a start towards fixing #3868. Not all callers have been fixed yet, so the `Deref` implementation remains for now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 141b5d038fad3c0c44a6f1b309b8ca9edea54580
2015-01-02 09:22:51 -07:00
Manish Goregaokar
2f9e35cd21 servo: Merge #4173 - plugins: Autogeneration of Reflectable; Inheritance lint (from Manishearth:a-more-dom-struct); r=kmcallister
Now `#[dom_struct]` also generates Reflectable impls, and there's another lint to ensure that a DOM struct only contains one bare DOM field (as the first field) or a Reflector.

A lot of this was generated by sed -- each autogenerated change has its own commit for easy review; these will be squashed later.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56d1b16d1b3a18d5ffa1d9c32562d3b209851711
2014-12-27 22:12:45 -07:00
Manish Goregaokar
8e0ed407b9 servo: Merge #4485 - Replace most to_string calls by into_string calls (from servo:into_string); r=Ms2ger
`str::to_string()` goes through a `Formatter`, `str::into_string()` is a direct copy and is apparently 5× faster.

This is a rebase of the boring and bitrot-prone parts of #4366.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9857ea26cb9ee262654bee97322dbbf373486bff
2014-12-27 06:51:44 -07:00
Tetsuharu OHZEKI
d32b4e13f5 servo: Merge #4434 - script: Remove glob imports added in #4405 (from saneyuki:glob_script); r=jdm
#4406

Source-Repo: https://github.com/servo/servo
Source-Revision: 803e5ef7904f2843d8e44184f9154af079eea9fa
2014-12-18 15:57:48 -07:00
Glenn Watson
636d338cf6 servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Patrick Walton
2a3b044e37 servo: Merge #4289 - style: Implement basic column spans, quirks mode, and the legacy bgcolor and border attributes (from pcwalton:hacker-news); r=SimonSapin
This patch provides some of the groundwork for column spans greater than
1. It implements the column-span CSS property as well as the
corresponding colspan attribute; although the former is not
well-specified outside of CSS multi-column layout, INTRINSIC refers to
it. Although width is distributed to spanning columns, they do not yet
contribute minimum and preferred widths; this will be implemented in a
follow-up.

The parsing for the legacy bgcolor and border attributes is
implemented according to the WHATWG HTML specification.

Additionally, this patch cleans up some miscellaneous formatting issues,
refactors layout/css somewhat to eliminate needless levels of
indirection, and cleans up the handling of table rowgroups.

New Hacker News screenshot: http://i.imgur.com/hnl2a7E.png

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e31e5f98747e4b42dafcc4b076fac46aeb09310
2014-12-15 19:33:46 -07:00
Patrick Walton
a25bac63a9 servo: Merge #3844 - script: Improve dirty propagation and fix script-layout synchronization (from pcwalton:script-layout-synchronization); r=jdm
This fixes race conditions whereby layout and script could be running
simultaneously.

r? @jdm
cc @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: 5f2684d2f81046abd7548fb22d996d1e506a104a
2014-12-15 15:31:21 -07:00
Patrick Walton
755e7a69c3 servo: Merge #4193 - ports/cef: Implement accelerated compositing for the CEF port (from pcwalton:cef-redux); r=pcwalton,metajack
@glennw, is it possible to rebase your stuff on top of this? Sorry for the mess.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ba06d50e3a611d1c27c6c9aa0b21441282911c3f
2014-12-10 09:40:03 -07:00
ProgramFOX
c0732d32a0 servo: Merge #4270 - Implemented Document#inputEncoding (from ProgramFOX:issue-4252); r=saneyuki
Resolves #4252

Source-Repo: https://github.com/servo/servo
Source-Revision: feabaf34acfc41c0976acdff5e4df15a135d1b09
2014-12-08 13:28:12 -07:00
Clark Gaebel
b2e4f7735a servo: Merge #4194 - Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented (from cgaebel:incremental-reflow-fix); r=pcwalton
When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."

This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.

This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c506f7a98368020c7936517f1d8e243c9556937
2014-12-08 12:28:14 -07:00
Jonathan Hao
176aa57228 servo: Merge #4257 - Implement the "messageevent" argument to Document#createEvent. #4008 (from johnathan79717:4008); r=jdm
This is a fix for issue #4008.

Source-Repo: https://github.com/servo/servo
Source-Revision: bdb3a2538b9f10aad4c911cc0118257d8311cd26
2014-12-08 01:55:08 -07:00
ProgramFOX
251cf2a0a8 servo: Merge #4265 - Corrected case of Document#characterSet (from ProgramFOX:issue-4251); r=Ms2ger
Resolves #4251

Source-Repo: https://github.com/servo/servo
Source-Revision: b805e74fef57e5bec167b2dc6403f9f5e7fc92e7
2014-12-06 07:31:01 -07:00
Manish Goregaokar
3259a22290 servo: Merge #4002 - Implement framework for element activation (fixes #3999) (from Manishearth:activation); r=jdm
Still need to impl `Activatable` on all activatable elements. I'll probably push those changes to this PR, however they can be made separately as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 19c69b1625dda46d3c5501292e7e2d0328e400b4
2014-12-06 03:55:04 -07:00
Ms2ger
a3849887cb servo: Merge #4245 - Introduce MutNullableJS::or_init (from Ms2ger:lazy-getters); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 66d4acef8d591b5516d99cb4c7dd9e379242b928
2014-12-05 03:46:07 -07:00
Ms2ger
99f1e078ae servo: Merge #4219 - Cleanup some Document code (from Ms2ger:cleanup-document); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 92a8c7a80ccd5721884da96dbd28c6c40ba32b70
2014-12-04 08:46:02 -07:00
Michael Booth
fec3728296 servo: Merge #4156 - Updated reflect_dom_object to be passed by value fixes #4122 (from Michael03:master); r=Ms2ger
This fixes issue #4122

Source-Repo: https://github.com/servo/servo
Source-Revision: ed45aa9efd6cf238a83fcae6a772886df61771f7
2014-12-02 05:24:49 -07:00
Rohan Prinja
6766184c70 servo: Merge #4067 - implement Document#createAttribute (from ajnirp:document-create-attribute); r=Manishearth
fixes #4054

Source-Repo: https://github.com/servo/servo
Source-Revision: d215ff786756bc38042b7f41ed93c14efa3b8fca
2014-11-23 08:21:37 -07:00
Zachary Newman
5759f62525 servo: Merge #4029 - Update behavior of Document.createElement (from znewman01:issue4009); r=Ms2ger
Fixes #4009.

Only lower-case the argument to Document#createElement if it's a HTML document.

Source-Repo: https://github.com/servo/servo
Source-Revision: 929671f945d30deaf37bbb9e23d15d09387bdf09
2014-11-18 07:15:34 -07:00
Rohan Prinja
9c4eb9f085 servo: Merge #4014 - key[board]event args for Document#createEvent (from ajnirp:doc-createevent-keyevents); r=Manishearth
fix #4007

Source-Repo: https://github.com/servo/servo
Source-Revision: eeb11d68516c201d7c57508263517b69ef425273
2014-11-16 21:36:30 -07:00
Ms2ger
dc76d0473b servo: Merge #3979 - Use {Cell,RefCell}::as_unsafe_cell (from Ms2ger:as_unsafe_cell); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d3b76c60d2d5bd61cf6b48d09d769df77af293d
2014-11-14 15:48:35 -07:00
Josh Matthews
82582a7847 servo: Merge #3585 - Implement single-line text input (from jdm:input); r=gw
This attempts to implement a bunch of the DOM Level 3 Events spec by implementing the KeyboardEvent interface, the document focus context, and dispatching keyup/keydown/keypress events appropriately. There's also some support for multiline text input that's untested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ffa845cf463b14b19322d477a77ffd20efa89a9
2014-11-13 10:57:33 -07:00
Glenn Watson
71f726977a servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Ms2ger
22af3b0b93 servo: Merge #3905 - Pay attention to the prefix in create_element when creating a non-HTML element (from Ms2ger:prefix-create); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 45262ec9d212088f2bafa95981099d25eaac77bb
2014-11-05 19:27:35 -07:00
Ms2ger
1668e628b1 servo: Merge #3853 - Move build_element_from_tag out of the HTML parser (from Ms2ger:create); r=Manishearth
This function is not particular to the parser, so should live in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c6859937354760f2d175c60bad1daa16bd2ed22
2014-10-30 11:06:36 -06:00
Matt Brubeck
471ff598d1 servo: Merge #3721 - Synchronous script loading during HTML parsing (from mbrubeck:script-sync); r=Ms2ger
Fixes #3356.  This makes script elements fetch their source synchronously and execute immediately by default.  It also lays some groundwork for future deferred or async script loading.

(Depends on #3716 to fix a content test failure caused by running script during parsing.)

Source-Repo: https://github.com/servo/servo
Source-Revision: 272ae0cc1beb83c839d5fbd746e67f4ae746db99
2014-10-29 15:51:41 -06:00
Ms2ger
37ff1c87ed servo: Merge #3780 - Cleanup Document (from Ms2ger:cleanup-document); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43b13e7548f16c0c2721120ebabd89e88ecaf17d
2014-10-23 11:36:40 -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
19bfe8ebf2 servo: Merge #3776 - Macroize event handler getters and setters (from saneyuki:macro); r=jdm
Fix #3755

This doesn't convert some specialized event handlers (e.g. `HTMLBodyElement`'s ones, `HTMLElement.GetOnload()`).

Source-Repo: https://github.com/servo/servo
Source-Revision: 470d27a6681b4647de64c085654403820d48f7af
2014-10-22 22:30:29 -06:00
Edit Balint
e0046d6bcd servo: Merge #3774 - Make DOM getters that return &JS<T> return Temporary<T> instead #3707 (from ebalint:3707_DOM_getters); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1bc9c049c6536bc102939fd97f4390eed3dcc2bf
2014-10-22 13:36:38 -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
Manish Goregaokar
3bb2ca07b8 servo: Merge #3684 - Add #[dom_struct], inline autogenerated trace() methods (from Manishearth:dom_struct); r=jdm
This attribute implies #[jstraceable], #[privatize], and #[must_root].

Source-Repo: https://github.com/servo/servo
Source-Revision: 9af090006017747809f5f72a8870bd516b20f483
2014-10-15 23:24:20 -06:00
Ms2ger
71e068b8fa servo: Merge #3685 - Remove the reflector field from Document (from Ms2ger:doc-reflector); r=jdm
This field became unused in commit 99a36cbeb6077976861d94b7af16e9e57994a14d.

Source-Repo: https://github.com/servo/servo
Source-Revision: 08b10a6d7de548304225a8a9c19e3280a8ecbfeb
2014-10-15 08:09:23 -06:00
Patrick Walton
9f1038ee7a servo: Merge #3623 - script: Use atom comparison in more places, especially for attributes (from pcwalton:use-atoms-2); r=jdm
75% improvement in style recalc for Guardians of the Galaxy.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8077edc0622b04aeb26d42ced86ea285c9cac0e7
2014-10-14 12:42:35 -06:00
Tim Taubert
e87471af27 servo: Merge #3666 - Privatize DOM (fixes #3644) (from ttaubert:issue/3644-privatize-dom); r=Manishearth
This PR removes public fields from all (hope I didn't miss any) DOM structs. Should |Page| be privatized as well? This PR additionally introduces a #[privatize] lint to ensure nobody accidentally re-introduces a public field.

All changesets compile separately if applied in the same order. Hope that helps reviewing but I can of course squash them before merging.

Source-Repo: https://github.com/servo/servo
Source-Revision: f350879574194bb612eac88e21d0920e9827afa7
2014-10-13 22:00:37 -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