Bug 1478806. Remove nsIBrowserElementNextPaintListener. r=mccr8

There's no particular reason for us to have this interface.  The only consumer
is JS-implemented, and the only caller has JS values to start with; we can just
pass these as jsval.
This commit is contained in:
Boris Zbarsky 2018-07-27 00:37:44 -04:00
Родитель 1aa33b0003
Коммит a410b62f8d
3 изменённых файлов: 9 добавлений и 19 удалений

Просмотреть файл

@ -796,7 +796,7 @@ BrowserElementParent.prototype = {
this._nextPaintListeners = [];
for (let listener of listeners) {
try {
listener.recvNextPaint();
listener();
} catch (e) {
// If a listener throws we'll continue.
}

Просмотреть файл

@ -9,12 +9,6 @@
webidl DOMRequest;
webidl FrameLoader;
[scriptable, function, uuid(00d0e19d-bd67-491f-8e85-b9905224d3bb)]
interface nsIBrowserElementNextPaintListener : nsISupports
{
void recvNextPaint();
};
%{C++
#define BROWSER_ELEMENT_API_CONTRACTID "@mozilla.org/dom/browser-element-api;1"
#define BROWSER_ELEMENT_API_CID \
@ -77,8 +71,8 @@ interface nsIBrowserElementAPI : nsISupports
void findNext(in long direction);
void clearMatch();
void addNextPaintListener(in nsIBrowserElementNextPaintListener listener);
void removeNextPaintListener(in nsIBrowserElementNextPaintListener listener);
void addNextPaintListener(in jsval listener); // BrowserElementNextPaintEventCallback
void removeNextPaintListener(in jsval listener); // BrowserElementNextPaintEventCallback
DOMRequest executeScript(in DOMString script, in jsval options);

Просмотреть файл

@ -368,11 +368,9 @@ nsBrowserElement::AddNextPaintListener(BrowserElementNextPaintEventCallback& aLi
{
NS_ENSURE_TRUE_VOID(IsBrowserElementOrThrow(aRv));
CallbackObjectHolder<BrowserElementNextPaintEventCallback,
nsIBrowserElementNextPaintListener> holder(&aListener);
nsCOMPtr<nsIBrowserElementNextPaintListener> listener = holder.ToXPCOMCallback();
nsresult rv = mBrowserElementAPI->AddNextPaintListener(listener);
JS::Rooted<JS::Value> val(RootingCx(),
JS::ObjectOrNullValue(aListener.CallbackOrNull()));
nsresult rv = mBrowserElementAPI->AddNextPaintListener(val);
if (NS_WARN_IF(NS_FAILED(rv))) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
@ -385,11 +383,9 @@ nsBrowserElement::RemoveNextPaintListener(BrowserElementNextPaintEventCallback&
{
NS_ENSURE_TRUE_VOID(IsBrowserElementOrThrow(aRv));
CallbackObjectHolder<BrowserElementNextPaintEventCallback,
nsIBrowserElementNextPaintListener> holder(&aListener);
nsCOMPtr<nsIBrowserElementNextPaintListener> listener = holder.ToXPCOMCallback();
nsresult rv = mBrowserElementAPI->RemoveNextPaintListener(listener);
JS::Rooted<JS::Value> val(RootingCx(),
JS::ObjectOrNullValue(aListener.CallbackOrNull()));
nsresult rv = mBrowserElementAPI->RemoveNextPaintListener(val);
if (NS_WARN_IF(NS_FAILED(rv))) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);