servo/components/script/dom
bors-servo 65c30224a1 Auto merge of #6043 - mukilan:get_root_element, r=Ms2ger
The [current implementation](http://mxr.mozilla.org/servo/source/components/script/dom/element.rs#666) is wrong as it always tries to cast the furthest ancestor into an element.
When the method is invoked on an element that is in the document tree, this will be the `Document` node, which is not an element. The ```last().map(ElementCast::to_temporary)``` returns Some(None) hence the method will return ```None```, while the correct behaviour is to return the ```html``` node.

This PR interprets the line ```"furthest ancestor element node of whatever node is being discussed"``` in the spec to mean ```"find the furthest ancestor that is an element node"```.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6043)
<!-- Reviewable:end -->
2015-05-15 03:35:37 -05:00
..
bindings Fix length value of interface methods 2015-05-14 19:11:10 +02:00
webidls Auto merge of #6046 - Jinwoo-Song:background_origin, r=pcwalton 2015-05-14 20:53:02 -05:00
activation.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
attr.rs Implement get_attr_for_layout that returns an AttrValue. 2015-05-12 13:02:50 +02:00
blob.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
browsercontext.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
canvasgradient.rs Fix CanvasGradient.addColorStop() 2015-04-27 19:42:48 +02:00
canvaspattern.rs Add/update comments with links to spec 2015-04-14 18:03:13 -04:00
canvasrenderingcontext2d.rs Auto merge of #5949 - mmatyas:canvas_dirty, r=jdm 2015-05-07 07:09:41 -05:00
characterdata.rs Make NodeTypeId include CharacterData variant 2015-04-29 13:30:21 +09:00
closeevent.rs Move the CloseEventInit defaults into IDL. 2015-05-06 12:19:53 +02:00
comment.rs Make NodeTypeId include CharacterData variant 2015-04-29 13:30:21 +09:00
console.rs Remove as_slice() calls from script. 2015-04-26 10:52:55 +02:00
create.rs Pass an Atom to Element::create. 2015-04-27 12:31:37 -07:00
css.rs Implement the CSS interface 2015-04-25 12:36:38 +02:00
cssstyledeclaration.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
customevent.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
dedicatedworkerglobalscope.rs Remove reference counting from the Runtime implementation. 2015-05-10 18:09:09 +02:00
document.rs Partially implement getter of Document 2015-05-14 18:28:43 +02:00
documentfragment.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
documenttype.rs Auto merge of #5721 - nox:nodeorstring, r=jdm 2015-04-16 14:47:32 -05:00
domexception.rs Implement Clone for Copy types. 2015-04-28 23:31:10 +02:00
domimplementation.rs Implement a DocumentLoader type that tracks pending loads and notifies the script task when the queue is empty. Dispatch the document load event based on the DocumentLoader's notification. 2015-05-11 13:41:51 -04:00
domparser.rs Implement a DocumentLoader type that tracks pending loads and notifies the script task when the queue is empty. Dispatch the document load event based on the DocumentLoader's notification. 2015-05-11 13:41:51 -04:00
domrect.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
domrectlist.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
domstringmap.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
domtokenlist.rs Implement trivial stringifiers 2015-04-29 19:07:09 +02:00
element.rs Fix implementation of Element::get_root_element 2015-05-14 18:22:28 +05:30
errorevent.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
event.rs Implement incomplete opening, sending, and closing behaviour for WebSockets using rust-websocket. 2015-05-05 12:17:35 -04:00
eventdispatcher.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
eventtarget.rs Implement Clone for Copy types. 2015-04-28 23:31:10 +02:00
file.rs
formdata.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
htmlanchorelement.rs Rename Au methods with f32/f64 instead of frac32/frac/subpx 2015-05-05 18:23:29 +02:00
htmlappletelement.rs Implement HTMLAppletElement.name 2015-05-14 18:28:39 +02:00
htmlareaelement.rs Change MutNullableJS<T> to MutNullableHeap<JS<T>> 2015-04-27 10:45:38 +02:00
htmlaudioelement.rs
htmlbaseelement.rs
htmlbodyelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmlbrelement.rs
htmlbuttonelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmlcanvaselement.rs Remove remaining as_slice / as_mut_slice calls. 2015-04-28 23:31:11 +02:00
htmlcollection.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
htmldataelement.rs
htmldatalistelement.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
htmldialogelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmldirectoryelement.rs
htmldivelement.rs
htmldlistelement.rs
htmlelement.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
htmlembedelement.rs
htmlfieldsetelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmlfontelement.rs
htmlformelement.rs Make HTMLFormElement name attribute use an atom 2015-05-14 18:28:42 +02:00
htmlframeelement.rs
htmlframesetelement.rs
htmlheadelement.rs
htmlheadingelement.rs
htmlhrelement.rs
htmlhtmlelement.rs
htmliframeelement.rs Various fixes for cleaning up iframes, compositor layers, pipelines and threads. 2015-05-14 11:42:54 +10:00
htmlimageelement.rs Make HTMLImageElement name attribute use an atom 2015-05-14 18:28:40 +02:00
htmlinputelement.rs Auto merge of #5800 - aweinstock314:x11-clipboard, r=jdm 2015-05-06 16:09:37 -05:00
htmllabelelement.rs
htmllegendelement.rs
htmllielement.rs
htmllinkelement.rs Auto merge of #5804 - jdm:docloader, r=Ms2ger 2015-05-11 14:35:33 -05:00
htmlmapelement.rs
htmlmediaelement.rs Fix some overlong lines. 2015-05-14 13:26:13 +02:00
htmlmetaelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmlmeterelement.rs
htmlmodelement.rs
htmlobjectelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmlolistelement.rs
htmloptgroupelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmloptionelement.rs Import string_cache::Atom into the attributes' macros 2015-05-14 18:28:38 +02:00
htmloutputelement.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
htmlparagraphelement.rs
htmlparamelement.rs
htmlpreelement.rs
htmlprogresselement.rs
htmlquoteelement.rs
htmlscriptelement.rs Implement a DocumentLoader type that tracks pending loads and notifies the script task when the queue is empty. Dispatch the document load event based on the DocumentLoader's notification. 2015-05-11 13:41:51 -04:00
htmlselectelement.rs Implement HTMLSelectElement.{multiple, name, size} (fixes #6017) 2015-05-12 16:22:36 +09:00
htmlsourceelement.rs
htmlspanelement.rs
htmlstyleelement.rs Stop using TElement's unsound get_attr in link/style code. 2015-05-10 18:26:02 +02:00
htmltablecaptionelement.rs
htmltablecellelement.rs Improve support of limited unsigned long attributes 2015-05-06 20:18:08 +02:00
htmltablecolelement.rs
htmltabledatacellelement.rs
htmltableelement.rs Parse table border. 2015-05-12 12:08:18 +02:00
htmltableheadercellelement.rs
htmltablerowelement.rs Replace the Str implementation for AttrValue by a Deref implementation. 2015-04-25 15:24:27 +02:00
htmltablesectionelement.rs Replace the Str implementation for AttrValue by a Deref implementation. 2015-04-25 15:24:27 +02:00
htmltemplateelement.rs
htmltextareaelement.rs Auto merge of #5800 - aweinstock314:x11-clipboard, r=jdm 2015-05-06 16:09:37 -05:00
htmltimeelement.rs
htmltitleelement.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
htmltrackelement.rs
htmlulistelement.rs
htmlunknownelement.rs
htmlvideoelement.rs
imagedata.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
keyboardevent.rs Change the dispatch in TextInput::handle_keydown_aux match on enum values instead of strings. 2015-05-06 11:46:21 -04:00
location.rs Properly generate proxy stringifiers 2015-04-29 18:52:38 +02:00
macros.rs Implement HTMLAppletElement.name 2015-05-14 18:28:39 +02:00
messageevent.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
mod.rs Implement incomplete opening, sending, and closing behaviour for WebSockets using rust-websocket. 2015-05-05 12:17:35 -04:00
mouseevent.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
namednodemap.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
navigator.rs
navigatorinfo.rs
node.rs Fix some overlong lines. 2015-05-14 13:26:13 +02:00
nodeiterator.rs
nodelist.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
performance.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
performancetiming.rs
processinginstruction.rs Make NodeTypeId include CharacterData variant 2015-04-29 13:30:21 +09:00
progressevent.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
range.rs Remove helpers that correspond to DOM methods 2015-05-04 15:18:27 +02:00
screen.rs
servohtmlparser.rs Implement Clone for Copy types. 2015-04-28 23:31:10 +02:00
storage.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
storageevent.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
testbinding.rs Generate forwarded setters 2015-05-07 16:04:25 +02:00
text.rs Remove helpers that correspond to DOM methods 2015-05-04 15:18:27 +02:00
textdecoder.rs Throw RangeErrors in TextEncoder/TextDecoder constructors. 2015-04-14 09:41:57 -04:00
textencoder.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
treewalker.rs Remove helpers that correspond to DOM methods 2015-05-04 15:18:27 +02:00
uievent.rs Remove Temporary::new() 2015-04-28 09:22:46 +02:00
urlhelper.rs Remove as_slice() calls from script. 2015-04-26 10:52:55 +02:00
urlsearchparams.rs Implement trivial stringifiers 2015-04-29 19:07:09 +02:00
userscripts.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
validitystate.rs
virtualmethods.rs Make HTMLFormElement name attribute use an atom 2015-05-14 18:28:42 +02:00
webglbuffer.rs Fix WebGL objects inheritance 2015-05-04 02:06:20 +02:00
webglobject.rs Fix WebGL objects inheritance 2015-05-04 02:06:20 +02:00
webglprogram.rs Fix WebGL objects inheritance 2015-05-04 02:06:20 +02:00
webglrenderingcontext.rs Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8. 2015-05-05 10:07:34 -04:00
webglshader.rs Fix WebGL objects inheritance 2015-05-04 02:06:20 +02:00
webgluniformlocation.rs Fix WebGL objects inheritance 2015-05-04 02:06:20 +02:00
websocket.rs Fix some overlong lines. 2015-05-14 13:26:13 +02:00
window.rs Add support for timing out scripts 2015-05-14 10:59:20 +01:00
worker.rs Uniformise root() methods 2015-04-28 09:22:45 +02:00
workerglobalscope.rs Remove reference counting from the Runtime implementation. 2015-05-10 18:09:09 +02:00
workerlocation.rs Don't link to specific WHATWG multipage page 2015-04-16 22:39:25 -04:00
workernavigator.rs Don't link to specific WHATWG multipage page 2015-04-16 22:39:25 -04:00
xmlhttprequest.rs 1. Add an Option<Pipeline_id> field to the LoadData struct, and a corresponding parameter to LoadData::new() 2015-05-05 12:31:40 -04:00
xmlhttprequesteventtarget.rs Implement Clone for Copy types. 2015-04-28 23:31:10 +02:00
xmlhttprequestupload.rs