Dan Gohman
586b9aee99
Bug 910823 - Constify static js::Class/JSClass instances. r=waldo
2013-09-11 05:49:05 -07:00
Boris Zbarsky
730c01bcf9
Bug 908351. Stop over-including DOMJSClass.h, so we don't rebuild as much when PrototypeList.h changes. We do this by factoring out the slot macros into a separate header and including that. r=khuey
2013-08-23 22:42:39 -04:00
Nicholas Nethercote
b89a8ac1c0
Bug 905017 (part 1) - Minimize inclusions of JS engine headers in .h and .idl files. r=billm.
...
--HG--
extra : rebase_source : 984c61ab12f46be0509b1ce0d458d9a6e5841c64
2013-08-17 15:50:18 -07:00
Bobby Holley
f6b09836a4
Bug 907508 - Define the slot count for xpconnect and worker globals in terms of the slots defined in DOMJSClass.h. r=bz
2013-08-20 21:21:00 -07:00
Terrence Cole
a08ea9c568
Bug 862115 - Use Rooted<JSPropertyDescriptor> in favor of JSPropertyDescriptor::AutoRooter r=terrence r=smaug r=bholley
2013-04-30 10:29:40 -07:00
Ehsan Akhgari
085494b95d
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
Jon Coppeard
da545dc61a
Bug 888338 - 6 - more browser post barriers r=mccr8
2013-07-23 10:58:27 +01:00
Boris Zbarsky
6baed10459
Bug 865969 part 6. Fix rooting hazards in BindingUtils.cpp. r=smaug
2013-05-03 19:29:08 -04:00
Boris Zbarsky
8cc9072bea
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
2ca9989cd9
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
a0ac3184fd
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
Peter Van der Beken
16af060454
Bug 852094 - Support Unforgeable on proxy-based DOM bindings. r=bz.
2012-12-20 10:56:11 +01:00
Boris Zbarsky
b78a02dc00
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
Peter Van der Beken
86d3fc6af5
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
Boris Zbarsky
5803a201da
Bug 838691 part 1. Add support in Prefable for calling a function to determine whether a property should be exposed in a WebIDL binding. r=peterv
2013-02-19 11:54:40 -05:00
Peter Van der Beken
096abd5a26
Fix for bug 838269 (Support cross-global |... instanceof DOMInterface|). r=bz.
...
--HG--
extra : rebase_source : e5ad1d7da8029394e3ecb38909eca406a675dbe9
2013-01-08 19:05:36 +01:00
Peter Van der Beken
871110115e
Fix for bug 838228 (toString on an Xray for an interface object should stringify like Function.prototype.toString). r=bz.
...
--HG--
rename : content/html/content/test/test_map_attributes_reflection.html => content/html/content/test/test_ol_attributes_reflection.html
extra : rebase_source : 9bd7efb927e4eac96569ed629ee230dbf555fb63
2013-02-01 15:33:58 +01:00
Jeff Walden
86789118e4
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
Peter Van der Beken
b2b3e56308
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
0730848e6c
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
Nathan Froyd
c3ceb995f6
Bug 821317 - reduce the size of DOMClass.mInterfaceChain to something reasonable; r=bz
2012-12-13 11:01:00 -05:00
Peter Van der Beken
020e296215
Fix for bug 763643 (Implement static operations and attributes for WebIDL). r=bz.
...
--HG--
extra : rebase_source : d9dd5450af5d2b1f3e7e3a738ec2efdc7f7053da
2012-10-19 09:34:28 +02:00
Peter Van der Beken
99782186da
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
e57327d601
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
da84553f1f
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
Bobby Holley
3d0731683a
Bug 797821 - Removed the unused reserved slot for XPConnect globals. r=mrbkap
2012-10-25 17:01:09 +02:00
Peter Van der Beken
86dcdcb94b
Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - fix CC traversal and wrapper preservation. r=bz.
...
--HG--
rename : dom/tests/mochitest/chrome/file_bug800817.xul => dom/tests/mochitest/chrome/file_bug799299.xul
rename : dom/tests/mochitest/chrome/test_bug800817.xul => dom/tests/mochitest/chrome/test_bug799299.xul
extra : rebase_source : bed68ffa15fe5933994c33fbd94ad2b597b5b1b9
2012-09-26 20:12:15 +02:00
Bobby Holley
9f982e86a6
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
Ms2ger
541b92080a
Bug 768793 - Remove DOMJSClass::mGetWrapperCacheVTableOffset; r=khuey
2012-09-06 09:14:49 +02:00
Peter Van der Beken
486198a6d8
Fix for bug 785188 (Make Xrays work with newest DOM list bindings). r=mrbkap.
2012-06-06 21:52:26 +02:00
Peter Van der Beken
854457d901
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
Boris Zbarsky
42210976c4
Bug 747287 - Part 3: Add callback interface to allow JIT to interrogate DOM. (r=peterv)
2012-08-07 22:26:18 -07:00
Eric Faust
8144c1a6fd
Bug 766447 - Teach TI about the new DOM bindings. (r=bhackett)
2012-07-11 20:55:19 -07:00
Ed Morley
c258987354
Backout 6bbf3f22bb5d (bug 753158), 38a703b244c2 (bug 753145), c9a5dfa1b07d (bug 767750), cd782fd66995 & 6cf7aa93994c (bug 765956), 0253f34f6bc2 & 41d5c8529748 (bug 771039),94f6bf99a4aa (bug 766447),fad7d06d7dd5 (bug 772303) for winxp pgo-only jsreftest failures (caused by fad7d06d7dd5) and the rest for conflicts, on a CLOSED TREE
2012-07-12 13:04:51 +01:00
Eric Faust
356d4133e7
Bug 766447 - Teach TI about the new DOM bindings. (r=bhackett)
2012-07-11 20:55:19 -07:00
Bill McCloskey
fbd438fda7
Bug 765034 - Fix unusual DOM proto array case (r=bz)
2012-06-18 17:04:38 -07:00
Boris Zbarsky
e90ba0af0f
Bug 761707 part 1. Rip out the various infrastructure for allowing different slot indices on different DOMJSClass instances. r=bholley
2012-06-06 15:59:46 -04:00
Boris Zbarsky
224115946f
Bug 742217. Reduce the use of nested namespaces in our binding code. r=peterv,bent
...
In the new setup, all per-interface DOM binding files are exported into
mozilla/dom. General files not specific to an interface are also exported into
mozilla/dom.
In terms of namespaces, most things now live in mozilla::dom. Each interface
Foo that has generated code has a mozilla::dom::FooBinding namespace for said
generated code (and possibly a mozilla::bindings::FooBinding_workers if there's
separate codegen for workers).
IDL enums are a bit weird: since the name of the enum and the names of its
entries all end up in the same namespace, we still generate a C++ namespace
with the name of the IDL enum type with "Values" appended to it, with a
::valuelist inside for the actual C++ enum. We then typedef
EnumFooValues::valuelist to EnumFoo. That makes it a bit more difficult to
refer to the values, but means that values from different enums don't collide
with each other.
The enums with the proto and constructor IDs in them now live under the
mozilla::dom::prototypes and mozilla::dom::constructors namespaces respectively.
Again, this lets us deal sanely with the whole "enum value names are flattened
into the namespace the enum is in" deal.
The main benefit of this setup (and the reason "Binding" got appended to the
per-interface namespaces) is that this way "using mozilla::dom" should Just
Work for consumers and still allow C++ code to sanely use the IDL interface
names for concrete classes, which is fairly desirable.
--HG--
rename : dom/bindings/Utils.cpp => dom/bindings/BindingUtils.cpp
rename : dom/bindings/Utils.h => dom/bindings/BindingUtils.h
2012-05-03 00:35:38 -04:00
Peter Van der Beken
09128a75d3
Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
...
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00