author | Boris Zbarsky <bzbarsky@mit.edu> |
Mon, 14 Mar 2016 20:47:45 -0400 | |
changeset 288670 | 007066bf36c62944e2ace4b1ec4e6346a325c3b8 |
parent 288669 | 3149ea08a83f3bd4041671f14316a946ab542f3c |
child 288671 | dca912a377eac9a3f2a149a9edb08c84631acea4 |
push id | 30087 |
push user | cbook@mozilla.com |
push date | Tue, 15 Mar 2016 09:43:43 +0000 |
treeherder | mozilla-central@5e14887312d4 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bholley |
bugs | 1255830 |
milestone | 48.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/html/nsBrowserElement.cpp +++ b/dom/html/nsBrowserElement.cpp @@ -260,18 +260,19 @@ nsBrowserElement::Download(const nsAStri nsCOMPtr<nsIDOMDOMRequest> req; nsCOMPtr<nsIXPConnectWrappedJS> wrappedObj = do_QueryInterface(mBrowserElementAPI); MOZ_ASSERT(wrappedObj, "Failed to get wrapped JS from XPCOM component."); AutoJSAPI jsapi; jsapi.Init(wrappedObj->GetJSObject()); JSContext* cx = jsapi.cx(); JS::Rooted<JS::Value> options(cx); + aRv.MightThrowJSException(); if (!ToJSValue(cx, aOptions, &options)) { - aRv.Throw(NS_ERROR_OUT_OF_MEMORY); + aRv.StealExceptionFromJSContext(cx); return nullptr; } nsresult rv = mBrowserElementAPI->Download(aUrl, options, getter_AddRefs(req)); if (NS_WARN_IF(NS_FAILED(rv))) { aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); return nullptr; } @@ -759,18 +760,19 @@ nsBrowserElement::ExecuteScript(const ns nsCOMPtr<nsIDOMDOMRequest> req; nsCOMPtr<nsIXPConnectWrappedJS> wrappedObj = do_QueryInterface(mBrowserElementAPI); MOZ_ASSERT(wrappedObj, "Failed to get wrapped JS from XPCOM component."); AutoJSAPI jsapi; jsapi.Init(wrappedObj->GetJSObject()); JSContext* cx = jsapi.cx(); JS::Rooted<JS::Value> options(cx); + aRv.MightThrowJSException(); if (!ToJSValue(cx, aOptions, &options)) { - aRv.Throw(NS_ERROR_OUT_OF_MEMORY); + aRv.StealExceptionFromJSContext(cx); return nullptr; } nsresult rv = mBrowserElementAPI->ExecuteScript(aScript, options, getter_AddRefs(req)); if (NS_FAILED(rv)) { if (rv == NS_ERROR_INVALID_ARG) { aRv.Throw(NS_ERROR_DOM_INVALID_ACCESS_ERR);