Commit Graph

108 Commits

Author SHA1 Message Date
Boris Zbarsky
c19412a7ac Bug 1224007 part 1. Rename ThrowMethodFailed to MaybeSetPendingException and make it an ErrorResult instance method. r=peterv 2015-11-20 16:29:40 -05:00
Boris Zbarsky
df75080cc3 Bug 1226479. Change ErrorResult::ThrowTypeError/ThrowRangeError to take string references, not pointers. r=mccr8 2015-11-20 13:36:46 -05:00
Ben Kelly
7f326cef7c Bug 1225219 Implement ErrorResult::CloneTo(). r=bz 2015-11-18 11:07:58 -08:00
Wes Kocher
f1dac52970 Backed out changeset cc92635ec29a (bug 1225219) for build bustage CLOSED TREE
--HG--
extra : commitid : 1lUK2KD78dX
2015-11-18 09:52:19 -08:00
Ben Kelly
442a013f24 Bug 1225219 Implement ErrorResult::CloneTo(). r=bz 2015-11-18 08:50:28 -08:00
Boris Zbarsky
2c6c586ca9 Bug 1219749. Add a way to faithfully propagate the "exception is already on JSContext" state through an ErrorResult. r=peterv 2015-11-09 20:47:05 -05:00
Boris Zbarsky
c3d471f9c4 Bug 1213289 part 4. Convert to using an enum for tracking our union state. r=bkelly 2015-10-09 16:48:10 -04:00
Boris Zbarsky
af065c06f0 Bug 1213289 part 3. Add a way to throw a DOMException with a custom message on ErrorResult. r=bkelly 2015-10-09 16:48:10 -04:00
Boris Zbarsky
9c2bcd09d7 Bug 1213289 part 2. Introduce ErrorResult::ClearUnionData and use it in various places where we're trying to do that. r=bkelly 2015-10-09 16:48:10 -04:00
Andrew McCreight
5171450b27 Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-05 09:38:14 -07:00
Wes Kocher
f0d829220d Backed out changeset 821791826960 (bug 1197893) for Nexus build failures CLOSED TREE 2015-10-02 16:17:05 -07:00
Andrew McCreight
35cd15b8de Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-02 15:09:02 -07:00
Andrew McCreight
7a2c6267d4 Backed out changeset 6fa9cdf4002b for breaking the build. 2015-10-02 10:49:28 -07:00
Andrew McCreight
404740a102 Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-02 10:42:08 -07:00
Andrew McCreight
bd7c5585b3 Bug 1195977, part 7 - Use variadic templates instead of var args for ThrowTypeError() and ThrowRangeError(). r=peterv
This enables type checking of these arguments.
2015-09-15 11:47:04 -07:00
Andrew McCreight
4d25fb9ee0 Bug 1195977, part 6 - Inline ErrorResult throw error methods into the header. r=peterv
This is needed to turn these into templates later.
2015-09-15 11:47:04 -07:00
Andrew McCreight
46a8a4fbb4 Bug 1195977, part 5 - Hoist out inner part of ErrorResult::ThrowErrorWithMessage() into a helper. r=peterv
This will enable us to move it to the header later, which is needed to
turn it into a template.
2015-09-15 11:47:04 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Boris Zbarsky
afdc22e267 Bug 1180770 part 1. Remove the unused ThrowNotEnoughArgsError. r=peterv 2015-07-09 22:51:28 -04:00
Boris Zbarsky
fefbd0cfd7 Bug 1174954 part 3. Remove ReportJSExceptionFromJSImplementation, since it no longer does anything interesting. r=bholley 2015-06-16 16:44:11 -04:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Boris Zbarsky
d36060dc11 Bug 1157898 part 5. Eliminate the remaining non-ErrorResult consumers of ErrorResult::ErrorCode and make it protected. r=peterv 2015-04-27 09:18:52 -04:00
Boris Zbarsky
1e816696de Bug 1157898 part 4. Add ErrorResult::ErrorCodeIs() and use it in various places to get rid of ErrorCode(). r=peterv 2015-04-27 09:18:52 -04:00
Boris Zbarsky
a8f7f27004 Bug 1157754 part 3. Make ClearMessage private on ErrorResult. r=peterv 2015-04-26 22:38:17 -04:00
Boris Zbarsky
e11db3193b Bug 1157754 part 1. Add a way to "catch" an ErrorResult, and a way to safely convert an ErrorResult to an nsresult. r=peterv 2015-04-26 22:38:17 -04:00
Ben Kelly
beaa6a2ab8 Bug 1110485 P0 Add an ErrorResult constructor that takes nsresult. r=bz 2015-04-16 12:00:15 -07:00
Ehsan Akhgari
087743bda2 Bug 1154831 - Remove the gcc-4.6-warning-silencing code in ErrorResult::ErrorResult; r=bzbarsky 2015-04-16 07:29:31 -04:00
Ehsan Akhgari
5d5a053562 Bug 1149987 - Part 4: Do not attempt to delete ErrorResult::mMessage when deserializing the object from IPDL; r=bzbarsky
In opt builds, we do not initialize mMessage, so the null check is going
to be ineffective to test whether mMessage has a value that we should
delete.  But in IPDL, the ParamTraits Read method is only called with
freshly allocated objects, so we don't need to free anything here.
In order to be safe and ensure that we don't leak this memory, this
patch adds a number of assertions to check whether mMessage is
indeed only initialized where we expect it to.
2015-04-15 15:55:01 -04:00
Ehsan Akhgari
af406fe8b6 Bug 1149987 - Part 3: Give ErrorResult a move constructor and a move assignment operator; r=bzbarsky 2015-04-08 22:44:50 -04:00
Ehsan Akhgari
b7c3a57056 Bug 1149987 - Part 2: Make ErrorResult unassignable; r=bzbarsky
This object is not copyable, so it should probably not be
assignable either, especially since the compiler generated
copy constructor can potentially cause UAF issues on the
mMessage member, for example.
2015-04-08 22:44:47 -04:00
Ehsan Akhgari
f061a90e54 Bug 1149987 - Part 1: Make it possible to send an ErrorResult that doesn't encode a JS exception through the IPDL layer; r=bzbarsky 2015-04-08 22:44:44 -04:00
Ryan VanderMeulen
d8ade60200 Backed out 5 changesets (bug 1149987) for mochitest crashes.
Backed out changeset b62e371d6189 (bug 1149987)
Backed out changeset daa762fca8e6 (bug 1149987)
Backed out changeset bdb64d5befa5 (bug 1149987)
Backed out changeset 693901a4bcde (bug 1149987)
Backed out changeset e7c41c8653c4 (bug 1149987)

CLOSED TREE
2015-04-08 11:49:49 -04:00
Ehsan Akhgari
61000b2825 Bug 1149987 - Part 3: Give ErrorResult a move constructor and a move assignment operator; r=bzbarsky 2015-04-08 10:27:37 -04:00
Ehsan Akhgari
1171444160 Bug 1149987 - Part 2: Make ErrorResult unassignable; r=bzbarsky
This object is not copyable, so it should probably not be
assignable either, especially since the compiler generated
copy constructor can potentially cause UAF issues on the
mMessage member, for example.
2015-04-08 10:27:36 -04:00
Ehsan Akhgari
451e8342c1 Bug 1149987 - Part 1: Make it possible to send an ErrorResult that doesn't encode a JS exception through the IPDL layer; r=bzbarsky 2015-04-08 10:27:35 -04:00
Boris Zbarsky
e0532c037e Bug 1122238 part 3. Drop all the DOMException-cloning and sanitization gunk we added in bug 1107592 and bug 1107953 and bug 1117242 . r=bholley 2015-03-06 01:08:06 -05:00
Boris Zbarsky
9e8395b4c9 Bug 742194 part 1. Add support for throwing uncatchable exceptions to Web IDL bindings. People keep asking for this. r=khuey 2015-02-20 23:58:36 -05:00
Dhi Aurrahman
5b8f79fc23 Bug 1125766 - Throw proper error types for TextEncoder(), TextDecoder() and TextDecoder.decode(). r=bz 2015-02-04 18:46:26 +07:00
Boris Zbarsky
6a93d5c443 Bug 1107953 part 5. Add tests for promise rejections with content-side DOMExceptions, and fix the promise code so those tests actually pass. r=bholley 2015-01-15 17:39:02 -05:00
Ehsan Akhgari
4354953b4f Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -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 MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Boris Zbarsky
865b9215f3 Bug 978618. Fix error reporting for unintended XPConnect exceptions thrown by JS-implemented webidl to actually work correctly. r=bholley 2014-03-05 08:32:27 -05:00
Chris Peterson
9596b1edab Bug 956470 - Fix -Wuninitialized warning in ErrorResult.h. r=bz 2014-01-03 20:21:13 -08: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
Nicholas Nethercote
01c70c8c97 Bug 911020 - Introduce js/TypeDecls.h, which holds very commonly used type declarations from the JS engine. r=luke.
--HG--
extra : rebase_source : 008ef689989f93b46627b8be8608bdbc544ca3a2
2013-08-27 19:59:14 -07:00
Ms2ger
e88cf99a15 Bug 907605 - Remove BindingUtils.h include from PrimitiveConversions.h; r=bz 2013-08-22 08:34:48 +02:00
Andrea Marchesini
9dcb97c82c Bug 899546 - ENSURE_SUCCESS macro for ErrorResult, r=bz 2013-07-31 10:12:46 +02: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
Andrea Marchesini
07ef60ab61 Bug 856410 - Implement futures - Part 0: ErrorResult::StealJSException. r=bz 2013-06-11 21:41:21 -04:00
Olli Pettay
df759e4f3b Bug 866347 - Don't include jsapi.h in ErrorResult.h, r=waldo
--HG--
extra : rebase_source : e2b44338cf71a858b0a40c59a1af4e90620ed3aa
2013-04-30 17:04:52 +03:00
Boris Zbarsky
ec9c33f5eb Bug 860473 part 3. Root ErrorResult::ThrowJSException. r=evilpie,smaug 2013-04-11 14:31:06 -04: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
Masatoshi Kimura
2ffa472ad4 Bug 841802 - Part 1: Add ErrorResult::ClearMessage(). r=bz 2013-02-19 22:30:28 +09:00
Masatoshi Kimura
5e13172aad Bug 801487 - Implement ErrorResult::ThrowTypeError. r=bz 2012-11-06 18:23:14 -05:00
Boris Zbarsky
688a8b41eb Bug 753517 part 3. Expose the API needed for Paris bindings on nsDOMCSSDeclaration and nsICSSDeclaration. r=dbaron,peterv 2012-08-23 21:08:08 -07:00
Boris Zbarsky
79bf4de9af Bug 754457. Disallow copy-construction of ErrorResult, so it can only be passed by reference, not by value. r=peterv 2012-05-15 14:23:29 -04:00
Boris Zbarsky
73485dea64 Bug 749485. Switch new DOM bindings to using a struct for keeping track of failures for fallible methods. r=peterv,bent
ErrorResult is in a separate header file so it can be included from all over the
place without having to pull in mozilla/dom/Utils.h and all the xpconnect gunk
that needs.
2012-05-05 21:15:11 -04:00
Phil Ringnalda
15ea61df18 Back out 1907bf7e6d7c (bug 749485) for build bustage 2012-05-05 20:33:59 -07:00
Boris Zbarsky
d6697e4410 Bug 749485. Switch new DOM bindings to using a struct for keeping track of failures for fallible methods. r=peterv,bent
ErrorResult is in a separate header file so it can be included from all over the
place without having to pull in mozilla/dom/Utils.h and all the xpconnect gunk
that needs.
2012-05-05 21:15:11 -04:00