Bug 1450421 part 1. Stop using nsIDOMDOMRequest in xpidl. r=qdot

MozReview-Commit-ID: LYGIRidVNW
This commit is contained in:
Boris Zbarsky 2018-04-19 12:55:33 -04:00
parent 834d10278e
commit faa2ec447e
4 changed files with 42 additions and 43 deletions

View File

@ -237,32 +237,33 @@ NS_IMPL_ISUPPORTS(DOMRequestService, nsIDOMRequestService)
NS_IMETHODIMP
DOMRequestService::CreateRequest(mozIDOMWindow* aWindow,
nsIDOMDOMRequest** aRequest)
DOMRequest** aRequest)
{
MOZ_ASSERT(NS_IsMainThread());
NS_ENSURE_STATE(aWindow);
auto* win = nsPIDOMWindowInner::From(aWindow);
NS_ADDREF(*aRequest = new DOMRequest(win));
RefPtr<DOMRequest> req = new DOMRequest(win);
req.forget(aRequest);
return NS_OK;
}
NS_IMETHODIMP
DOMRequestService::FireSuccess(nsIDOMDOMRequest* aRequest,
DOMRequestService::FireSuccess(DOMRequest* aRequest,
JS::Handle<JS::Value> aResult)
{
NS_ENSURE_STATE(aRequest);
static_cast<DOMRequest*>(aRequest)->FireSuccess(aResult);
aRequest->FireSuccess(aResult);
return NS_OK;
}
NS_IMETHODIMP
DOMRequestService::FireError(nsIDOMDOMRequest* aRequest,
DOMRequestService::FireError(DOMRequest* aRequest,
const nsAString& aError)
{
NS_ENSURE_STATE(aRequest);
static_cast<DOMRequest*>(aRequest)->FireError(aError);
aRequest->FireError(aError);
return NS_OK;
}
@ -326,20 +327,19 @@ private:
};
NS_IMETHODIMP
DOMRequestService::FireSuccessAsync(nsIDOMDOMRequest* aRequest,
DOMRequestService::FireSuccessAsync(DOMRequest* aRequest,
JS::Handle<JS::Value> aResult)
{
NS_ENSURE_STATE(aRequest);
return FireSuccessAsyncTask::Dispatch(static_cast<DOMRequest*>(aRequest), aResult);
return FireSuccessAsyncTask::Dispatch(aRequest, aResult);
}
NS_IMETHODIMP
DOMRequestService::FireErrorAsync(nsIDOMDOMRequest* aRequest,
DOMRequestService::FireErrorAsync(DOMRequest* aRequest,
const nsAString& aError)
{
NS_ENSURE_STATE(aRequest);
nsCOMPtr<nsIRunnable> asyncTask =
new FireErrorAsyncTask(static_cast<DOMRequest*>(aRequest), aError);
nsCOMPtr<nsIRunnable> asyncTask = new FireErrorAsyncTask(aRequest, aError);
MOZ_ALWAYS_SUCCEEDS(NS_DispatchToCurrentThread(asyncTask));
return NS_OK;
}

View File

@ -8,6 +8,7 @@
interface mozIDOMWindow;
interface nsICursorContinueCallback;
webidl DOMRequest;
[shim(DOMRequest), uuid(e39da69e-2232-4e49-9856-b8a4a6210336)]
interface nsIDOMDOMRequest : nsIDOMEventTarget
@ -23,10 +24,10 @@ interface nsIDOMDOMRequest : nsIDOMEventTarget
[scriptable, builtinclass, uuid(9a57e5de-ce93-45fa-8145-755722834f7c)]
interface nsIDOMRequestService : nsISupports
{
nsIDOMDOMRequest createRequest(in mozIDOMWindow window);
DOMRequest createRequest(in mozIDOMWindow window);
void fireSuccess(in nsIDOMDOMRequest request, in jsval result);
void fireError(in nsIDOMDOMRequest request, in DOMString error);
void fireSuccessAsync(in nsIDOMDOMRequest request, in jsval result);
void fireErrorAsync(in nsIDOMDOMRequest request, in DOMString error);
void fireSuccess(in DOMRequest request, in jsval result);
void fireError(in DOMRequest request, in DOMString error);
void fireSuccessAsync(in DOMRequest request, in jsval result);
void fireErrorAsync(in DOMRequest request, in DOMString error);
};

View File

@ -6,8 +6,7 @@
#include "nsISupports.idl"
interface nsIDOMDOMRequest;
webidl DOMRequest;
webidl FrameLoader;
[scriptable, function, uuid(00d0e19d-bd67-491f-8e85-b9905224d3bb)]
@ -63,16 +62,16 @@ interface nsIBrowserElementAPI : nsISupports
void goForward();
void reload(in boolean hardReload);
void stop();
nsIDOMDOMRequest download(in DOMString url,
DOMRequest download(in DOMString url,
[optional] in jsval options);
nsIDOMDOMRequest purgeHistory();
nsIDOMDOMRequest getScreenshot(in uint32_t width,
DOMRequest purgeHistory();
DOMRequest getScreenshot(in uint32_t width,
in uint32_t height,
[optional] in DOMString mimeType);
void zoom(in float zoom);
nsIDOMDOMRequest getCanGoBack();
nsIDOMDOMRequest getCanGoForward();
nsIDOMDOMRequest getContentDimensions();
DOMRequest getCanGoBack();
DOMRequest getCanGoForward();
DOMRequest getContentDimensions();
void findAll(in DOMString searchString, in long caseSensitivity);
void findNext(in long direction);
@ -81,11 +80,11 @@ interface nsIBrowserElementAPI : nsISupports
void addNextPaintListener(in nsIBrowserElementNextPaintListener listener);
void removeNextPaintListener(in nsIBrowserElementNextPaintListener listener);
nsIDOMDOMRequest executeScript(in DOMString script, in jsval options);
DOMRequest executeScript(in DOMString script, in jsval options);
/**
* Returns an object that represents a Web Manifest:
* http://w3c.github.io/manifest/
*/
nsIDOMDOMRequest getWebManifest();
DOMRequest getWebManifest();
};

View File

@ -15,7 +15,6 @@
#include "nsComponentManagerUtils.h"
#include "nsFrameLoader.h"
#include "nsIDOMDOMRequest.h"
#include "nsIDOMElement.h"
#include "nsIMozBrowserFrame.h"
#include "nsINode.h"
@ -183,7 +182,7 @@ nsBrowserElement::Download(const nsAString& aUrl,
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsCOMPtr<nsIXPConnectWrappedJS> wrappedObj = do_QueryInterface(mBrowserElementAPI);
MOZ_ASSERT(wrappedObj, "Failed to get wrapped JS from XPCOM component.");
AutoJSAPI jsapi;
@ -205,7 +204,7 @@ nsBrowserElement::Download(const nsAString& aUrl,
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
already_AddRefed<DOMRequest>
@ -213,7 +212,7 @@ nsBrowserElement::PurgeHistory(ErrorResult& aRv)
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsresult rv = mBrowserElementAPI->PurgeHistory(getter_AddRefs(req));
if (NS_WARN_IF(NS_FAILED(rv))) {
@ -221,7 +220,7 @@ nsBrowserElement::PurgeHistory(ErrorResult& aRv)
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
already_AddRefed<DOMRequest>
@ -232,7 +231,7 @@ nsBrowserElement::GetScreenshot(uint32_t aWidth,
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsresult rv = mBrowserElementAPI->GetScreenshot(aWidth, aHeight, aMimeType,
getter_AddRefs(req));
@ -245,7 +244,7 @@ nsBrowserElement::GetScreenshot(uint32_t aWidth,
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
void
@ -265,7 +264,7 @@ nsBrowserElement::GetCanGoBack(ErrorResult& aRv)
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsresult rv = mBrowserElementAPI->GetCanGoBack(getter_AddRefs(req));
if (NS_WARN_IF(NS_FAILED(rv))) {
@ -273,7 +272,7 @@ nsBrowserElement::GetCanGoBack(ErrorResult& aRv)
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
already_AddRefed<DOMRequest>
@ -281,7 +280,7 @@ nsBrowserElement::GetCanGoForward(ErrorResult& aRv)
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsresult rv = mBrowserElementAPI->GetCanGoForward(getter_AddRefs(req));
if (NS_WARN_IF(NS_FAILED(rv))) {
@ -289,7 +288,7 @@ nsBrowserElement::GetCanGoForward(ErrorResult& aRv)
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
already_AddRefed<DOMRequest>
@ -297,7 +296,7 @@ nsBrowserElement::GetContentDimensions(ErrorResult& aRv)
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsresult rv = mBrowserElementAPI->GetContentDimensions(getter_AddRefs(req));
if (NS_WARN_IF(NS_FAILED(rv))) {
@ -305,7 +304,7 @@ nsBrowserElement::GetContentDimensions(ErrorResult& aRv)
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
void
@ -402,7 +401,7 @@ nsBrowserElement::ExecuteScript(const nsAString& aScript,
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsCOMPtr<nsIXPConnectWrappedJS> wrappedObj = do_QueryInterface(mBrowserElementAPI);
MOZ_ASSERT(wrappedObj, "Failed to get wrapped JS from XPCOM component.");
AutoJSAPI jsapi;
@ -429,7 +428,7 @@ nsBrowserElement::ExecuteScript(const nsAString& aScript,
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}
already_AddRefed<DOMRequest>
@ -437,7 +436,7 @@ nsBrowserElement::GetWebManifest(ErrorResult& aRv)
{
NS_ENSURE_TRUE(IsBrowserElementOrThrow(aRv), nullptr);
nsCOMPtr<nsIDOMDOMRequest> req;
RefPtr<DOMRequest> req;
nsresult rv = mBrowserElementAPI->GetWebManifest(getter_AddRefs(req));
if (NS_WARN_IF(NS_FAILED(rv))) {
@ -445,7 +444,7 @@ nsBrowserElement::GetWebManifest(ErrorResult& aRv)
return nullptr;
}
return req.forget().downcast<DOMRequest>();
return req.forget();
}