Commit graph

1318 commits

Author SHA1 Message Date
Ms2ger
8df0f981fe Keep calling the DefineDOMInterface method for NoInterfaceObject interfaces.
DefineDOMInterface also creates the proxy handler for proxy classes, so it
should be called in this case as well.
2014-06-20 19:21:47 +02:00
Ms2ger
5acbea5199 Pass the interface object-related arguments to CreateInterfaceObjects2 together in an Option.
This clarifies the code and fixes our support of NoInterfaceObject interfaces.
2014-06-20 18:47:31 +02:00
Ms2ger
f11e7ee0a9 Generate code for NoInterfaceObject interfaces in InterfaceTypes and InheritTypes.
There is no reason for those interfaces to be excluded.
2014-06-20 17:52:20 +02:00
Ms2ger
c8b8550cfb Correct the condition for generating CGGetConstructorObjectMethod.
As we don't actually implement the feature for which this is needed, I've
commented the call out for now and mentioned the issue for the feature.
2014-06-20 15:20:19 +02:00
Josh Matthews
040a43778e Merge pull request #2664 from Manishearth/untraceable
Use Traceable for primitive types, DOMString, and NodeFlags
2014-06-20 11:03:10 +01:00
Josh Matthews
0395558343 Merge pull request #2663 from saneyuki/trace_comment
Mention the usecase of Traceable/Untraceable.
2014-06-20 11:00:37 +01:00
Ms2ger
d7c4f2ba93 Stop pretending that CreateInterfaceObjects2 can return the interface object.
We do not currently support the case of a non-callback interface that doesn't
have an interface prototype object. (This case is not allowed by the WebIDL
specification; it was added to Gecko to allow feature-detecting the URL
interface. See <https://bugzilla.mozilla.org/show_bug.cgi?id=1026720>.)

It follows that, if we call CreateInterfaceObjects2 at all, we will call it
with a protoClass argument, so there is no reason to use a nullable pointer
type for that argument.

Moreover, if we had actually supported that case, the returned interface
object would have been stored in the interface prototype object cache, to ill
effect.
2014-06-20 10:33:47 +02:00
Ms2ger
5a1ed6396e Handle JSAPI OOM failures by task failure as soon as possible.
We already ensure to fail the task if GetProtoObject returns null, as we don't
have a useful way to handle OOM, and we don't wish to thread the failure
through to some place where we could handle it in a useful way.

Unfortunately, we cannot ensure through the type system that none of those
functions returns null, so we use assertions to check it dynamically.
2014-06-20 09:46:12 +02:00
Manish Goregaokar
f558f9aad0 Request termination for XHR 2014-06-19 22:37:33 +05:30
Manish Goregaokar
53d0e4ec04 Use Traceable for NodeFlags 2014-06-16 22:04:17 +05:30
Manish Goregaokar
ee56b45a8c Use Traceable for primitive types and DOMString 2014-06-16 21:59:01 +05:30
Tetsuharu OHZEKI
2477e6feac Mention the usecase of Traceable/Untraceable. 2014-06-17 01:28:59 +09:00
Ms2ger
90b6c77666 Remove unused code to support preffed-off and chrome-only APIs. 2014-06-14 13:14:34 +02:00
Ms2ger
bb0efdd5a2 Make some locals immutable. 2014-06-13 21:41:28 +02:00
bors-servo
239fa77dd5 auto merge of #2653 : Ms2ger/servo/docs, r=Ms2ger,metajack 2014-06-13 15:01:54 -04:00
bors-servo
7ed5041891 auto merge of #2649 : ebalint/servo/2580_JS_T_unrooted_replace, r=jdm
removed .clone() calls
modified from_rooted method parameter: T to &T
2014-06-13 14:33:03 -04:00
bors-servo
c0576108c5 auto merge of #2585 : ebalint/servo/2530, r=jdm 2014-06-13 14:04:45 -04:00
Ms2ger
d2707d3344 Correct formatting in documentation in js.rs. 2014-06-13 19:34:18 +02:00
Ms2ger
db5badd36f Add some blank lines to ensure rustdoc picks up the lists. 2014-06-13 19:33:19 +02:00
Ms2ger
7b35e11626 Use '//!' rather than '///' for the overview comment in js.rs. 2014-06-13 19:33:19 +02:00
Edit Balint
94ec3cde8a Split Page code out of script_task.rs #2530 2014-06-13 19:28:57 +02:00
Ms2ger
e09ed14362 Remove Reflectable::mut_reflector. 2014-06-13 19:19:58 +02:00
Ms2ger
c331b200b1 Use Cell for Reflector::object. 2014-06-13 19:19:56 +02:00
Edit Balint
bda29ade09 Replace uses of JS<T>.unrooted() with JS::from_rooted #2580 2014-06-13 19:06:28 +02:00
bors-servo
4c5437c58b auto merge of #2652 : saneyuki/servo/root, r=jdm
fix #2650
2014-06-13 12:49:52 -04:00
Tetsuharu OHZEKI
e5a708f727 Make the conservertive stack scanner calculates Temporary<T> as root instead of calling root methods.
See: https://github.com/mozilla/servo/issues/2650
2014-06-14 01:32:18 +09:00
bors-servo
da668f53d9 auto merge of #2616 : Ms2ger/servo/attrvalue, r=jdm
Obsoletes #2073.
2014-06-13 11:41:13 -04:00
Ms2ger
b012c99e05 Implement parsed 'unsigned long' attributes.
This commit is partially based on earlier work by Bruno Abinader in #2073.
2014-06-13 14:13:29 +02:00
Ms2ger
972c69883e Implement Element.classList (partially fixes #1717). 2014-06-13 14:13:00 +02:00
bors-servo
58b776e0b5 auto merge of #2646 : Manishearth/servo/cleartimeout-opt, r=jdm 2014-06-13 08:10:57 -04:00
Ms2ger
0803e5d0ac Implement support for parsed attributes.
This commit is heavily based on earlier work by Bruno Abinader in #2073.
2014-06-13 14:07:49 +02:00
Tetsuharu OHZEKI
28f8d16c87 Fix the assertion failure with inserting node contains child which has id into the document
https://github.com/mozilla/servo/issues/2630
2014-06-13 20:36:27 +09:00
Manish Goregaokar
e21faaaba7 Don't fail on clearing nonexistant timeouts 2014-06-13 16:54:24 +05:30
bors-servo
897e39dcf3 auto merge of #2640 : Ms2ger/servo/derefmut, r=jdm 2014-06-11 17:19:51 -04:00
Ms2ger
fa148e5ff4 Pass immutable self to HTMLBodyElement::SetOnunload. 2014-06-11 23:06:27 +02:00
Ms2ger
d6eae6ae8b Cleanup a mutable variable in dispatch_event. 2014-06-11 23:01:15 +02:00
Ms2ger
687722da2d Pass immutable self to Node::{SetNodeValue, SetTextContent}. 2014-06-11 22:53:53 +02:00
Ms2ger
34c42f6acb Use internal mutability for Document::idmap. 2014-06-11 22:39:52 +02:00
bors-servo
baa97fe6e5 auto merge of #2632 : brunoabinader/servo/document-queryselectorall, r=Ms2ger
Spec:
http://dom.spec.whatwg.org/#dom-parentnode-queryselectorall

Closes #851.
2014-06-11 16:05:04 -04:00
Ms2ger
04fe508e13 Use interior mutability for MouseEvent. 2014-06-11 21:51:42 +02:00
bors-servo
cc23f3c436 auto merge of #2633 : Ms2ger/servo/derefmut, r=jdm
Part of #1854.
2014-06-11 13:59:01 -04:00
Ms2ger
c41dd2477d Use internal mutability for HTMLImageElement. 2014-06-11 19:51:08 +02:00
Ms2ger
be375de91f Use internal mutability for FormData. 2014-06-11 19:51:08 +02:00
Ms2ger
23a6b6823b Use internal mutability for Document::{quirks_mode, encoding_name}. 2014-06-11 19:51:08 +02:00
Ms2ger
e9b64dc361 Use internal mutability for Window::{active_timers, next_timer_handle}. 2014-06-11 19:51:07 +02:00
Ms2ger
07c67a1d5a Use internal mutability for Window::browser_context. 2014-06-11 19:51:07 +02:00
Ms2ger
288e0bc877 Use internal mutability for CharacterData::data. 2014-06-11 19:51:07 +02:00
Ms2ger
d230077f9f Stop mutating Element::namespace. 2014-06-11 19:51:07 +02:00
Ms2ger
6df6a7d512 Use internal mutability for Node.flags. 2014-06-11 19:51:07 +02:00
Ms2ger
bb0cbb0a74 Use internal mutability for HTMLIFrameElement. 2014-06-11 19:51:07 +02:00