Commit Graph

135 Commits

Author SHA1 Message Date
Nicholas Nethercote
849635b8f1 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Boris Zbarsky
b3d562602e 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
c1d8302699 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
Bill McCloskey
a23e81d1e0 Bug 899804 - Make CPOWs handle instanceof with WebIDL interfaces (r=bz,dvander) 2013-08-01 16:45:17 -07:00
Tom Schuster
8ac55e5939 Bug 884410 - Handlify JS_GetPrototype. r=terrence 2013-07-31 12:20:33 -04: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
fd4d274d46 Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Carsten "Tomcat" Book
ac22f0d0ad Backed out changeset ae8d72538dee (bug 897484) for b2g bustage 2013-07-26 12:34:25 +02:00
Jon Coppeard
fed22eac4c Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Jon Coppeard
da545dc61a Bug 888338 - 6 - more browser post barriers r=mccr8 2013-07-23 10:58:27 +01:00
Nicholas Nethercote
1d402ae3bc 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
Kyle Huey
afae5b1108 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
aaa34e9bd3 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
Ms2ger
29f5ad4120 Bug 888579 - Remove some code that handled WN Nodes; r=bholley 2013-07-01 09:14:36 +02:00
Ms2ger
67f84492bd Bug 884268 - Part b: Move nsContentUtils::PreserveWrapper to nsWrapperCache; r=smaug 2013-06-23 09:15:42 +02:00
Jon Coppeard
19b426b223 Bug 885310 - 1 Rename JSHandleFoo in the browser r=bz 2013-06-21 14:12:46 +01:00
Terrence Cole
075d331390 Bug 884410 - Handlify the JS_TransplantObject interfaces; r=jonco
--HG--
extra : rebase_source : f1c2adc7380e5806ce6b4fce5bb41f9400b9e1b1
2013-06-13 17:09:55 -07:00
Jon Coppeard
da723794cd Bug 884371 - Remove JSMutableHandleXXX from the browser r=bz 2013-06-19 11:32:27 +01:00
Boris Zbarsky
4cb7712ac9 Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug 2013-06-17 16:31:13 -04:00
Ryan VanderMeulen
c8233b1b9b 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
6c79df6cef Fix test fallout from bug 883358 so we can stop having a CLOSED TREE. No review. 2013-06-17 18:24:04 -04:00
Boris Zbarsky
f9c3279c5d Bug 883358 part 2. Use the new information in bindings error reporting. r=smaug 2013-06-17 16:31:13 -04:00
Boris Zbarsky
ce26c7ab39 Bug 882653 part 2. Make the "not an object" error reporting better in WebIDL bindings. r=smaug
This also adds infrastructure to generally indicate to the
js-to-native conversion exactly what is being converted.
2013-06-17 13:07:03 -04:00
Boris Zbarsky
a552fc6664 Bug 882653 part 1. Improve error reporting for bogus this objects in WebIDL bindings. r=smaug 2013-06-17 13:07:03 -04:00
James Kitchener
6d46bd7a62 Bug 796850 - Implement Code Generation for Bytestring in WebIDL bindings r=bz 2013-06-13 01:18:35 -04:00
Andrea Marchesini
5bd0488290 Bug 856410 - Implement futures - Part 0: ErrorResult::StealJSException. r=bz 2013-06-11 21:41:21 -04:00
Boris Zbarsky
9f09fecc19 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
Bobby Holley
41e994226a Bug 877261 - Stop using XPCCallContext for XPCConvert. r=Ms2ger 2013-06-04 21:11:19 -07:00
Ms2ger
d56528fce5 Bug 876602 - Move JS-implemented webidl construction code into C++; r=bz 2013-06-01 08:56:23 +02:00
Ms2ger
1602264ebc Bug 876604 - Outparamdel UnwrapDOMObjectToISupports; r=bz 2013-06-01 08:56:02 +02:00
Peter Van der Beken
86d520dcf2 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
fb465d209c Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz 2013-05-30 11:15:31 +08:00
Boris Zbarsky
14e7edc59d Bug 876805. Fix unsafe reference gc hazards in dom/ code. r=smaug 2013-05-29 16:16:04 -04:00
Jon Coppeard
6d32ef3678 Bug 876639 - Address unsafe references from JS_ParseJSON() - Fix browser r=smaug 2013-05-29 09:29:39 +01:00
Ed Morley
1e88f4e513 Backed out changeset 7acdb79e4d71 (bug 876639) 2013-05-29 12:09:10 +01:00
Jon Coppeard
27ffea6482 Bug 876639 - Address unsafe references from JS_ParseJSON() - Fix browser r=smaug 2013-05-29 09:29:39 +01:00
Boris Zbarsky
2124ffdb96 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
Nathan Froyd
dbba9baf39 Bug 858131 - rewrite FloatingPoint.h to be C++-only instead of C-compatible C++; r+original-author=Waldo 2013-05-01 16:55:13 -04:00
Boris Zbarsky
797571f64b Bug 867863. Be a little more careful in GlobalObject initialization. r=peterv 2013-05-08 15:50:58 -04:00
Boris Zbarsky
49395eacab Bug 869311. More rooting in dom/bindings and content/base. r=smaug 2013-05-07 22:34:56 -04:00
Bobby Holley
e77e3c4631 Bug 868637 - Simplify DOM Bindings JSON parsing. r=bz
At this point we could really just hoist the JSAPI call, but it's just
cumbersome enough with all the casts that I don't really want to stick
it in the codegen.
2013-05-07 14:18:03 -07:00
Sankha Narayan Guria
6349c5c599 Bug 867414 - Rename SafeAutoJSContext to AutoSafeJSContext. r=bholley 2013-05-06 09:04:17 -04:00
Ms2ger
088cca5a9c Bug 868411 - Handlify js::GetObjectProto; r=bz 2013-05-05 09:03:14 +02: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
7cd15f8898 Bug 742206 part 1. Introduce a simple mozilla::dom::Date for use in WebIDL bindings. r=smaug 2013-05-02 14:38:19 -04:00
Boris Zbarsky
b7ef07e12d 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
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
Jim Blandy
e9b58eb4dc Bug 862531: Replace BaseProxyHandler::obj_toString with className. r=jorendorff 2013-04-30 14:44:50 -07:00
Boris Zbarsky
0c64b1ab00 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