searching for reviewer(bholley)
0519406b6e579b203a73f0d17aacff4cf67d5380: Bug 1238177 - Extension content needs to use the correct user context id origin attribute. r=bholley
Dave Huseby <dhuseby@mozilla.com> - Sat, 02 Apr 2016 13:14:00 -0400 - rev 291492
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1238177 - Extension content needs to use the correct user context id origin attribute. r=bholley
e8cd4e639e410abc015b6c4211059e700a39c9c3: Bug 1257734: Support set/get for mocked object in content for mochitest, r=bholley
Junior Hsu <juhsu@mozilla.com> - Wed, 30 Mar 2016 15:05:09 +0800 - rev 291042
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1257734: Support set/get for mocked object in content for mochitest, r=bholley
72c2846e2d161e3c73f04c679e52717ccde38f7b: Bug 1259699 - Adjust Windows stack limits to account for large PGO stack frames. r=bholley
Jan de Mooij <jdemooij@mozilla.com> - Tue, 29 Mar 2016 08:03:54 +0200 - rev 290782
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1259699 - Adjust Windows stack limits to account for large PGO stack frames. r=bholley
745c69669283077563fdf6719882a087e61c342b: Bug 1259802: Add type replacement annotations to simplify rust binding generation for nsStyleStruct.h, r=bholley
Emilio Cobos Álvarez <ecoal95@gmail.com> - Fri, 25 Mar 2016 11:46:21 -0700 - rev 290477
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1259802: Add type replacement annotations to simplify rust binding generation for nsStyleStruct.h, r=bholley This way or bindings are sane, and we don't have to bring in a lot of the gfx code.
4907a0296ff97afd10bd83f05f264149fa770dd3: Bug 1259545. Remove the JS_SaveFrameChain bits in CallbackObject error reporting, since they are no longer needed. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 25 Mar 2016 11:11:20 -0400 - rev 290467
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1259545. Remove the JS_SaveFrameChain bits in CallbackObject error reporting, since they are no longer needed. r=bholley The code this is working around no longer exists.
7131e0ac868f61fc8db5ee972e6ee21dfc4766cd: Bug 1258163 - Implement Array.prototype[@@unscopables]. r=shu, r=bholley.
Jason Orendorff <jorendorff@mozilla.com> - Wed, 23 Mar 2016 12:17:58 -0500 - rev 290303
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1258163 - Implement Array.prototype[@@unscopables]. r=shu, r=bholley.
1d07dab8a2331218e88848b8cdd1ef8450d856d3: Bug 1255817 part 6. Fix up some comments in CallbackObject that refer to things that no longer exist. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:44:55 -0400 - rev 290137
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255817 part 6. Fix up some comments in CallbackObject that refer to things that no longer exist. r=bholley
b44267ae61b9c8c28920a7ef4af4f6aaf6d3f461: Bug 1255817 part 5. Remove the now-unused xpc::SystemErrorReporter. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:44:54 -0400 - rev 290136
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255817 part 5. Remove the now-unused xpc::SystemErrorReporter. r=bholley
564aabb49527e38cba207a50e4ef5d4ba9758969: Bug 1255817 part 4. Make XPCJSRuntime use MozCrashErrorReporter by default, now that there should be no stray JS_ReportPendingException calls. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:44:54 -0400 - rev 290135
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255817 part 4. Make XPCJSRuntime use MozCrashErrorReporter by default, now that there should be no stray JS_ReportPendingException calls. r=bholley
870cb629e5752827c14884473c25e118c19ba27a: Bug 1255817 part 3. Remove the now-unreachable JS_ReportPendingException call in nsXPCWrappedJSClass::CallQueryInterfaceOnJSObject. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:44:54 -0400 - rev 290134
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255817 part 3. Remove the now-unreachable JS_ReportPendingException call in nsXPCWrappedJSClass::CallQueryInterfaceOnJSObject. r=bholley
a45a6cde6558c0ed0797a29818eec13c4e0e2196: Bug 1255817 part 2. Get rid of AutoJSAPI::OwnsErrorReporting and AutoJSAPI::TakeOwnershipOfErrorReporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:44:54 -0400 - rev 290133
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255817 part 2. Get rid of AutoJSAPI::OwnsErrorReporting and AutoJSAPI::TakeOwnershipOfErrorReporting. r=bholley
96449936b41a3bca0b748836269f3baafa155aa1: Bug 1255817 part 1. Make AutoJSAPI always take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:44:54 -0400 - rev 290132
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255817 part 1. Make AutoJSAPI always take ownership of error reporting. r=bholley
2c3ebed966864f64b2fe2ba980c7d74cd52ae687: Bug 1257725 part 6. Get rid of ThreadsafeAutoJSContext. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:02:57 -0400 - rev 290126
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1257725 part 6. Get rid of ThreadsafeAutoJSContext. r=bholley
6c701e2a30470c3ae6102be68ff20edfd3ad685d: Bug 1257725 part 3. Get rid of ThreadsafeAutoJSContext usage in Promise code. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:02:57 -0400 - rev 290123
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1257725 part 3. Get rid of ThreadsafeAutoJSContext usage in Promise code. r=bholley
0dc03a76f51bd963ea4f5a6cfdfbb081efb81ef5: Bug 1258391. Add a test for incumbent global handling when invoking promise callbacks. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 23 Mar 2016 11:02:57 -0400 - rev 290120
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1258391. Add a test for incumbent global handling when invoking promise callbacks. r=bholley
f2582471724f12b2eadde1288474b7574605dba1: Bug 1256992: Initialize Windows sandbox BrokerServices before any child processes are created. r=aklotz, r=bholley
Bob Owen <bobowencode@gmail.com> - Wed, 23 Mar 2016 08:10:43 +0000 - rev 290064
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1256992: Initialize Windows sandbox BrokerServices before any child processes are created. r=aklotz, r=bholley
a45be9c4dd5a282f58d192817c1f2452967593d0: Bug 1256342. Fix typed array iteration to work correctly over Xrays. r=till,bholley
Boris Zbarsky <bzbarsky@mit.edu> - Tue, 22 Mar 2016 13:49:36 -0400 - rev 289959
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1256342. Fix typed array iteration to work correctly over Xrays. r=till,bholley
0516f9a5ad9de9b8c3421dc7fefc5f9e1a9776cd: Bug 1256342. Fix typed array iteration to work correctly over Xrays. r=till,bholley
Boris Zbarsky <bzbarsky@mit.edu> - Tue, 22 Mar 2016 13:49:36 -0400 - rev 289872
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1256342. Fix typed array iteration to work correctly over Xrays. r=till,bholley
0fedfd441a069e78ec363115d94b7da4c4547346: Bug 1256992: Initialize Windows sandbox BrokerServices before any child processes are created. r=aklotz, r=bholley
Bob Owen <bobowencode@gmail.com> - Tue, 22 Mar 2016 07:40:03 +0000 - rev 289835
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1256992: Initialize Windows sandbox BrokerServices before any child processes are created. r=aklotz, r=bholley
3cdd3f35f65e7bc85fa2719504d55d0e3900734b: Bug 1257892. Fix XPCConvert::JSValToXPCException to correctly detect Web IDL binding exceptions (i.e. all of them now!) when trying to check whether the value is already an XPCException. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Mon, 21 Mar 2016 11:01:43 -0400 - rev 289719
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1257892. Fix XPCConvert::JSValToXPCException to correctly detect Web IDL binding exceptions (i.e. all of them now!) when trying to check whether the value is already an XPCException. r=bholley
476c67fdc36c72c4d7efac7bb4506625093f29b1: Bug 1257335. Replace some AutoSafeJSContext uses with AutoJSAPI or AutoJSContext uses. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 18 Mar 2016 10:48:38 -0400 - rev 289418
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1257335. Replace some AutoSafeJSContext uses with AutoJSAPI or AutoJSContext uses. r=bholley In general, using an AutoJSAPI inited with an object is NOT the same as using AutoSafeJSContext (or AutoJSAPI inited without an object) and then entering the compartment of the object: the former will report exceptions to the global of the object as it comes off the stack, while the latter will not. This only really matters if we have an object from a window or worker global and hence might fire error events, or report internal stuff to the web console. The changes to initing with an object made in this bug are OK for the following reasons: 1) dom/base/Console.cpp: Always clears its exception before coming off the stack. 2) dom/base/nsDOMClassInfo.cpp: Inits with a non-web global. 3) dom/base/nsFrameMessageManager.cpp: Inits with a non-web global. 4) dom/media/MediaPermissionGonk.cpp: We probably want the caller to notice if anything here throws. 5) dom/xbl/nsXBLPrototypeBinding.cpp: Inits with a non-web global. 6) dom/xul/nsXULElement.cpp: Inits with a non-web global. 7) extensions/pref/autoconfig/src/nsJSConfigTriggers.cpp: Inits with a non-web global. 8) ipc/testshell/XPCShellEnvironment.cpp: Inits with a non-web global.
238a18a30a15c07db6b71c8586dcd7c434aaa493: Bug 1257306. Simplify the implementation of AutoSafeJSContext (and therefore AutoJSContext, since AutoSafeJSContext will no longer be an AutoJSContext). r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Thu, 17 Mar 2016 23:23:55 -0400 - rev 289355
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1257306. Simplify the implementation of AutoSafeJSContext (and therefore AutoJSContext, since AutoSafeJSContext will no longer be an AutoJSContext). r=bholley
91966a94be4894a7f8b169a15f233ebab7515e0e: Bug 1254557 - Convert test_428653.xul to an HTML-based chrome mochitest. r=bholley
Panos Astithas <past@mozilla.com> - Wed, 16 Mar 2016 11:44:24 +0200 - rev 289236
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254557 - Convert test_428653.xul to an HTML-based chrome mochitest. r=bholley MozReview-Commit-ID: 7qO5VzoOcK8
2a6f90eef68eba0ac664628d74115b0c44568804: Bug 1256306 - Bump the Windows stack limit. r=bholley
Jan de Mooij <jdemooij@mozilla.com> - Wed, 16 Mar 2016 09:35:16 +0100 - rev 289000
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1256306 - Bump the Windows stack limit. r=bholley
a2575708048d15d18c068c88d2fb5a5a30093b08: Bug 1236789. Part 2 - fix assertions when |aFlags == NS_DISPATCH_TAIL|. r=bholley
JW Wang <jwwang@mozilla.com> - Tue, 15 Mar 2016 13:12:27 +0800 - rev 288770
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1236789. Part 2 - fix assertions when |aFlags == NS_DISPATCH_TAIL|. r=bholley MozReview-Commit-ID: E5a8zP9cMI6
024ce6807e881595694a78ae6c4213cee4a9cf94: Bug 1236789. Avoid creating an unnecessary thread pool thread for tail-dispatch in TaskQueue. r=bholley
Robert O'Callahan <robert@ocallahan.org> - Tue, 05 Jan 2016 16:35:17 +1300 - rev 288769
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1236789. Avoid creating an unnecessary thread pool thread for tail-dispatch in TaskQueue. r=bholley MozReview-Commit-ID: H1rhQPBU00L
21e5497ebb7269dde3315ec97d28243fe09f72de: Bug 1256424. Get rid of ThreadsafeAutoSafeJSContext. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Mon, 14 Mar 2016 20:48:39 -0400 - rev 288731
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1256424. Get rid of ThreadsafeAutoSafeJSContext. r=bholley
007066bf36c62944e2ace4b1ec4e6346a325c3b8: Bug 1255830. Change nsBrowserElement code to properly propagate out JS exceptions from some of its API methods. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Mon, 14 Mar 2016 20:47:45 -0400 - rev 288729
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255830. Change nsBrowserElement code to properly propagate out JS exceptions from some of its API methods. r=bholley
9b9dde0705bdcd960e78bbab5083ae7a1543e33b: Bug 1255849. Add some documentation for AutoJSAPI instances that seem to be used just for cxpushing. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Mon, 14 Mar 2016 20:47:13 -0400 - rev 288727
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255849. Add some documentation for AutoJSAPI instances that seem to be used just for cxpushing. r=bholley
79bf9cf6fc79be06cdd63abec65a375704e262ba: Bug 1255867. Remove some unnecessary AutoJSAPI uses. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 11 Mar 2016 23:59:10 -0500 - rev 288461
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255867. Remove some unnecessary AutoJSAPI uses. r=bholley
82e7e34cedc5698a219cc9275deafd7bdc2be9e1: Bug 1255201. Improve the stack handling in nsXPCComponents_Utils::ReportError for the DOMException case to include the stack from the DOMException. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 11 Mar 2016 23:59:10 -0500 - rev 288460
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255201. Improve the stack handling in nsXPCComponents_Utils::ReportError for the DOMException case to include the stack from the DOMException. r=bholley
6e8cd31f8397ae2458fdccfc18397145dce64526: Bug 1255832. Propagate out JS exceptions properly from some methods in dom/mobilemessage. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 11 Mar 2016 16:43:31 -0500 - rev 288420
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255832. Propagate out JS exceptions properly from some methods in dom/mobilemessage. r=bholley
cf1c5ae001f8b4d384efcd6e6de00409fceea1c5: Bug 1255818. Switch from JS_ClearPendingException to AutoJSAPI::ClearException for cases when we have an AutoJSAPI around. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Fri, 11 Mar 2016 16:43:31 -0500 - rev 288419
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255818. Switch from JS_ClearPendingException to AutoJSAPI::ClearException for cases when we have an AutoJSAPI around. r=bholley
412c5cae8dea7b52da7c6981eec6a2a2884897c9: Bug 1255192 part 2. Clean up the JSContext usage around xpc::FindExceptionStackForConsoleReport now that it just needs a JSContext for rooting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 22:27:14 -0500 - rev 288061
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255192 part 2. Clean up the JSContext usage around xpc::FindExceptionStackForConsoleReport now that it just needs a JSContext for rooting. r=bholley
c1072d4efaae224d72ca273f9ad91b01e5bb5150: Bug 1255192 part 1. Remove the JSContext argument of JS::ExceptionStackOrNull. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 22:27:13 -0500 - rev 288060
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255192 part 1. Remove the JSContext argument of JS::ExceptionStackOrNull. r=bholley
1ce42e0fdfe18a8891043afe6b8042a5ca01b3f7: Bug 1255181. Remove AutoJSAPI::InitWithLegacyErrorReporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 19:02:25 -0500 - rev 288047
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1255181. Remove AutoJSAPI::InitWithLegacyErrorReporting. r=bholley
781240d96e26ebc2da454d8f1c23e2c0af7f5fef: Bug 1254847 part 3. Make AutoEntryScript always take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 19:02:03 -0500 - rev 288046
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254847 part 3. Make AutoEntryScript always take ownership of error reporting. r=bholley
fce4deb07b1214ed9e22ef71898097259b051225: Bug 1254847 part 2. Change nsJSNPRuntime to always use AutoEntryScript and always take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 19:02:03 -0500 - rev 288045
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254847 part 2. Change nsJSNPRuntime to always use AutoEntryScript and always take ownership of error reporting. r=bholley The main change is that we move AutoJSExceptionReporter up to before the first place where we might throw an exception, so we report those exceptions before returning. The change to use AutoEntryScript consistently is because all of these callsites can run JS in practice, and it seems reasonable to allow them to.
d5dbc870688e2512e7fce880e842aa415871a8b6: Bug 1254847 part 1. Take ownership of error reporting on the AutoEntryScript in nsXPCWrappedJSClass::DelegatedQueryInterface. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 19:02:03 -0500 - rev 288044
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254847 part 1. Take ownership of error reporting on the AutoEntryScript in nsXPCWrappedJSClass::DelegatedQueryInterface. r=bholley If a QI method throws anything other than NS_NOINTERFACE, we should just report it and propagate NS_NOINTERFACE out to callers. And if it throws NS_NOINTERFACE, then we already clear the pending exception in nsXPCWrappedJSClass::CallQueryInterfaceOnJSObject, then turn the null return value into a C++ NS_NOINTERFACE return.
c7a8a54d90587a4c3da931c5aaad77df8440cf3e: Bug 1254860. Switch the AutoEntryScript TestShellCommandParent::RunCallback to taking ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:29:17 -0500 - rev 287994
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254860. Switch the AutoEntryScript TestShellCommandParent::RunCallback to taking ownership of error reporting. r=bholley There's no one expecting a pending exception from this method.
fbbd78bb3ff1eee7b43c7f7d21ad49dab57989e3: Bug 1254859 part 2. Switch the AutoEntryScript in nsXULTemplateBuilder::InitHTMLTemplateRoot to take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:29:14 -0500 - rev 287993
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254859 part 2. Switch the AutoEntryScript in nsXULTemplateBuilder::InitHTMLTemplateRoot to take ownership of error reporting. r=bholley There isn't really anyone expecting a pending exception to be left on the JSContext by this method, so reporting is fine.
879dc05431d9944b16f75b9b064e3206772ddfd4: Bug 1254859 part 1. Switch the AutoEntryScript in nsGlobalWindow::FireOnNewGlobalObject to take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:56 -0500 - rev 287992
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254859 part 1. Switch the AutoEntryScript in nsGlobalWindow::FireOnNewGlobalObject to take ownership of error reporting. r=bholley Doesn't matter in practice, since JS_FireOnNewGlobalObject never throws.
493f42f9868dbcaecaa3bef55e36481da956ef0c: Bug 1254857. Switch the AutoEntryScript in xpc::EvalInSandbox to take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:54 -0500 - rev 287991
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254857. Switch the AutoEntryScript in xpc::EvalInSandbox to take ownership of error reporting. r=bholley In practice we always propagate the exception out anyway, so this change is a no-op.
447989bc9e0edea0e680638800bb512d2fea2332: Bug 1254855. Switch AutoEntryScripts in nsDirectoryViewer to take ownership of error reporting. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:45 -0500 - rev 287990
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254855. Switch AutoEntryScripts in nsDirectoryViewer to take ownership of error reporting. r=bholley These are both in things that get called from the event loop, so there is no one expecting to see the pending exception.
e872087afd97b1189bcc811851dec7655271c5d9: Bug 1254848 part 3. Take ownership of error reporting on the AutoEntryScript in AsyncScriptLoader::OnStreamComplete. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:42 -0500 - rev 287989
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254848 part 3. Take ownership of error reporting on the AutoEntryScript in AsyncScriptLoader::OnStreamComplete. r=bholley There is no one else who cares about an exception left on the JSContext here: we're coming in off the event loop.
775f07a2c2da32aba5574854a05b2c776e31bab5: Bug 1254848 part 2. Take ownership of error reporting on the AutoEntryScript in mozJSComponentLoader::PrepareObjectForLocation. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:41 -0500 - rev 287988
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254848 part 2. Take ownership of error reporting on the AutoEntryScript in mozJSComponentLoader::PrepareObjectForLocation. r=bholley This is only used for calling JS_FireOnNewGlobalObject, which never throws.
e104ac28b26674a74cf467914552bfb93b53b6e8: Bug 1254848 part 1. Take ownership of error reporting on the AutoEntryScript in mozJSComponentLoader::ObjectForLocation. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:33 -0500 - rev 287987
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254848 part 1. Take ownership of error reporting on the AutoEntryScript in mozJSComponentLoader::ObjectForLocation. r=bholley The code as it stood is a bit weird. It sets up an AutoJSAPI that takes ownership of error reporting. Then later it also sets up an AutoEntryScript... but keeps using the JSContext it got from the AutoJSAPI. It's not obvious that there is any guarantee that this matches the JSContext from the AutoEntryScript! So we go ahead and change the things that are nominally using the AutoEntryScript to use it JSContext and take ownership of error reporting on it explicitly. If the JSContext is the same as that of the AutoJSAPI, then we were getting backstopped by its taking ownership of error reporting anyway. If it's not, we don't want to leave exceptions dangling on it.
42252455a8c40212e6ecbc602846a4a9a82a5989: Bug 1254846. Add an AutoEntryScript constructor that takes a JSObject instead of an nsIGlobalObject, for convenience. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Wed, 09 Mar 2016 15:28:26 -0500 - rev 287986
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254846. Add an AutoEntryScript constructor that takes a JSObject instead of an nsIGlobalObject, for convenience. r=bholley
f271fb4ecec8a0daff460b2dee581da53d100780: Bug 1254968 - Add support for running JS builtins' constructors over Xray wrappers without unwrapping the newTarget. r=bholley,f=bz
Till Schneidereit <till@tillschneidereit.net> - Wed, 10 Feb 2016 23:09:13 +0100 - rev 287938
Push 19656 by gwagner@mozilla.com at Mon, 04 Apr 2016 13:43:23 +0000
Bug 1254968 - Add support for running JS builtins' constructors over Xray wrappers without unwrapping the newTarget. r=bholley,f=bz
f31818f56cd278f5f6e0cad726f48caf426783e7: Bug 1254393. Take ownership of error reporting on the AutoEntryScript in nsXPCWrappedJSClass::CallMethod. r=bholley
Boris Zbarsky <bzbarsky@mit.edu> - Tue, 08 Mar 2016 17:21:40 -0500 - rev 287762
Push 19612 by gwagner@mozilla.com at Wed, 09 Mar 2016 16:35:37 +0000
Bug 1254393. Take ownership of error reporting on the AutoEntryScript in nsXPCWrappedJSClass::CallMethod. r=bholley There are several cases to consider in terms of where exceptions might come from here: 1) We could have an exception on the JSContext already when we set up the AutoEntryScript. In practice this does not happen, and once this change is made we will add an assert to that effect in AutoJSAPI::InitInternal. See bug 1112920. 2) We could have an exception thrown by the XPCCallContext constructor, but it never does that when initialized, as here, without a JSObject*. 3) We can have an exception thrown by CallMethod itself, if the callee method wants a JSContext or optional argc. This patch switches that to using CheckForException, which means it will behave exactly like exceptions thrown from the actual implementation of the method we're calling in terms of how it's reported and whether it's rethrown to callers, if any. 4) We can have exceptions thrown various places (e.g. during argument and retval/outparam conversions) after this point, but those are all under the scope of the AutoScriptEvaluate, whose destructor will restore the JSContext state to whatever it was when the AutoScriptEvaluate was created. Since the AutoScriptEvaluate goes out of scope before the AutoEntryScript does, there will be no dangling exception on the JSContext at that point. 5) We can have exceptions thrown by the actual method call. Those are reported, as needed, via CheckForException, and will continue to be so reported. So in general there are two behavior changes here: * We now treat the "callee wants JSContext or argc" case as the same as an exception from the callee, which is not what we used to do. * If the object we're calling comes from an inner window whose outer window has been torn down, we will now correctly report the exception against that inner window. Before this patch, what happend is that we would init the AutoEntryScript with the inner window, but FindJSContext would not find an nsIScriptContext on it (since its outer has been torn down), so we would use the safe JS context. Then in xpc::SystemErrorReporter we would check for a window associated with the JSContext, not find one, check for an addon sandbox current compartment, see we're not in one, and then use the privileged junk scope for its error reporting. The new setup in AutoJSAPI::ReportError checks for the current compartent being a window, which of course it is.