mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-27 04:38:02 +00:00
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:
parent
1aa33b0003
commit
a410b62f8d
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user