Commit Graph

92 Commits

Author SHA1 Message Date
Andrew McCreight
fe0bcc3a40 Bug 1338272 - Require that the return value of MaybeSetPendingException is used. r=bz
Most of the time, the return value of this method should be checked,
because behavior should depend on whether or not an exception is
thrown. However, if it is called immediately after a throw it doesn't
need to be checked because it will always return true. bz said there
is no public API that lets you assume there is an exception because it
would be "too easy to misuse".

MozReview-Commit-ID: CqyicBbcNjW

--HG--
extra : rebase_source : a5b74ba88a927a90d491ceb8f0b750a67f62b0f4
2017-02-14 16:17:02 -08:00
Michael Layzell
46ade67ada Bug 1331434 - Part 2: Add MOZ_MAY_CALL_AFTER_MUST_RETURN and MOZ_MUST_RETURN_FROM_CALLER annotations, r=ehsan
MozReview-Commit-ID: 1o2egvdhkqT
2017-03-07 19:06:48 -05:00
Boris Zbarsky
41700419ad Bug 1339540 part 3. Use nsresult values in the ErrorResult error module in place of NS_ERROR_TYPE_ERR/NS_ERROR_RANGE_ERR in ErrorResult code. r=smaug 2017-02-15 00:02:36 -05:00
Boris Zbarsky
2816ec4748 Bug 1339540 part 2. Move the three ErrorResult-internal NS_ERROR_DOM_* values over to the ErrorResult error module. r=smaug 2017-02-15 00:02:35 -05:00
Boris Zbarsky
15fc53a58f Bug 1328861. Be a little less trusting about our error codes in ErrorResult. r=smaug 2017-02-10 23:06:34 -05:00
Boris Zbarsky
fbf9e7a22b Bug 1330536 part 3. Add a subclass of FastErrorResult that can be used only to throw OOM. r=smaug 2017-01-17 23:52:13 -05:00
Jeff Walden
9251e2a1da Bug 1285649 - Replace an ellipsis function, whose last non-ellipsis argument was subject to integer promotions, with a variadic template function so as not to invoke C++ undefined behavior, because that would be Bad. r=froydnj 2016-07-20 15:06:48 -07:00
Jeff Walden
d6391c60ea Backed out changeset 1a2627378a0d, didn't tag the reviewer correctly. 2016-07-26 11:12:21 -07:00
Jeff Walden
b0edcf1fb1 Bug 1285649 - Replace an ellipsis function, whose last non-ellipsis argument was subject to integer promotions, with a variadic template function so as not to invoke C++ undefined behavior, because that would be Bad. NOT REVIEWED YET
--HG--
extra : rebase_source : 4b2fe5fbf7baaf599026f916e8969862c053a64c
2016-07-20 15:06:48 -07:00
Boris Zbarsky
c100c511bf Bug 933378 part 4. Change the ErrorResult destructor to suppress the exception, after asserting that it's already suppressed. r=bkelly 2016-07-15 22:35:13 -04:00
Boris Zbarsky
de3dccf7da Bug 933378 part 2. Introduce a FastErrorResult class that bindings can use internally instead of ErrorResult. r=bkelly 2016-07-15 22:35:13 -04:00
Boris Zbarsky
e3b8194f3f Bug 933378 part 1. Introduce a TErrorResult class that will serve as a base class for various ErrorResult-like subclasses. No actual behavior changes so far. r=bkelly 2016-07-15 22:35:13 -04:00
Emilio Cobos Álvarez
12929ea07e Bug 1224664 - Assert if an ErrorResult is accessed on a thread different than the one it's created on, r=khuey 2016-07-15 22:35:13 -04:00
Carsten "Tomcat" Book
255d05f484 Backed out changeset 03362dd7616d (bug 1224664) 2016-07-16 10:03:12 +02:00
Carsten "Tomcat" Book
2abd5d3f18 Backed out changeset dd2d38b7c16b (bug 933378) 2016-07-16 10:03:11 +02:00
Carsten "Tomcat" Book
b2d35d7ca3 Backed out changeset 1c2bd3bdebd6 (bug 933378) 2016-07-16 10:03:10 +02:00
Carsten "Tomcat" Book
dfb4a51bab Backed out changeset ed38780a242c (bug 933378) 2016-07-16 10:03:08 +02:00
Carsten "Tomcat" Book
10cd9bcc48 Backed out changeset 7fef388bc6cf (bug 1224664) 2016-07-16 10:03:07 +02:00
Boris Zbarsky
8f9cd3e3f5 Bug 1224664 followup: NS_ASSERT_OWNINGTHREAD needs to be #ifdef DEBUG if our NS_DECL_OWNINGTHREAD is. 2016-07-15 23:40:19 -04:00
Boris Zbarsky
a522fa79b7 Bug 933378 part 4. Change the ErrorResult destructor to suppress the exception, after asserting that it's already suppressed. r=bkelly 2016-07-15 22:35:13 -04:00
Boris Zbarsky
38d0ae9c0c Bug 933378 part 2. Introduce a FastErrorResult class that bindings can use internally instead of ErrorResult. r=bkelly 2016-07-15 22:35:13 -04:00
Boris Zbarsky
4e44fce24b Bug 933378 part 1. Introduce a TErrorResult class that will serve as a base class for various ErrorResult-like subclasses. No actual behavior changes so far. r=bkelly 2016-07-15 22:35:13 -04:00
Emilio Cobos Álvarez
c5ce5bdb84 Bug 1224664 - Assert if an ErrorResult is accessed on a thread different than the one it's created on, r=khuey 2016-07-15 22:35:13 -04:00
Bill McCloskey
291c555f34 Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
Steve Fink
517605b022 Bug 1246804 - Switch to using in-source annotations. Use C++ inheritance information when describing GC types. Add a test suite., r=terrence
MozReview-Commit-ID: HCcG2k8Wyb9

--HG--
extra : rebase_source : 732ef6ecc52f0e528d38b8c42e442919eba9b5ae
extra : source : 901b1c651c982ccbf42604231c723d168e1cde69
2015-09-29 13:39:33 -07:00
Steve Fink
57bca06b15 Backed out changeset 901b1c651c98 (bug 1246804)
--HG--
extra : rebase_source : d80a34f467275bf74672b87fd09a254b39ee20a1
2016-03-14 21:58:31 -07:00
Steve Fink
2dada4b1a0 Bug 1246804 - Switch to using in-source annotations. Use C++ inheritance information when describing GC types. Add a test suite., r=terrence
MozReview-Commit-ID: HCcG2k8Wyb9

--HG--
extra : rebase_source : 4b048fdcb150662c82e1b623e455551cc7281251
2015-09-29 13:39:33 -07:00
Kyle Huey
9eea75a6f5 Bug 1252268: If the slow script dialog aborts an interval timer callback, don't schedule it again. r=bz 2016-03-10 01:50:56 -08:00
Boris Zbarsky
38ed0f626b Bug 1249652 part 1. Add a method on ErrorResult to steal an exception, if any, from a JSContext. r=khuey 2016-02-24 10:38:31 -05:00
Boris Zbarsky
73208ce2f3 Bug 1228707. Add a away to call Web IDL callbacks while ignoring any errors from them, and use it in a few places. r=smaug 2015-11-30 22:04:09 -05:00
Boris Zbarsky
71b052b436 Bug 1224007 part 6. Change MaybeSetPendingException to set the ErrorResult state to "not failed", just like SuppressException and StealNSResult already do, and assert in the destructor that the ErrorResult is not Failed().
This is not quite as strong as being able to assert that all codepaths that might
lead to failure call one of the above methods, but being able to assert that
would involve a lot of extra noise at callsites.  Or at least changing the
signature of StealNSResult to use an outparam and return a boolean indicating
whether the ErrorResult was failure or not, or something, so StealNSResult
can be usefully called on successful ErrorResults too.
2015-11-20 16:29:41 -05:00
Boris Zbarsky
c3bc1cdc40 Bug 1224007 part 5. Get rid of ErrorResult::StealJSException. r=peterv 2015-11-20 16:29:41 -05:00
Boris Zbarsky
fb747879e0 Bug 1224007 part 3. Push down WouldReportJSException into MaybeSetPendingException, since anyone calling the latter will propagate the JS exception as needed. r=peterv 2015-11-20 16:29:41 -05:00
Boris Zbarsky
8ab5390043 Bug 1224007 part 2. Make the various ErrorResult::Report* methods private, so consumers all go through MaybeSetPendingException and rename them to more clearly indicate what they're actually doing. r=peterv 2015-11-20 16:29:41 -05:00
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