Граф коммитов

484 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd 9d5430fc7b Bug 987457 - rename ProtoAndIfaceArray to ProtoAndIfaceCache; r=bz 2014-03-22 13:04:09 -04:00
Nathan Froyd a9b5bcd756 Bug 948445 - use different caching schemes for ProtoAndIfaceArray depending on the global kind; r=bz 2013-12-10 16:04:55 -05:00
Bobby Holley 2ca3777187 Bug 958326 - Remove same-compartment security wrapper machinery. r=mrbkap 2014-03-26 10:59:20 -03:00
Boris Zbarsky 25b6f9a6ac Bug 983300 part 4. Convert exceptions in static methods returning promises into rejected promises. r=khuey,efaust 2014-03-21 12:18:24 -04:00
Boris Zbarsky a4309c8b4e Bug 983300 part 2. Introduce a GenericPromiseReturningBindingMethod for methods that return Promise return value. r=khuey,bholley
This method effectively catches exceptions from GenericBindingMethod and converts them into rejected promises.  This handles calls to Promise-returning APIs from everything except Ion fast paths.
2014-03-21 12:18:24 -04:00
Bobby Holley fbb9b62de8 Bug 825392 - Remove SOWs. r=bz 2014-03-19 13:35:45 -03:00
Bobby Holley 82090508be Bug 825392 - Generate anonymous content reflectors in the XBL scope. r=bz 2014-03-19 13:35:45 -03:00
Boris Zbarsky f64c8624be Bug 983228. Add a sequence tracer for sequences of unions. r=baku 2014-03-14 14:51:22 -04:00
Boris Zbarsky b5d04164e0 Bug 981036. Disallow calling DOM constructors as functions in non-release builds. r=bholley 2014-03-10 17:38:31 -04:00
Boris Zbarsky 6519b1495e Bug 952890 part 2. Remove the IsArrayLike method, since it no longer matches any spec concept. r=peterv 2014-02-14 10:46:09 -05:00
L. David Baron 03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Kyle Huey 27b2eadbc9 Bug 975052. r=smaug 2014-02-26 11:00:40 -08:00
Bobby Holley c3916e0699 Bug 973780 - Remove Xray expando slot from new-binding objects. r=bz 2014-02-21 11:35:49 -08:00
Phil Ringnalda 01ad150169 Back out 0f5f58d5d410:8db4d719f5f8 (bug 973780) for debug WinXP mochitest-3 assertions
CLOSED TREE
2014-02-20 20:46:50 -08:00
Bobby Holley 04c9e8266a Bug 973780 - Remove Xray expando slot from new-binding objects. r=bz 2014-02-20 18:24:10 -08:00
Boris Zbarsky 5aacab2d55 Back out bug 952890, since the dependencies aren't fixed yet. 2014-02-14 10:50:19 -05:00
Boris Zbarsky 80ea81c519 Bug 952890 part 2. Remove the IsArrayLike method, since it no longer matches any spec concept. r=peterv 2014-02-14 10:46:09 -05:00
Boris Zbarsky 7abaa88b21 Bug 956806 part 2. Share generic getters/setters/methods across all bindings. r=peterv 2014-02-07 15:56:14 -05:00
Boris Zbarsky 024de5ef38 Bug 965094. Reconcile the behavior of the JSObject* argument for Func on interfaces and on interface members. r=bholley 2014-02-05 13:38:18 -05:00
Boris Zbarsky f9ba8ad57a Bug 958667 part 3. Add helper methods for testing whether things should be exposed in privilegd or certified apps. r=peterv 2014-02-05 13:38:17 -05:00
Jon Coppeard 4df3aa4450 Bug 959787 - Handlify JS_GetProperty and related APIs r=terrence r=bz 2014-01-31 09:55:20 +00:00
Eric Faust 6635c05430 Bug 947487 - Part 2: Generate and use js::Class structs for DOM proxies. (r=bz) 2014-02-01 00:29:52 -08:00
Carsten "Tomcat" Book f4bc96a601 Backed out changeset e2c75ec7f3d4 (bug 959787) for breaking b2g builds on a CLOSED TREE 2014-01-31 12:11:23 +01:00
Jon Coppeard ba27569312 Bug 959787 - Handlify JS_GetProperty and related APIs r=terrence r=bz 2014-01-31 09:55:20 +00:00
Boris Zbarsky 9363c07116 Bug 945416 part 6. Fix the resolve/enumerate hooks in WebIDL bindings in the [Global] case to handle standard classes. r=peterv 2014-01-29 22:33:33 -08:00
Nikhil Marathe af8e8bebc9 Bug 879245 - Implement thenables for Promises. r=bz
--HG--
extra : rebase_source : cde27792ae58b13c88367df7a99fc8981097eedd
2014-01-23 10:47:29 -08:00
Boris Zbarsky 998668c1ff Bug 958576 part 2. Move FakeDependentString to the binding_detail namespace. r=peterv
I took the opportunity to move away from the NonNull<nsAString> hack
we had for string arguments, since just passing in a
FakeDependentString works fine and callees are now less likely to
declare their arg as being of that type.

In the process of doing that, I ran into what looks like a substantive
bug in the "owning union with string default value" case: We were
doing mValue.mString.Value() without ever having constructed
mValue.mString!
2014-01-22 14:37:10 -05:00
Boris Zbarsky bd16624e1c Bug 958576 part 1. Create a binding_detail namespace and move AutoSequence to it. r=peterv
Note that we can't name this namespace "detail", because then we'd
have both ::mozilla::detail and ::mozilla::dom::detail namespaces in
the tree and various template name lookups that look for "detail::Foo"
would get confused, and the code would not compile.  C++ strikes
again.
2014-01-22 14:37:10 -05:00
Wes Kocher 75665b3d7f Backed out 2 changesets (bug 958576) for osx 10.8 m-oth bustage on a CLOSED TREE
Backed out changeset 2ec09c9a9df1 (bug 958576)
Backed out changeset 49bec226f30e (bug 958576)
2014-01-22 16:17:25 -08:00
Boris Zbarsky 3146ee0f7a Bug 958576 part 2. Move FakeDependentString to the binding_detail namespace. r=peterv
I took the opportunity to move away from the NonNull<nsAString> hack
we had for string arguments, since just passing in a
FakeDependentString works fine and callees are now less likely to
declare their arg as being of that type.

In the process of doing that, I ran into what looks like a substantive
bug in the "owning union with string default value" case: We were
doing mValue.mString.Value() without ever having constructed
mValue.mString!
2014-01-22 14:37:10 -05:00
Boris Zbarsky 5052fd5d63 Bug 958576 part 1. Create a binding_detail namespace and move AutoSequence to it. r=peterv
Note that we can't name this namespace "detail", because then we'd
have both ::mozilla::detail and ::mozilla::dom::detail namespaces in
the tree and various template name lookups that look for "detail::Foo"
would get confused, and the code would not compile.  C++ strikes
again.
2014-01-22 14:37:10 -05:00
Jon Coppeard 5518bdc828 Bug 959787 - Handlify has property APIs r=terrence r=bz 2014-01-22 11:28:06 +00:00
Ryan VanderMeulen 79c6767d01 Backed out changesets d8a6bde76293 and 0b28eaf5bde9 (bug 956806) for suspicion of making OSX 10.6 debug mochitest-bc even more orange prone than usual. 2014-01-08 15:34:24 -05:00
Boris Zbarsky 0b927c76d8 Bug 956806 part 2. Share generic getters/setters/methods across all bindings. r=peterv 2014-01-08 10:29:15 -05:00
Ehsan Akhgari 1b83407ce9 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Wes Kocher 51be634cd2 Backed out changeset ef0eeaec74a8 (bug 949183) on the theory that it somehow broke every single b2g test on a CLOSED TREE 2013-12-16 18:27:43 -08:00
Sean Stangl 59305924cb Bug 949183 - Fix jsid static constructor explosion. r=Waldo 2013-12-16 14:40:05 -08:00
Birunthan Mohanathas 3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Nathan Froyd 4174f51d65 Bug 922094 - part 2 - make nsGlobalWindow report its proto/iface cache size, if appropriate; r=bz 2013-11-20 08:55:09 -05:00
Boris Zbarsky 299e9bc2b3 Bug 941437 part 2. Remove the unused cx argument from UNWRAP_OBJECT and UNWRAP_WORKER_OBJECT. r=smaug 2013-11-21 07:51:16 -05:00
Boris Zbarsky ae8b4cf576 Bug 941437 part 1. Remove the unused cx argument from dom::UnwrapObject. r=smaug 2013-11-21 07:51:15 -05:00
Nathan Froyd 7b9a9d912c Bug 940573 - make the global's ProtoAndIfaceArray an actual object; r=bz 2013-11-19 14:28:09 -05:00
Kyle Huey facf7517b4 Bug 940071: Free the proto and iface cache for generated globals. r=bz 2013-11-19 14:05:42 +08:00
Kyle Huey 492d0e235c Bug 936327. r=bent 2013-11-19 14:05:41 +08:00
Tom Schuster 4478f5b384 Bug 933834 - Rename and handlify JS_ValueToString. r=terrence,bz 2013-11-16 13:31:36 +01:00
Ms2ger cca4d45da6 Backout changesets ded0d64f6786:03f041d03f24 and 30cbd1abde1a (bug 935696, bug 933834 and bug 939194) for build bustage. 2013-11-17 16:39:25 +01:00
Tom Schuster bc757ef965 Bug 933834 - Rename and handlify JS_ValueToString. r=terrence,bz 2013-11-16 13:31:36 +01:00
Kyle Huey 020d8b6c36 Bug 928312: Convert the worker global object and all remaining EventTargets to new DOM bindings. r=bent,peterv,smaug 2013-11-05 22:16:26 +08:00
Peter Van der Beken 6a145a3bfd Bug 932322 - Make Window's WebIDL properties be own properties of window. r=bz.
--HG--
extra : rebase_source : 5595267a420f81f20e5e227712886c9329bec473
2013-10-08 18:18:40 +02:00
Ryan VanderMeulen c9cb6d04fe Backed out 3 changesets (bug 932309, bug 932322) for Linux mochitest-bc timeouts on a CLOSED TREE.
Backed out changeset aea34e69d171 (bug 932322)
Backed out changeset 2b99a0f6ff1b (bug 932309)
Backed out changeset 0e3bcb78784e (bug 932309)
2013-11-04 14:31:21 -05:00
Peter Van der Beken 395356226a Bug 932322 - Make Window's WebIDL properties be own properties of window. r=bz.
--HG--
extra : rebase_source : b8ce4fedf7fc46b14a1d01663945d1b0e22bdcdd
2013-10-08 18:18:40 +02:00
Ed Morley 339e4d3302 Backed out changeset e697e7dcc321 (bug 932322) 2013-11-01 11:14:30 +00:00
Peter Van der Beken af8c9a9b08 Bug 932322 - Make Window's WebIDL properties be own properties of window. r=bz.
--HG--
extra : rebase_source : 0225f25a61d1bffdae8eac4f82d7fe725a3af2df
2013-10-08 18:18:40 +02:00
Peter Van der Beken a4fe40c32e Bug 932315 - Throw a different error when this-unwrapping fails for security reasons. r=bz.
--HG--
extra : rebase_source : a92639be64d8d591ea4c97955bc04e6047e0d027
2013-10-16 18:11:25 +02:00
Brian Hackett 98ec75f9e6 Bug 930048 - Remove need to read objects directly when optimizing singleton accesses, r=jandem. 2013-10-29 16:10:59 -06:00
Birunthan Mohanathas 98f3b9652a Bug 784739 - Switch from NULL to nullptr in dom/ (1/2); r=ehsan 2013-10-28 10:04:12 -04:00
Tom Schuster 127ebf3721 Bug 930782 - Handlify JS_WrapValue. r=terrence 2013-10-26 18:19:05 +02:00
Steve Fink 1b7c5fcec0 Bug 925916 - Random minor code cleanups, r=smaug 2013-10-15 15:34:13 -07:00
Steve Fink a484573cac Bug 925916 - Add some handles to dom/bindings, r=bz
--HG--
extra : rebase_source : 2443d2b988dea432c4961e8b042b0288e1dc7016
2013-10-11 22:02:39 -07:00
Tom Schuster 1faae39271 Bug 8844105 - Handlify JS_WrapObject. r=terrence 2013-10-15 20:02:23 -04:00
Boris Zbarsky a22f746363 Bug 918011 part 1. Move RootedDictionary into its own header. r=smaug
--HG--
rename : dom/bindings/BindingUtils.h => dom/bindings/RootedDictionary.h
2013-09-26 00:04:59 -04:00
Boris Zbarsky db4d6d4736 Bug 919603 part 2. Change this-handling in codegen to only do the special global object stuff on interfaces where it might matter. r=peterv 2013-09-25 14:38:30 -04:00
Ryan VanderMeulen b2c316d8b2 Backed out 5 changesets (bug 905493, bug 920125, bug 919603) for mochitest orange on a CLOSED TREE.
Backed out changeset ccef656b2973 (bug 919603)
Backed out changeset 4b29ce0b2fff (bug 919603)
Backed out changeset b0a051ec55b7 (bug 919603)
Backed out changeset baa9a774aad1 (bug 920125)
Backed out changeset e03276bf4eaa (bug 905493)
2013-09-25 18:22:33 -04:00
Boris Zbarsky d7f8928b36 Bug 919603 part 2. Change this-handling in codegen to only do the special global object stuff on interfaces where it might matter. r=peterv 2013-09-25 14:38:30 -04:00
Peter Van der Beken d0b24c7ccf Bug 920196 - Make QueryInterface opt-in for WebIDL interfaces. r=bz.
--HG--
extra : rebase_source : 4cf7f9dc90f234dd663da05f27c0dc9484c7c0e1
2013-09-24 21:37:53 +02:00
Benoit Jacob 229d2760cd Bug 913847 - Include MainThreadUtils.h instead of nsThreadUtils.h - r=ehsan 2013-09-19 09:54:42 -04:00
Wes Kocher 0b90687d1e Backed out changeset 040522aacba4 (bug 913847) 2013-09-18 17:18:56 -07:00
Benoit Jacob b7afc93adc Bug 913852 - BindingUtils.h doesn't need to include <algorithm> - r=bz 2013-09-18 18:50:32 -04:00
Benoit Jacob 5526ea7b69 Bug 913847 - Include MainThreadUtils.h instead of nsThreadUtils.h - r=ehsan 2013-09-18 18:50:32 -04:00
Boris Zbarsky 7f0a897989 Bug 915419. Add support for "object" types in owning unions (so union return values and unions in dictionaries and sequences. r=dzbarsky, smaug
Adds RootedUnion and NullableRootedUnion structs that are used on the
stack for union return values when the union needs rooting.  It also
adds a TraceUnion method on union return values, which is called by
(Nullable)RootedUnion or by dictionary tracing.  TraceUnion traces
typed array and object members of unions (the only things unions can
contain so far that might need tracing).  Union return values are
changed to store raw JSObject* or typed array structs instead of
Rooted versions of both; the tracing is now handled via TraceUnion.

The wrapping code for dictionary arguments to constructors is fixed to
actually work.  This required adding GetAs* methods to union return
values that return references to the internal data.

The SetToObject method is adjusted to actually work for union return
value structs and not assume it's being generated for a
union-conversion struct, and we now generate SetToObject methods as
needed for union return values.
2013-09-12 22:34:16 -04:00
Dan Gohman a50084b38d Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Olli Pettay f5c09ae0aa Bug 910910 - Enable Event ctors in workers, r=khuey
--HG--
extra : rebase_source : 983d01d13aa66a8499350a4960b5913b22c9783a
2013-09-10 21:27:32 +03:00
Ms2ger fd34744914 Bug 913923 - Part b: Move OwningNonNull into its own header; r=dzbarsky
--HG--
rename : dom/bindings/BindingUtils.h => dom/bindings/OwningNonNull.h
2013-09-10 09:03:37 +02:00
Ms2ger 31f1d9f15c Bug 913923 - Part a: Move UnionMember into its own header; r=dzbarsky 2013-09-10 09:03:37 +02:00
Kyle Huey bf7d0aa16a Bug 911258: Part 5 - Use the unified exception handling mechanism on workers. r=bz 2013-09-08 20:29:21 -07:00
Kyle Huey 888aba875b Bug 910937: Remove xpc_UnmarkGrayObject and use JSAPI directly. r=mccr8 2013-09-08 20:28:48 -07:00
Ehsan Akhgari 82b9523028 Bug 913531 - Remove the unnecessary #includes from nsIXPConnect.idl; r=bholley 2013-09-06 13:50:24 -04:00
Peter Van der Beken 19de89f34e Bug 905392 - Need way to throw web-console-visible exception-message from JS-implemented webidl object - bustage fix on a CLOSED TREE. 2013-09-06 15:27:25 +02:00
Peter Van der Beken b174788298 Bug 905392 - Need way to throw web-console-visible exception-message from JS-implemented webidl object. r=bz. 2013-09-03 14:01:53 +02:00
Boris Zbarsky 0931f880af Bug 910795 part 2. Use the new Rebind() setup to avoid creating string copies for variadic string arguments. r=smaug 2013-09-04 16:43:12 -04:00
Boris Zbarsky 9ca8e983b5 Bug 868799 part 3. Use RootedTypedArray in codegen. r=smaug 2013-08-29 00:30:05 -04:00
Andrew McCreight f8bde121bd Bug 904826 - Remove some unneeded nsLayoutStatics calls. r=smaug,bholley,bz 2013-08-27 15:39:02 -07:00
Boris Zbarsky 8955ed2808 Bug 908576 part 3. Get rid of PrototypeIDMap structs. r=smaug 2013-08-23 22:42:41 -04:00
Ms2ger e88cf99a15 Bug 907605 - Remove BindingUtils.h include from PrimitiveConversions.h; r=bz 2013-08-22 08:34:48 +02:00
Trevor Saunders c64e5ea4a3 bug 905418 - get rid of more static constructors in dom/bindings/ r=smaug 2013-08-14 18:04:24 -04:00
Ms2ger 9d023a67df Bug 904110 - Move alignment features out of Util.h into a new header; r=Waldo 2013-08-14 09:00:52 +02:00
Jon Coppeard e133b9b2a9 Bug 903352 - Handlify remaining PropertyDescriptor APIs r=terrence r=bholley r=smaug 2013-08-12 12:09:14 +01:00
Peter Van der Beken ac70c03afa Bug 895758. Make the global scope polluter a proxy. r=bzbarsky 2013-07-09 10:45:13 -04:00
Terrence Cole 09de524f1a Bug 862115 - Use Rooted<JSPropertyDescriptor> in favor of JSPropertyDescriptor::AutoRooter r=terrence r=smaug r=bholley 2013-04-30 10:29:40 -07:00
Nicholas Nethercote d8f824e34e Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Boris Zbarsky a91edf5138 Bug 897913 part 2. Allow touching interface objects via an Xray even if the page they're in can't touch them. r=bholley,smaug 2013-08-07 17:40:00 -04:00
Nicholas Nethercote 9624be5713 Bug 901750 - Change return type of |JSNative| from |JSBool| to |bool|. code=nnethercote,jandem. r=luke,bz.
--HG--
extra : rebase_source : 5b3d7cc339af6d93bde078322e25c6e740d1b617
2013-08-02 00:41:57 -07:00
Boris Zbarsky ba2cacb577 Bug 900898 part 4. Support typed arrays inside sequences and variadics. r=smaug 2013-08-05 13:40:02 -04:00
Bill McCloskey 35518f5639 Bug 899804 - Make CPOWs handle instanceof with WebIDL interfaces (r=bz,dvander) 2013-08-01 16:45:17 -07:00
Ehsan Akhgari 2824b29025 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Trevor Saunders 6b2dfe7a73 Bug 899368 - remove static constructors added in bug 894448 with some constexpr pixi dust. r=bz 2013-07-30 08:57:28 +09:00
Peter Van der Beken f3d03f59de Bug 894448 part 2 - Remove nativeOwnership = 'nsisupports'. r=bzbarsky 2013-07-04 17:24:59 +02:00
Ms2ger 8609abdb1f Bug 885170 - Remove nsINode::GetClassInfo(); r=peterv 2013-07-24 09:31:06 +02:00
Boris Zbarsky 0314f249cd Bug 895009. Don't pass in NonNull/OwningNonNull arguments to WebIDL binding consumers. r=peterv 2013-07-22 08:15:43 -04:00
Jon Coppeard a0056f5fa0 Bug 888338 - 6 - more browser post barriers r=mccr8 2013-07-23 10:58:27 +01:00
Ryan VanderMeulen 7c21303600 Backed out changesets 0a196c0e9f96 (bug 895974) and 0d8aa14f5ed3 (bug 895009) for causing intermittent Linux32 mochitest-1 asserts on a CLOSED TREE. 2013-07-22 18:18:17 -04:00
Boris Zbarsky cebee2f230 Bug 895009. Don't pass in NonNull/OwningNonNull arguments to WebIDL binding consumers. r=peterv 2013-07-22 08:15:43 -04:00
Nicholas Nethercote 9cdaaf7828 Bug 887558 (part 2) - Move various functions into ProxyObject and FunctionProxyObject. r=jorendorff.
--HG--
extra : rebase_source : 14402b9ab7eda3389eb1b812ee961e46067b5b1d
2013-06-20 22:39:22 -07:00
Nicholas Nethercote ff86dae788 Bug 887558 (part 1) - Introduce ProxyObject and some sub-classes. r=jorendorff.
--HG--
extra : rebase_source : 33ed2aff35acbe4de8891a9fb34c60e7a314d9c8
2013-06-20 21:27:28 -07:00
Boris Zbarsky 4ee1caf801 Bug 891585. Don't JS_WrapValue same-compartment typed array return values in bindings code (e.g. ImageData.data). r=peterv 2013-07-11 11:58:29 -04:00
Kyle Huey ab927a2cc9 Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff 2013-07-09 07:28:15 -07:00
Ehsan Akhgari 7721ae648c Bug 889016 - Part 1: Add an API to report a not-enough-arguments error in Web IDL bindings; r=bzbarsky 2013-07-04 09:24:49 -04:00
Jon Coppeard ef8bb39711 Bug 885310 - 1 Rename JSHandleFoo in the browser r=bz 2013-06-21 14:12:46 +01:00
Andrea Marchesini 91c64da847 Bug 841442 - Move HTMLFormElement to WebIDL, r=bz 2013-06-19 10:24:37 -04:00
Jon Coppeard b4a1d2128a Bug 884371 - Remove JSMutableHandleXXX from the browser r=bz 2013-06-19 11:32:27 +01:00
Boris Zbarsky c23542725a Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug 2013-06-17 16:31:13 -04:00
Ryan VanderMeulen 71c9853712 Backed out 3 changesets (bug 883358) for Android mochitest-3 failures on a CLOSED TREE.
Backed out changeset 84b35dd1879d (bug 883358)
Backed out changeset b5e6522257cb (bug 883358)
Backed out changeset 757a3f2e5de6 (bug 883358)
2013-06-17 19:51:12 -04:00
Boris Zbarsky 4fea0995d3 Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug 2013-06-17 16:31:13 -04:00
Boris Zbarsky ad494b55cc Bug 882653 part 4. Improve the WebIDL binding error reporting for the not-sequence, not-callable, not-dictionary, not-date, and invalid-enum-value cases. r=smaug 2013-06-17 13:07:03 -04:00
Boris Zbarsky f33f6d5496 Bug 882653 part 1. Improve error reporting for bogus this objects in WebIDL bindings. r=smaug 2013-06-17 13:07:03 -04:00
Peter Van der Beken e246f74b5d Bug 851465 - Remove slim wrappers - remove various slim wrapper code and checks. r=bholley. 2013-04-19 21:57:18 +02:00
James Kitchener b71cfc0ec2 Bug 796850 - Implement Code Generation for Bytestring in WebIDL bindings r=bz 2013-06-13 01:18:35 -04:00
Boris Zbarsky 7a3587f2d2 Bug 877281 part 6. Replace ${jsvalPtr} with a MutableHandle ${jsvalHandle}. r=peterv
It's a little unfortunate that we need both ${jsvalHandle} and
${jsvalRef}, but the only other option is to consistently have a
MutableHandle in this code.  If the thing we have to work with is a
Rooted, that means doing JS::MutableHandle<JS::Value>(&myRooted) as
the thing to substitute for ${jsvalHandle}.  Just using "&myRooted"
doesn't work, because things like "&myRooted.set()" or
"&myRooted.address()" fail, even if parenthesized as
"(&myRooted).set()", because &myRooted is actually a Rooted*, not a
MutableHandle.

We could go the JS::MutableHandle<JS::Value>(&myRooted) route if
desired; it would primarily uglify dictionary and sequence to-js
conversions.  With the setup in this patch, ideally it looks pretty
idiomatic except for the use of .set() instead of operator= on Rooted.
2013-06-07 22:45:46 -04:00
Ms2ger 94aefffcb2 Bug 876602 - Move JS-implemented webidl construction code into C++; r=bz 2013-06-01 08:56:23 +02:00
Ms2ger 6452f0c3f0 Bug 876604 - Outparamdel UnwrapDOMObjectToISupports; r=bz 2013-06-01 08:56:02 +02:00
Peter Van der Beken 3402cab97c Bug 874321 - Fix setting of expandos on Xrays for DOM bindings with named properties. r=bz.
--HG--
extra : rebase_source : 697545417d27696de05c0f22987e4cb187d226cd
2013-05-29 11:38:57 +02:00
Kyle Huey 0d78767303 Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz 2013-05-30 11:15:31 +08:00
Boris Zbarsky 3ed0c22089 Bug 875622 part 2. Use handles in ConvertJSValueToString. r=smaug 2013-05-24 09:16:00 -04:00
Boris Zbarsky cb039702b6 Bug 865951. If the return value of a JS-implemented method or attribute is a JS-implemented interface and the returned object is not a DOM object, automatically wrap it up in an instance of that interface. r=mccr8
This does not invoke __init on the chrome object, since there are no
arguments to do it with anyway.  It also doesn't invoke init(), so
don't do this in cases in which the chrome-side object will need to
know its window.
2013-05-20 13:47:08 -04:00
Boris Zbarsky 43f774459d Bug 868312 finale: finish rooting dom/ code. r=smaug 2013-05-17 21:48:25 -04:00
Boris Zbarsky 6b527597e0 Bug 873337. Change the order of the decl and holder in js-to-native conversions to clean up the code some. Now the holder always comes after the decl. r=smaug 2013-05-17 21:48:25 -04:00
Nathan Froyd 0b82017ee5 Bug 873479 - fix BindingUtils.h to compile with GCC 4.4 in non-C++0x mode; r=bz 2013-05-17 10:44:19 -04:00
Boris Zbarsky 90dcaa61d5 Bug 868715 part 8. Add tracing to WebIDL sequence return values. r=peterv 2013-05-16 12:36:56 -04:00
Boris Zbarsky 79374d2426 Bug 868715 part 7. Add tracing to dictionaries. r=peterv 2013-05-16 12:36:55 -04:00
Boris Zbarsky ac6b11ed0d Bug 868715 part 6. Add the ability to trace sequence arguments. r=peterv 2013-05-16 12:36:55 -04:00
Boris Zbarsky 68c0f91dfe Bug 868715 part 4. Use on-stack Rooted<JSObject*> for 'object' arguments in WebIDL bindings. r=peterv 2013-05-16 12:36:55 -04:00
Boris Zbarsky 42f794f96b Bug 871177. Fix rooting hazard in IsNotDateOrRegexp. r=smaug 2013-05-15 21:46:44 -04:00
Terrence Cole b6490325af Bug 777548 - Make non-cc-participant tracing indirect; r=smaug,billm,jst 2013-03-28 13:37:22 -07:00
Boris Zbarsky 3aaf7effea Bug 867863. Be a little more careful in GlobalObject initialization. r=peterv 2013-05-08 15:50:58 -04:00
Boris Zbarsky da03e696a5 Bug 869311. More rooting in dom/bindings and content/base. r=smaug 2013-05-07 22:34:56 -04:00
Boris Zbarsky ec2d2df69a Bug 865969 part 9. Remaining miscellaneous rooting fixes in WebIDL bindings. r=ms2ger 2013-05-03 19:29:09 -04:00
Boris Zbarsky 7640b170ac Bug 865969 part 6. Fix rooting hazards in BindingUtils.cpp. r=smaug 2013-05-03 19:29:08 -04:00
Boris Zbarsky 6e1db48b4d Bug 865969 part 1. Better rooting in bindings for 'object' arguments, as well as for worker interface arguments passed as JSObject*. r=smaug 2013-05-03 19:29:07 -04:00
David Zbarsky 8cdcfa8969 Bug 866450 Part 1: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:45 -04:00
Boris Zbarsky fb71a87689 Bug 860841. Hook up the proto chain of a WebIDL interface object to the interface object of its nearest ancestor interface that has one, as if these were ES6 classes. r=peterv 2013-05-02 14:38:19 -04:00
Ed Morley cd58a5c447 Backed out changeset ad10907da2d4 (bug 866450) for B2G build failures 2013-05-02 11:58:05 +01:00
David Zbarsky 1527681014 Bug 866450 Part 1: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:45 -04:00
Boris Zbarsky 8766287733 Bug 861022 part 2. Root the global object in WebIDL prototype and interface object setup. r=peterv,terrence 2013-05-01 23:44:12 -04:00
Boris Zbarsky d975beea20 Bug 861022 part 1. Root the non-globals in WebIDL prototype and interface object setup. r=peterv,terrence 2013-05-01 23:44:11 -04:00
Boris Zbarsky 9e0ae56b05 Bug 865961. Root the scope argument of wrap-the-xpconnect-object helpers in WebIDL bindings. r=ms2ger 2013-04-29 17:33:42 -04:00
Boris Zbarsky 3394bf9a4a Bug 717637. Stop using non-global parent objects for everything that's not an element, since having a mix of parent objects makes us fail shape guards in the JIT. r=peterv 2013-04-29 17:33:41 -04:00
Boris Zbarsky 69e8214aeb Bug 865964. Remove dead WrapCallbackInterface code. r=smaug 2013-04-26 13:41:21 -04:00
Boris Zbarsky eb318bbb88 Bug 766583 part 1. Stop declaring dictionaries as const on the stack in bindings code. r=smaug 2013-04-25 19:03:06 -04:00
Boris Zbarsky 1ffcf1ad91 Bug 861493. When passing arguments to an Xray for a WebIDL constructor, make sure to do the argument unwrapping before entering the content compartment. r=bholley,waldo
There are several changes here:

1) Adds some MutableThis methods to Optional, Nullable, and dictionaries to
   effectively allow doing a const_cast without knowing the actual type being
   templated over.  I needed this because I do not in fact know that type in
   the relevant code.  I'm open to suggestions for a better name for this
   method.
2) Adds some operator& to RootedJSValue to make it look more like a JS::Value,
   and in particular so I can JS_WrapValue the thing in it.
3) Adds a Slot() method to NonNullLazyRootedObject, just like NonNull has.
4) Adds an operator& to LazyRootedObject to make it look more like JSObject* so
   I can JS_WrapObject the thing in it.
5) Implements the actual rewrapping of the arguments into the content compartment.
6) Fixes a small preexisting bug in which we didn't look at named constructors
   in getTypesFromDescriptor (this was causing my tests to not compile).
7) Changes Xrays to not enter the content compartment when calling a WebIDL
   constructor.
8) Adds some friend API to report things as not being functions.
2013-04-25 19:03:05 -04:00
Boris Zbarsky b834439797 Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Boris Zbarsky 47de9d3ebe Bug 864727 part 4. Pass a handle for the scope object to all the various Wrap*Object stuff in BindingUtils. r=ms2ger
Note: The JS::Rooted in CGWrapWithCacheMethod is just there until we start passing a handle to Wrap().
2013-04-25 12:29:53 -04:00
Boris Zbarsky 30064ae263 Bug 864590. Assert that the object is not null when wrapping WebIDL objects. r=peterv 2013-04-24 14:59:15 -04:00
Peter Van der Beken bfcf81990d Bug 852094 - Support Unforgeable on proxy-based DOM bindings. r=bz. 2012-12-20 10:56:11 +01:00
David Zbarsky e583eff928 Bug 857439 Followup: Add null-checks for WrapObject failing and assert that the JSObject took ownership if WrapObject succeeded r=bz 2013-04-19 18:18:31 -04:00
David Zbarsky fcdb506b78 Bug 857439 Part 3: Make sure to delete owned interfaces if wrapping fails r=bz 2013-04-19 04:49:21 -04:00
Jon Coppeard 7f7df293ae Bug 861281 - GC: Root the wrap object API r=terrence r=bholley
--HG--
extra : rebase_source : 1d3ed88299ad8e9ad6812fb41aa48f03cc7aabae
2013-04-15 18:32:55 +01:00
Jacek Szpot a38774d086 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-11 11:50:18 -07:00
Boris Zbarsky 0fb62d62f7 Bug 688691. Warn when LenientThis actually causes us to not throw. r=ms2ger 2013-04-08 17:04:21 -04:00
Ryan VanderMeulen 4df26dd5ac Backed out changeset a85d21e394c0 (bug 854503) for bustage. 2013-04-06 14:37:33 -04:00
Jacek Szpot ab74228011 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-04 12:14:32 +02:00
Boris Zbarsky 381b988a3b Bug 855700. Make returning an nsIVariant from a WebIDL interface work. r=smaug 2013-04-03 22:22:16 -04:00
Boris Zbarsky 203cd29378 Bug 855582 part 2. Make the bindings' various spec arrays const, and make the jitinfo structs static. r=khuey 2013-04-02 20:20:38 -04:00
Boris Zbarsky a92f9b2e2c Bug 856833 part 3. Rip out no longer needed proxy-unwrapping code. r=waldo 2013-04-02 20:20:37 -04:00
Bobby Holley 95b24d37ae Bug 854480 - Remove old-style unwrapping from dom/bindings bindings. r=bz 2013-04-01 15:17:50 -07:00
Terrence Cole 1ffd59927b Bug 855145 - DeMACROize the JS tracing interfaces; r=billm,mccr8
--HG--
extra : rebase_source : 915c80052b4412f653033eb5fc4d4f96c5d49bd5
2013-03-26 15:10:34 -07:00
Boris Zbarsky 2879fc9c57 Bug 854001 part 2. Remove a null check in bindings code that is no longer needed because workers no longer use a DOMJSClass for prototype objects. r=peterv,bent 2013-03-28 15:43:33 -04:00
Jon Coppeard 3dcda9b143 Bug 849273 - Investigate splitting the js and JS namespaces r=terrence
--HG--
extra : rebase_source : 2b131d0177f02e5f0e89398545481fcacbfde00f
2013-03-19 10:35:41 +00:00
Peter Van der Beken 5db19d4269 Bug 812617 - Provide a JSBindingFinalized hook for the native classes using Web IDL bindings to know when their JS wrapper has been finalized; r=bzbarsky
--HG--
extra : rebase_source : bb5059a170f3c2f4aa977190fceea421b41b5e58
2013-03-17 21:47:12 -04:00
Boris Zbarsky cd206cfc4d Bug 846972 part 2. Add the WebIDL APIs for StyleSheet and CSSStyleSheet. r=peterv 2013-03-17 10:42:59 -04:00
Bill McCloskey c7ddf51a4f Bug 759585 - Zones (r=jonco,bhackett,njn,dvander,luke,bz,mccr8,bholley) 2013-03-16 20:36:37 -07:00
Masatoshi Kimura 23ba391ec1 Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Olli Pettay eaf67cc919 Bug 822399 - Make Event to use Paris bindings, r=peterv 2013-03-09 13:34:29 +02:00
Jon Coppeard a0a3f88913 Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
--HG--
extra : rebase_source : 35cbf3cc4da4598c2e9e6975028ef397718849db
2013-03-06 16:41:43 +00:00
Ed Morley 3a53c22824 Backed out changeset 28ef4bdff455 (bug 848395) 2013-03-07 13:03:35 +00:00
Jon Coppeard 6a98a4532a Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
--HG--
extra : rebase_source : 866879df05e3ec3f8e93570eb3f6b71103636b41
2013-03-06 16:41:43 +00:00
William Chen 429899b456 Bug 847773 - Added override for GetWrapperCache with smart pointer argument to resolve ambiguity in templates. r=bz 2013-03-04 20:30:13 -08:00
Boris Zbarsky 6149d2c515 Bug 845666. Add support for sequences containing other sequences (or dictionaries containing sequences) to WebIDL. r=peterv
This keeps simple sequence arguments and variadics using an auto array, while everything else uses a non-auto array.
2013-03-02 01:07:43 -05:00
Peter Van der Beken b17c86c836 Fix for bug 825628 (Implement NamedConstructor) - add codegen support for NamedConstructor. r=bz.
--HG--
extra : rebase_source : 8393995dca6f65cb49512874c1916ee745436638
2013-01-22 11:51:15 +01:00
Jonathan Kew 9c8145baf7 backout cset 4ede352670cd (bug 759585) on a CLOSED TREE on suspicion of making windows reftests so slow that they timeout and burn 2013-02-22 09:36:41 +00:00
Bill McCloskey a133579459 Bug 759585 - Change the granularity of collection from compartment to zone (r=jonco,bhackett,njn,dvander,mccr8,bz,luke,bholley) 2013-02-21 18:23:47 -08:00
Boris Zbarsky ea45d30665 Bug 839088 part 1. Add a way to throw a JS::Value on an ErrorResult. r=peterv 2013-02-19 11:54:40 -05:00
Peter Van der Beken 6ac60724ce Fix for bug 838269 (Support cross-global |... instanceof DOMInterface|). r=bz.
--HG--
extra : rebase_source : e5ad1d7da8029394e3ecb38909eca406a675dbe9
2013-01-08 19:05:36 +01:00
Boris Zbarsky 30eb9315d6 Bug 836920. Move dom::Optional<> and dom::Sequence to BindingDeclarations.h so using dictionaries in interfaces whose name comes before 'PrimitiveConversions' alphabetically does not break. r=peterv
All the code is just moving except the Optional<nsAString>::operator=
that takes a FakeDependentString.  That had to be changed so it has no
dependency on the actual definition of FakeDependentString.
2013-02-06 09:56:15 +00:00
Boris Zbarsky 454062c586 Bug 830992 part 1. Make it possible to pass CallbackObject& as the thisObj for callback functions. r=peterv 2013-02-06 09:42:17 +00:00
Boris Zbarsky 2234eada00 Bug 822470 part 7. Use new callback codegen for conversion to and from JS. r=peterv
NodeFilter, EventListener, and DOMTransaction will be updated to use the new codegen once we've fixed the consumers.
2013-01-28 08:34:31 -05:00
Boris Zbarsky a836dfc369 Bug 822470 part 6. Hook up callback interface codegen. r=peterv 2013-01-28 08:34:30 -05:00
Andrew McCreight b32a806834 Bug 777385 - Support (some) Paris bindings objects as weak map keys. r=peterv
This adds support for many kinds of Paris bindings objects as weak map keys.
This patch supports nsISupports objects as well as non-cycle-collected
non-nsISupports objects. What is needed for support is to preserve any wrapper,
if the object is wrapper cached. In other cases, we don't need to do anything.
2012-11-09 10:59:02 -08:00
Jeff Walden a127013839 Bug 826447 - Change all the proxy API signatures to take unsigned flags, rather than bool set, so that it's easier to find all tests of JSRESOLVE_ASSIGNING. r=bz
--HG--
extra : rebase_source : 3b88b411965087984d7973a90f8fa1b06457a6ce
2013-01-03 15:31:36 -06:00
Boris Zbarsky 3be168c22f Bug 820665 part 4. Remove no-longer-used IsPlatformObject. r=khuey 2013-01-03 14:03:16 -05:00
Boris Zbarsky 4d733dc0e1 Bug 820665 part 3. WebIDL spec updates to changes in how callback interfaces work. r=khuey
Specifically, any object that's not a Date or RegExp can implement a callback interface.
2013-01-03 14:03:11 -05:00
Boris Zbarsky 20d4a061d6 Bug 820665 part 1. More WebIDL spec updates to changes in how dictionaries work. r=khuey
Specifically, the following changes:

1) A union that includes a dictionary and is the last non-optional
   argument must actually be marked optional, just like a dictionary
   argument.
2) Disallow a union from containing both a nullable type and a dictionary.
3) Now all non-Date and non-RegExp objects can be used as dictionaries,
   including from overload resolution and union conversion.

We don't support dictionaries inside unions yet, or unions as
distinguishing args, so the spec changes to do with converting null to
dictionaries inside a union or picking the union overload if there is
a union containing a dictionary and null is the distinguishing arg
value are not relevant to us so far.
2013-01-03 14:03:00 -05:00
Boris Zbarsky a0ae34d587 Bug 825288. Handle SOWs correctly in MaybeWrapValue. r=peterv 2013-01-02 22:03:25 -05:00
Boris Zbarsky eabd327329 Bug 819845. Update WebIDL bindings to spec change: sequences/arrays are no longer distinguishable from dictionaries, and conversion to a sequence works on arbitrary objects. r=khuey 2013-01-02 22:03:25 -05:00
Boris Zbarsky 6378ed05fd Bug 825025. MaybeWrapValue should work with all gcthings. r=peterv 2012-12-29 22:13:26 -08:00
Boris Zbarsky a3b4bd9774 Bug 816421. Make Document.visibilityState a WebIDL enum. r=peterv
A lot of the changes here are just so I can actually build after including DocumentBinding.h in nsIDocument.h
2012-12-25 14:00:15 -08:00
Peter Van der Beken 893e85fa56 Fix for bug 820577 (Support reparenting for new DOM binding objects). r=bholley/bz.
--HG--
extra : rebase_source : 66dad56b8f543790ffa7e595ccd684c4673403df
2012-09-26 16:17:46 +02:00
Peter Van der Beken 6f6a341ee2 Fix for bug 815149 (Add support for SOWs and XBL bindings in new DOM bindings). r=bz.
--HG--
extra : rebase_source : c24544fd3d1c99651e279e687a07a02c5b994323
2012-09-12 22:29:30 +02:00
Boris Zbarsky 3dfc80459c Bug 819523 part 2. Allow Nullable<> of various array types to work sanely. r=jlebar 2012-12-18 20:16:05 -05:00
William Chen a5b66f6cc6 Bug 820957 - Support object members in WebIDL dictionary. r=bz 2012-12-17 13:44:13 -08:00
Boris Zbarsky 719a070476 Bug 773911 part 2. Use the now-inline js::GetContextCompartment in a few places. r=waldo 2012-12-15 11:53:15 -05:00
Boris Zbarsky f490c53f7d Bug 815803. Now that JSSLOT_PROXY_PRIVATE == 0, simplify binding code that had to deal with different slot indices on proxy and non-proxy objects. r=peterv 2012-12-06 15:21:19 -05:00
Peter Van der Beken 41a9701717 Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 4: inline xpc_qsUnwrapObj. r=bz.
--HG--
extra : rebase_source : 712ff5573098f9d29fce555fb8cd548c5900d60e
2012-11-27 10:20:05 +01:00
Peter Van der Beken a40774deb2 Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 2: make WrapNewBindingObject a little faster. r=bz.
--HG--
extra : rebase_source : ea52aea5d91436b516c8aa439f4af741cdea824c
2012-11-27 10:20:04 +01:00
Peter Van der Beken 7a757eb82e Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 1: use qsObjectHelper instead of xpcObjectHelper in HandleNewBindingWrappingFailure. r=bz.
--HG--
extra : rebase_source : 32e20aec9cf2ea8a6e8d878ce758f792e6b8a67f
2012-11-27 10:20:04 +01:00
Ehsan Akhgari d6d6c3d26a Backed out 6 changesets (bug 814821, bug 815158, bug 814195) for test failures
Backed out changeset 0c2011091748 (bug 815158)
Backed out changeset 9d70b4460508 (bug 814195)
Backed out changeset bf8746658a72 (bug 814821)
Backed out changeset e73366b088d7 (bug 814821)
Backed out changeset 49fc6d535c41 (bug 814821)
Backed out changeset 987aea26a43a (bug 814821)
2012-11-27 16:30:39 -05:00
Peter Van der Beken bbe8e49a7f Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 4: inline xpc_qsUnwrapObj. r=bz.
--HG--
extra : rebase_source : 8506cc86db7ebfe8832ed5696aeb45c79364af1f
2012-11-27 10:20:05 +01:00
Peter Van der Beken f805d53dbb Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 2: make WrapNewBindingObject a little faster. r=bz.
--HG--
extra : rebase_source : 81a3891d0f51d98f4230583f816a82906d0ee904
2012-11-27 10:20:04 +01:00
Peter Van der Beken 6e634d59b7 Fix for bug 814821 (Dromaeo dom-traverse regression from bug 812333) - part 1: use qsObjectHelper instead of xpcObjectHelper in HandleNewBindingWrappingFailure. r=bz.
--HG--
extra : rebase_source : 748e0343d37e2b9a25b5b6644bebff428474310c
2012-11-27 10:20:04 +01:00
Peter Van der Beken 47915af064 Fix for bug 812333 (Replace Node quickstubs with new binding methods) - part 2: install Node's binding methods on the XPConnect proto. r=bz. 2012-11-22 12:09:41 +01:00
Peter Van der Beken 3127552628 Fix for bug 812333 (Replace Node quickstubs with new binding methods) - part 1: make WrapNewBindingObject asserts deal with HTMLCollection. r=bz. 2012-11-22 11:46:53 +01:00
Boris Zbarsky b6b9137a48 Bug 813423. A bit more inlining for stuff that should really be inline. r=peterv 2012-11-20 11:36:06 -05:00
Boris Zbarsky 77eb8146ff Bug 813419. Add a non-null-checking version of xpc_UnmarkGrayObject. r=mccr8 2012-11-20 11:36:06 -05:00
Bobby Holley 7c36e30523 Bug 800915 - Remove the cx parameter and simplify various APIs. r=sfink,bz
If callers want to throw, it's now their responsibility.
2012-11-14 09:56:26 -08:00
Peter Van der Beken b2ba5959ec Fix for bug 804950 (New DOM binding APIs for Element). r=bz.
--HG--
extra : rebase_source : a8691ead07dfa8ecca812396047627dc15474d83
2012-10-16 13:51:00 +02:00
Boris Zbarsky c366dccf9b Bug 805310. Add some documentation for our object-wrapping helpers. r=peterv 2012-11-09 08:24:32 -08:00
Boris Zbarsky 272331140d Bug 779048 part 8. Handling of arguments for callbacks. r=peterv
Note that we're now using the array object as the "obj" when wrapping
sequence members, because we don't have an 'obj' around in our
code... and every single existing sequence-of-interfaces consumer
relied on there being an 'obj' floating about.

Also note that I needed to rearrange the various wrapping helpers so
that we can wrap things that are hanging out in const smartpointers or
in const OwningNonNull or in plain object references.
2012-11-09 07:43:58 -08:00
Boris Zbarsky 1649f6c386 Bug 779048 part 6. Handling of return values for callbacks. r=peterv 2012-11-09 07:43:58 -08:00
Boris Zbarsky 7752f218bb Bug 779048 part 4. Implement basic codegen for callbacks, without handling of arguments or return values yet. r=peterv 2012-11-09 07:43:57 -08:00
Boris Zbarsky 97b83582f6 Bug 805988. Add some asserts that new-binding objects are nsISupports if they claim to be or or can be safely reinterpret_cast to nsWrapperCache, if they have an nsWrapperCache at all, if they don't claim to be nsISupports. r=peterv
Note that everything except the new asserts just got moved with no changes.
2012-11-08 23:48:42 -08:00
Masatoshi Kimura 5e13172aad Bug 801487 - Implement ErrorResult::ThrowTypeError. r=bz 2012-11-06 18:23:14 -05:00
Boris Zbarsky d1b570c89c Bug 807548. Enumerating an Xray should not see the 'constructor' property on DOM prototypes unless we're told to include non-enumerable properties. r=peterv 2012-11-05 11:58:03 -05:00
Peter Van der Beken 669602b5e0 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Peter Van der Beken 2f66678f37 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript) - move some code. r=bz.
--HG--
extra : rebase_source : 524e537ee6c6b30fdb67cbced3dbb574de83be28
2012-10-09 20:50:27 +02:00
Peter Van der Beken 2d58c35ce6 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript) - rename ProtoOrIfaceArray. r=bz.
--HG--
extra : rebase_source : c426270fc1ebee818629bd94dfc8d11af59bfc00
2012-10-09 20:50:27 +02:00
Boris Zbarsky fbeee7dfd0 Bug 793267. Add support for [Unforgeable] in WebIDL. r=peterv
Unforgeable attributes are defined directly on the object, not on the
prototype.  So we keep them in a separate spec array and define them
during object creation as needed.

This means that we have to pass that separate spec array to the Xray
helpers, unfortunately, which somewhat complicates those.
2012-10-24 16:10:49 -04:00
Boris Zbarsky 2a8465582e Bug 798187 part 1. Add support for dictionary return values. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky 800cb6581d Bug 801712 part 3. Make object return values faster by only doing the JS_WrapValue if needed. r=peterv 2012-10-22 13:08:52 -04:00
Peter Van der Beken 9af14c557f Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
Peter Van der Beken e9a160c523 Fix for bug 802739 (Make parent wrapping for DOM bindings fall back to XPConnect for nsISupports classes).
--HG--
extra : rebase_source : 212a49060710b5b3791203b9472c9efcad578a58
2012-10-19 09:33:18 +02:00
Olli Pettay 39ef9c4b1c Bug 797806 - Helper method to handle stringified JSON in C++, r=khuey 2012-10-16 17:52:10 +03:00
Peter Van der Beken 7964385bcb Fix for bug 798264 (Split property tables). r=bz.
--HG--
extra : rebase_source : 71456ae48d3d3e6014e8095837f7942cfe733a37
2012-10-09 20:50:05 +02:00
Peter Van der Beken 29a1e67465 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - allow non-nsISupports object to be parents. r=bz.
--HG--
extra : rebase_source : 00c805373f99213bee8b17b24fed3024b8ac4752
2012-10-09 20:50:26 +02:00
Boris Zbarsky e743742df1 Bug 792890. Fix JS-wrapping of callback interfaces to just return the underlying JS object. r=peterv
There are several changes here:

1) When wrapping a callback interface object for JS, just extract the
   underlying JSObject from inside it and hand that object out.

2) Flag callback interface descriptors as "not concrete" (only matters
   for cases when they have constants on the interface object) and not
   wrappercached (will catch bugs if someone tries to treat them as a
   Gecko object).

3) Fix a preexisting bug in sequence wrapping where we'd try to
   JS_DefineElement twice if we were wrapping a null value for a
   sequence of nullable interface objects.
2012-10-10 15:57:57 -04:00
Bobby Holley 3dee0ce8e2 Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.

I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Peter Van der Beken 96b3ddd3e3 Fix for bug 791347 (Support non-nsISupports refcounted natives and non-refcounted natives in new DOM bindings). r=bz/smaug.
--HG--
extra : rebase_source : cd6d98461d7fa3a07fa1361b4d840448122b6655
2012-09-19 15:02:37 +02:00
Boris Zbarsky 0334fe32b0 Bug 790273. Add support for [LenientThis] in WebIDL. r=peterv 2012-09-12 17:24:58 +01:00
Peter Van der Beken b84ab5be48 Bug 753517 part 5. Enable the list IC for new DOM bindings too. r=bz. 2012-08-24 09:32:26 -07:00
Luke Wagner ad90af9ca5 Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley)
--HG--
extra : rebase_source : 12acf2288285f5caefd7fecea8207de3a47eab5b
2012-08-21 18:42:53 -07:00
Peter Van der Beken ee9eae3141 Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky.
--HG--
extra : rebase_source : 651a0fac4c9a87ef1c0a9cd91588c6421fd050c4
2012-05-22 15:46:20 +02:00
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Boris Zbarsky 10c9046c35 Bug 747287 - Part 3: Add callback interface to allow JIT to interrogate DOM. (r=peterv) 2012-08-07 22:26:18 -07:00
Ms2ger 71696aa0f2 Bug 774705 - Part b: Throw a TypeError when trying to construct an interface without a constructor; r=bz 2012-08-04 09:44:00 +02:00
Ed Morley f4181983a1 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
Ms2ger 86de6cd109 Bug 774705 - Part b: Throw a TypeError when trying to construct an interface without a constructor; r=bz 2012-08-04 09:44:00 +02:00
Boris Zbarsky 423774779f Bug 771636 part 3. Implement default values for WebIDL strings. r=peterv 2012-07-31 00:22:23 -04:00
Peter Van der Beken a02b1d7ffe Fix for bug 774775 (XRayWrapper does not handle new bindings constants) - refactor code. r=bz.
--HG--
extra : rebase_source : 317d5942dde4427384320cb334f794f7fef37a2e
2012-07-18 13:52:07 +02:00
Ed Morley fcaa2b9642 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-07-18 13:32:24 +01:00
Ms2ger 23b178ab1f Bug 765464 - Part c: Throw some TypeErrors; r=khuey 2012-07-18 12:36:08 +02:00
Boris Zbarsky bf40f0efd9 Bug 773519 followup to make this code deal with silly string consumers too. No review. 2012-07-17 13:20:40 -04:00
Boris Zbarsky ca83439a51 Bug 773519. Speed up string argument conversion in DOM bindings by faking an XPCOM string. r=peterv 2012-07-17 12:18:53 -04:00