Ms2ger
696c57006b
Store this-values and arguments in immutable locals in codegen.
2014-06-22 17:17:27 +02:00
Ms2ger
4f0d6979e7
Implement static attributes ( fixes #1989 ).
2014-06-22 15:15:18 +02:00
Ms2ger
6d2784aece
Implement static methods ( fixes #1989 ).
2014-06-22 15:15:12 +02:00
Ms2ger
92f9fe59e5
Introduce static makeNativeName methods to share code with the upcoming static members.
2014-06-22 15:10:56 +02:00
Tetsuharu OHZEKI
975fee82da
Remove needless mutabilities from script crate.
2014-06-22 21:22:58 +09:00
Tetsuharu OHZEKI
7fcade294c
Remove "DerefMut" implementation from Root/JSRef.
2014-06-22 21:22:58 +09:00
Ms2ger
8ec2017126
Merge pull request #2681 from saneyuki/attr
...
Use internal mutability for Attr::value; r=jdm
2014-06-22 14:22:00 +02:00
Ms2ger
c90a8529c5
Use internal mutability for Attr::value.
2014-06-22 20:39:21 +09:00
Ms2ger
4964d2792e
Pass the NativeProperties struct to CreateInterfaceObjects2.
...
This will simplify adding more kinds of properties, such as static attributes.
2014-06-22 13:25:18 +02:00
Ms2ger
886d401ff0
Introduce a NativeProperties struct to store the properties.
...
This will simplify adding more kinds of properties, such as static attributes.
2014-06-22 13:25:18 +02:00
Ms2ger
da28a791e5
Store the arrays of properties as &'static [T] rather than [T, ..N].
...
This means the .as_slice() call (which is problematic when storing the array
in a static struct) is no longer necessary.
2014-06-22 13:25:18 +02:00
Josh Matthews
f6294a67c5
Merge pull request #2693 from Ms2ger/fix-indentation
...
Clean up the indentation of generated code.
2014-06-22 13:04:32 +02:00
Ms2ger
0731045249
Remove some spurious newlines from the generated code.
2014-06-21 20:07:09 +02:00
Ms2ger
1a349369f1
Merge pull request #2692 from Martiusweb/style_is_in_doc
...
HTMLStyleElement only applies CSS in the document; r=Ms2ger
2014-06-21 19:38:31 +02:00
Josh Matthews
5067ebac2a
Merge pull request #2683 from Ms2ger/nointerfaceobject
...
Fix the implementation of NoInterfaceObject.
2014-06-21 18:47:39 +02:00
Martin Richard
c2345e930d
HTMLStyleElement only applies CSS in the document
...
HTMLStyleElement will not parse a style element created in Javascript until it
is attached to the DOM.
I added a reftest for the given cases:
* a style element is defined in the HTML code,
* a style element is created in Javascript, CSS content is added to the
element and the element is later attached to the document,
* a style element is created in Javascript, attached to the document and
later CSS content is added to the element,
* a style element is created in Javascript, CSS content is added to the
* element but the element is never attached to the document.
2014-06-21 18:17:19 +02:00
Lars Bergstrom
6c150724f4
Merge pull request #2666 from mbrubeck/pinch
...
Separate "desktop" and "mobile" zoom calculations.
2014-06-21 08:06:26 -05:00
Ms2ger
5fb475617b
Move the responsibility for indenting code from CGAbstractMethod.definition_body to its caller.
2014-06-21 14:48:23 +02:00
Ms2ger
46b9343459
Use CGIndenter for CGRegisterProtos.definition_body.
2014-06-21 14:44:08 +02:00
Ms2ger
f3a8f74d3c
Use CGIndenter for CGClassConstructHook.definition_body.
2014-06-21 14:38:58 +02:00
Ms2ger
31ab6415c9
Use CGIndenter for CGAbstractClassHook.definition_body.
2014-06-21 14:36:35 +02:00
Ms2ger
504efb66fb
Indent the contents of obj_toString correctly.
2014-06-21 14:25:08 +02:00
Ms2ger
eb4213f613
Indent the contents of get.
2014-06-21 14:22:14 +02:00
Ms2ger
b5ca6d9a37
Indent the contents of hasOwn.
2014-06-21 14:19:31 +02:00
Ms2ger
cf556cbbd6
Indent the contents of defineProperty.
2014-06-21 14:14:49 +02:00
Ms2ger
8ef51158ff
Indent the contents of getOwnPropertyDescriptor.
2014-06-21 14:10:14 +02:00
Ms2ger
df552fca5d
Use CGIndenter for CGProxyUnwrap.definition_body.
2014-06-21 13:57:54 +02:00
Ms2ger
5affa73aa1
Use CGIndenter for CGSpecialized{Method, Getter, Setter}.definition_body.
2014-06-21 13:57:39 +02:00
Ms2ger
437c025e99
Stop indenting in CGMethodCall.
2014-06-21 13:48:55 +02:00
Ms2ger
fa7a0aae75
Use CGIndenter for CGDefineDOMInterfaceMethod.definition_body.
2014-06-21 13:41:38 +02:00
Ms2ger
b717fbe868
Use CGIndenter for CGGetPerInterfaceObject.definition_body.
2014-06-21 13:38:57 +02:00
Ms2ger
44a609d563
Use CGIndenter for CGWrapMethod.definition_body.
2014-06-21 13:37:18 +02:00
Ms2ger
644df404f5
Return a CGThing from CGAbstractMethod.definition_body.
2014-06-21 13:34:37 +02:00
Ms2ger
6cf79732f9
Move the responsibility for indentation to CGAbstractBindingMethod.definition_body from its callees.
2014-06-21 13:24:51 +02:00
Manish Goregaokar
7d029ae7b2
Fix field-value checking to not throw for lone spaces
2014-06-21 09:33:17 +05:30
Matt Brubeck
4fef0d1c1c
Separate "desktop" and "mobile" zoom calculations.
...
This ensures that the layout viewport responds to each type of zoom correctly,
and lays the ground for CSS Media Queries and CSS Device Adaption.
Until we have proper touch support, mobile-style "pinch" zoom can be simulated
by holding Ctrl while scrolling with a mousewheel or trackpad gesture.
2014-06-20 16:33:57 -07:00
Ms2ger
93220523b0
Make AttrList NoInterfaceObject ( fixes #1223 ).
2014-06-20 19:21:47 +02:00
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
2c0b6e4962
Merge pull request #2658 from saneyuki/xhr
...
Use internal mutability for XMLHttpRequest.
2014-06-20 12:47:43 +01: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
Tetsuharu OHZEKI
7c4200fc74
Use internal mutability for XMLHttpRequest.
2014-06-20 18:55:36 +09: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