Commit graph

167 commits

Author SHA1 Message Date
Tetsuharu OHZEKI
db3b5c3c4c Basic Implementation of document.getElementById(), #740 2013-10-15 00:21:13 +09:00
Tetsuharu OHZEKI
f9be872e61 Pass AbstractNode to Node<ScriptView>.add_to_doc(). 2013-10-14 23:01:03 +09:00
Ms2ger
b6b2606c96 Make Document::root private, in preparation for removing it as part of making Document a Node. 2013-10-13 14:08:37 +02:00
Ms2ger
da2cf6cbd7 Implement Window::get_cx() to reduce code repetition. 2013-10-13 12:06:32 +02:00
Ms2ger
438d121cd8 Implement DocumentFragment. 2013-10-12 15:14:09 +02:00
Tim Taubert
9fe9145be4 implement NodeList and consolidate common scope and context retrieval 2013-10-11 07:34:38 -07:00
Ms2ger
cfc9f4956a Reindent some match expressions. 2013-10-10 23:05:30 +02:00
Ms2ger
a5233f2bc4 Support Node.nodeType and Node.nodeValue. 2013-10-10 22:09:34 +02:00
Bobby Holley
c4bbc4cd37 Introduce mutable/immutable variants of reflector() with named lifetimes, and kill unsafe casts. 2013-10-10 13:11:24 +02:00
Ms2ger
40106841f8 Address review comment and add fixmes. 2013-10-10 10:57:38 +02:00
Ms2ger
04319fdb68 Issue #888 - Node's owner document should never be None. 2013-10-10 10:57:38 +02:00
Bobby Holley
5ed8b9e83f Rename |wrapper| to |reflector_| in Reflectable implementations for DOM objects. 2013-10-09 12:21:38 +02:00
Bobby Holley
62ddac8b6f Rename get_wrappercache() to reflector(). v1
I also updated some variable names in the codegen.
2013-10-09 12:11:25 +02:00
Bobby Holley
2cbe2d7ce9 Rename WrapperCache to Reflector.
I think the abstraction from the raw JSObject is still probably worthwhile for
now.
2013-10-09 12:07:41 +02:00
Bobby Holley
0a0599ad9b Rename CacheableWrapper to Reflectable. 2013-10-09 12:03:18 +02:00
Ms2ger
388f685549 Cleanup some code. 2013-10-07 16:30:34 +02:00
Luis de Bethencourt
2dbd065d91 Rename the element field of the DOM Node hierarchy
Renamed htmlelement, and element

Fixes #924
2013-09-19 19:39:38 -04:00
Keegan McAllister
73c1a12f30 bindings: Return errors in Result rather than setting an out parameter
Fixes #909.
2013-09-18 18:07:37 -07:00
Keegan McAllister
4b0680a136 Replace our rust_box with std::unstable::raw::Box
This will keep us in sync with compiler changes.  In fact we had the 'prev' and
'next' fields in the wrong order (but we aren't using them).
2013-09-18 14:57:12 -07:00
Keegan McAllister
68ddc6b4ab Make DOMString an alias for Option<~str>
Fixes #898.
2013-09-18 14:46:42 -07:00
Josh Matthews
d465abdb1c Make all DOM manipulation wait until it's safe to do so (ie. all reflows for the page have completed). Fix a race where a newly-initiated reflow would be considered complete when receiving the completion notice for the previous reflow. 2013-09-16 23:41:34 -04:00
Josh Matthews
37787d55d0 Pass the AbstractNode into the Node.textContent setter. 2013-09-16 23:39:16 -04:00
Ms2ger
bea1c4f01e Issue #852 - Implement the Node.textContent setter. 2013-09-14 11:30:22 -07:00
Josh Matthews
4ec428b9d6 Trigger a reflow when nodes are appended and removed from the document. Fixes #907. 2013-09-12 10:17:00 -07:00
Ilyong Cho
0d4cfd0eb9 Add node.appendChild 2013-09-10 12:39:58 +09:00
Ilyong Cho
bcd7c0b8c6 Add node.removeChild 2013-09-10 11:35:31 +09:00
Ilyong Cho
995e4fdd11 Add some dom node tree implementations 2013-09-10 11:35:31 +09:00
bors-servo
0dd90c75d8 auto merge of #883 : jdm/servo/newglobal, r=kmcallister
Requires https://github.com/mozilla-servo/rust-mozjs/pull/34.
2013-09-09 17:06:53 -07:00
Josh Matthews
da599c6ccf Make the global object be the Window object. Fixes #833. 2013-09-09 10:25:39 -07:00
Ms2ger
fe46fb231a Handle doctype.textContent correctly.
I confused Doctype and DocumentFragment nodes when implementing.
2013-09-09 13:02:20 +02:00
Ms2ger
be2df5d024 Issue #852 - Implement the Node.textContent getter. 2013-09-05 21:20:36 +02:00
Keegan McAllister
51c639c380 Remove a layer of Option on LayoutData
The individual fields are also Options, and LayoutData::new() is a fine default
value.
2013-09-03 16:00:14 -07:00
Keegan McAllister
c22547a4ef Embed layout data directly in Node
This eliminates

    layout_data: Option<@mut ()>

and the unsafe casting around it, which was causing crashes on exit.

Fixes #762.
2013-09-03 13:10:51 -07:00
Josh Matthews
75f1cbd76f Remove all handwritten bindings code. 2013-08-30 13:13:46 -04:00
Josh Matthews
8070f02e39 Generate bindings for Comment and DocumentType. 2013-08-28 20:31:30 -04:00
Josh Matthews
d31e308d3f Remove many long ugly lists of imports of HTML element types. They can now be obtained via dom::types::*, which is autogenerated. 2013-08-27 17:38:27 -04:00
Keegan McAllister
a2d9810b69 Update Rust version again
This gets us the new runtime.
2013-08-15 13:56:29 -07:00
Keegan McAllister
307f1074d3 For loops and misc changes 2013-08-15 13:56:29 -07:00
Keegan McAllister
1bdaff0fad Reorganize tree ref / node traits
rustc is no longer happy with

    impl<NR:TreeNodeRef<N>,N:TreeNode<NR>> TreeUtils for NR
2013-08-15 13:55:40 -07:00
Keegan McAllister
be061a9aa0 Library changes 2013-08-15 13:55:40 -07:00
Josh Matthews
ddf4bee6df Generate HTMLIFrameElement bindings. 2013-08-08 09:34:08 -04:00
Junyoung Cho
00c3ffb7a4 Add a getter of 'document.head' according to HTML spec.
Add a getter and a setter of 'document.title' according to HTML spec.
Modify the test file.
2013-08-08 09:42:56 +09:00
Josh Matthews
8e2c39d2dd Generate bindings for HTMLImageElement. 2013-08-06 21:54:37 -04:00
Josh Matthews
65a33f60e5 Generate bindings for HTMLDivElement, and pass abstract type to methods that need access to the opaque wrappers. 2013-08-06 19:03:09 -04:00
Josh Matthews
9a545b13c3 Generate bindings for HTMLHeadElement. 2013-08-05 11:29:12 -04:00
Josh Matthews
fd4efad70c Generate bindings for Node, CharacterData, Text, Element, and HTMLElement. Hook up text nodes to use the new bindings. 2013-08-05 11:29:12 -04:00
Keegan McAllister
a9a5e90787 Move is_root() into AbstractNode 2013-08-01 15:31:57 -07:00
Keegan McAllister
c047a4b436 Replace some Option matching with higher order methods
This shrinks the code and should be easier to read if we are used to the
idioms.

Also change one copy to clone() while we're here.
2013-08-01 15:31:57 -07:00
Josh Matthews
a2bdab7989 Generate bindings for Window. 2013-07-30 16:30:46 -04:00
Josh Matthews
5546f2105b Generate HTMLDocument bindings. Introduce invariant into generated bindings that associated DOM classes are named the same as their interfaces, so Event and Event_ need to be swapped. 2013-07-30 16:28:02 -04:00