Commit graph

890 commits

Author SHA1 Message Date
Ms2ger
a04d4e63eb Remove not-yet-implemented methods from CharacterData.
This speeds up a web-platform-tests run by about 45 seconds (of 11-12 minutes)
by avoiding three timeouts.
2014-04-19 17:39:13 +02:00
bors-servo
ba9177b7cc auto merge of #2178 : Ms2ger/servo/enum-position, r=jdm
This is a shorter and probably slightly more efficient to write the loop.
2014-04-19 11:01:15 -04:00
bors-servo
5c20ed3023 auto merge of #2179 : Manishearth/servo/refactor-canceled, r=Ms2ger
See #2177
2014-04-19 07:25:15 -04:00
Manish Goregaokar
a748e48f48 Rename Event::default_prevented -> Event::canceled to better match spec (#2177) 2014-04-19 16:02:14 +05:30
bors-servo
4331fad53d auto merge of #2175 : Manishearth/servo/domtests-createevent, r=Ms2ger
#2172

All subtests of `dom/events/Event-defaultPrevented.html` pass now.

CustomEvent has yet to be implemented.(#2173)
2014-04-19 06:22:07 -04:00
Ms2ger
48b8c066f9 Use position in FindEnumStringIndex.
This is a shorter and probably slightly more efficient to write the loop.
2014-04-19 12:20:50 +02:00
Manish Goregaokar
fa7bc7a686 Fix most defaultPrevented test failures (#2172) 2014-04-19 15:46:18 +05:30
Ms2ger
65ed97bab8 Introduce a get_dictionary_property function to reduce duplicated code in the dictionary conversion codegen.
This also explicitly disallows dictionary members without a default value, as
the code for those doesn't currently compile.

This is the second step of my planned rewrite of the dictionary initialization
that will remove the default values we currently use to initialize the
dictionary struct in the 'new' function.
2014-04-18 20:10:55 +02:00
Ms2ger
88c5e733b5 Merge the 'new' and 'Init' functions for dictionaries.
This moves the code in callers more in line with conversions for other types
and ensures the default values given to the dictionary fields (as defined by
the defaultValue function in CGDictionary.impl) do not escape the 'new'
method. The new code is also more in line with the code used by the
FromJSValConvertible trait.

This is the first step of my planned rewrite of the dictionary initialization
that will remove the default values entirely and reduce the code
duplication in the 'Init' (now 'new') function.
2014-04-18 17:12:20 +02:00
Ms2ger
8e596d142e Use 'exceptionCode' when converting to DOMString.
This change allows us to use the code even in cases where we return a
Result type rather than a JSBool. Interface, primitive and union types
already get this right.
2014-04-18 17:12:20 +02:00
bors-servo
58efe0bf75 auto merge of #2156 : Ms2ger/servo/codegen-deadcode, r=jdm 2014-04-18 10:28:11 -04:00
Ms2ger
857eb87bb6 Remove unused references to jsids in the generated code for dictionaries. 2014-04-18 15:52:40 +02:00
Ms2ger
9d7478ab8a Remove some dead code from codegen as found by pyflakes. 2014-04-18 15:52:40 +02:00
bors-servo
099815683d auto merge of #2155 : Ms2ger/servo/dictionary-codegen, r=jdm 2014-04-18 09:40:11 -04:00
Ms2ger
5ac5ba2468 Support nullable strings in dictionaries.
We copy the string in all cases, so there's no need to handle the isMember
case differently.
2014-04-18 11:37:56 +02:00
Ms2ger
b31fdf12ef Add a few tests for dictionary codegen. 2014-04-18 11:30:16 +02:00
Ms2ger
4d20d1716d Implement support for default values for enumeration arguments. 2014-04-18 11:08:21 +02:00
Ms2ger
d53841b016 Handle exceptions from FindEnumStringIndex correctly.
The previous code would return success from the JSNative with a pending
exception, potentially leading to assertion failures inside the JS engine
later.
2014-04-18 10:18:24 +02:00
Ms2ger
baa3845362 Rewrite FindEnumStringIndex to distinguish 'value not found' and 'exception raised'.
This is in preparation for handling those cases differently.
2014-04-18 10:18:17 +02:00
Ms2ger
fa653a5984 Introduce some (commented-out) tests for enumeration codegen. 2014-04-18 10:18:11 +02:00
Josh Matthews
742f73ded5 Add transparent Traceable and Untraceable types to aid proper rooting practices, and replace ad-hoc Untraceable structs with empty Encodable implementations. 2014-04-17 17:41:09 -04:00
bors-servo
7441dae1af auto merge of #2129 : lpy/servo/issue2116, r=jdm
see #2116
I add an `is_interval` field, so that when the `TimerData` is passed by `SetInterval`, we will not delete it from `active_timers`.
Also I think maybe we can extract the code in `ClearTimeout` and `ClearInterval` into another method to avoid duplicate.
2014-04-17 13:34:09 -04:00
lpy
b7dcf62ed0 Implement Window.set/clearInterval.(fixes #2116) 2014-04-18 01:30:39 +08:00
Ms2ger
c9c96d4758 Ensure that optional primitive arguments aren't treated as nullable.
By forgetting the Some(), we caused type inference to convert to Option<T>
for optional non-nullable primitive arguments, and to Option<Option<T>> for
optional nullable primitive arguments (essentially the same thing). This
change brings the primitive codegen in line with the DOMString codegen.

Using distinct types for optionality and nullability would have prevented
this issue.
2014-04-17 16:23:09 +02:00
Ms2ger
f77b775e62 Remove unwrap_object.
There is no good reason to have both unwrap_object and unwrap_jsmanaged.
Removing unwrap_object simplifies the codegen and makes further
simplifications easier.
2014-04-16 11:54:46 +02:00
bors-servo
7149a25e91 auto merge of #2112 : Ms2ger/servo/IDLInterface-JS, r=jdm 2014-04-16 04:22:11 -04:00
Ms2ger
ac46cc6047 Implement FromJSValConvertible for JS<T>. 2014-04-15 21:33:18 +02:00
bors-servo
038730c4bb auto merge of #2054 : sankha93/servo/imageattr, r=jdm 2014-04-15 12:49:14 -04:00
bors-servo
e4f33eb9b9 auto merge of #2114 : Ms2ger/servo/unused-obj-local-arg, r=jdm
This removes the local variable and prefixes the argument with an underscore.
Neither is used right now.
2014-04-15 12:22:44 -04:00
Ms2ger
e4305fe20e Remove unused variable 'obj' from binding functions.
This removes the local variable and prefixes the argument with an underscore.
Neither is used right now.
2014-04-15 17:37:54 +02:00
Ms2ger
dc11464933 Remove the return value from DefineDOMInterface.
This moves the assertion from its only caller into the function itself, to
clarify that we don't intent to deal with any failure here.
2014-04-15 17:32:10 +02:00
Matt Brubeck
28a013cfc5 Move child_inserted into VirtualMethods.
Follow-up from #1984.
2014-04-14 13:39:11 -07:00
Matt Brubeck
8c794c6739 Move inline stylesheet parsing out of HTML parser.
Instead, use shared code to parse stylesheet content when it is inserted,
whether during parsing or dynamically by script.

Based on work by sanools in #1350.
2014-04-14 11:14:07 -07:00
bors-servo
b174a6439b auto merge of #2094 : Manishearth/servo/id-efficiency, r=Ms2ger
This improves the code written for #1822 to use a single linear traversal.

The current code uses a binary search with `CompareDocumentPosition()` for comparing element position, however this method internally calls `traverse_preorder()` (i.e. a linear traversal) so calling this on every pass is quite inefficient.
2014-04-11 17:04:09 -04:00
bors-servo
9d2a6b7824 auto merge of #2087 : Ms2ger/servo/vtable2, r=jdm
Fixes #1527. Does *not* include the code for #1528.

(Originally by @jdm in #1688 and #1866.)
2014-04-11 16:31:14 -04:00
Manish Goregaokar
9f617e9f0c Make register_named_element more efficient 2014-04-11 14:39:23 +05:30
bors-servo
0c4354a439 auto merge of #2093 : Ms2ger/servo/DOMObjectPointerType, r=jdm 2014-04-10 15:16:17 -04:00
Ms2ger
493227c938 Remove DOMObjectPointerType. 2014-04-10 20:19:32 +02:00
Ms2ger
d11316fa05 Make GetCallableProperty more rustic. 2014-04-10 19:21:17 +02:00
bors-servo
986664f527 auto merge of #2088 : Ms2ger/servo/global-ToJSValConvertible, r=jdm 2014-04-10 12:43:23 -04:00
Ms2ger
6c32a7f05f Remove getWrapTemplateForType and simplify wrapForType. 2014-04-10 13:08:54 +02:00
Ms2ger
8c4a3aa387 Use ToJSValConvertible for all conversions to JSVal. 2014-04-10 12:09:18 +02:00
Ms2ger
a3d13c35a2 Remove the IElement trait. 2014-04-10 10:27:32 +02:00
Josh Matthews
6388dec996 Add overridable tree binding/unbinding behaviour. 2014-04-10 10:27:32 +02:00
Josh Matthews
f5d1907195 Integrate Element's after_set/remove behaviour into the virtual method hierarchy. 2014-04-10 10:27:32 +02:00
Josh Matthews
ca6cfb5bca Add support for trait-based virtual methods on Nodes, and use it for before_remove_attr and after_set_attr. 2014-04-10 10:27:28 +02:00
Ms2ger
0dfbfa0b07 Fix HTMLElementDerived::is_htmlelement to take non-HTML elements into account. 2014-04-10 10:06:14 +02:00
Ms2ger
ea2560ef20 Rename before_remove_attr and after_set_attr to allow reusing those names in the next commit. 2014-04-09 23:55:45 +02:00
bors-servo
d7f450dbd7 auto merge of #2045 : Manishearth/servo/pub-struct-2044, r=SimonSapin
See #2044
2014-04-09 10:40:26 -04:00
bors-servo
b9a7949ce4 auto merge of #2067 : saneyuki/servo/id, r=Ms2ger
Follow up #1917
(Derived from #2066)
2014-04-08 14:55:01 -04:00