{"id":2736,"date":"2015-05-02T12:09:20","date_gmt":"2015-05-02T17:09:20","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=2736"},"modified":"2023-12-20T16:25:11","modified_gmt":"2023-12-20T21:25:11","slug":"things-ive-learned-this-week-april-27-may-1-2015","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2015\/05\/02\/things-ive-learned-this-week-april-27-may-1-2015\/","title":{"rendered":"Things I&#8217;ve Learned This Week (April 27 &#8211; May 1, 2015)"},"content":{"rendered":"<p>Another short one this week.<\/p>\n<h2>You can pass DOM Promises back through XPIDL<\/h2>\n<p><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/XPIDL\">XPIDL<\/a> is what we use to define XPCOM interfaces in Gecko. I think we&#8217;re trying to avoid XPCOM where we can, but sometimes you have to work with pre-existing XPCOM interfaces, and, well, you&#8217;re just stuck using it unless you want to rewrite what you&#8217;re working on.<\/p>\n<p>What I&#8217;m working on lately is nsIProfiler, which is the interface to &#8220;SPS&#8221;, AKA the Gecko Profiler. nsIProfiler allows me to turn profiling on and off with various features, and then retrieve those profiles to send to a file, or to <a href=\"http:\/\/people.mozilla.com\/~bgirard\/cleopatra\/\">Cleopatra<\/a><sup id=\"rf1-2736\"><a href=\"#fn1-2736\" title=\"Cleopatra is the web application that can be used to browse a profile retrieved via nsIProfiler\" rel=\"footnote\">1<\/a><\/sup>.<\/p>\n<p>What I&#8217;ve been working on recently is <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1116188\">Bug 1116188 &#8211; [e10s] Stop using sync messages for Gecko profiler<\/a>, which will probably have me adding new methods to nsIProfiler for async retrieval of profiles.<\/p>\n<p>In the past, doing async stuff through XPCOM \/ XPIDL has meant using (or defining a new) callback interface which can be passed as an argument to the async method.<\/p>\n<p>I was just about to go down that road, when ehsan (or was it jrmuizel? One of them, anyhow) suggested that I just pass a DOM Promise back.<\/p>\n<p>I find that <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Promise\">Promises are excellent.<\/a> I really like them, and if I could pass a Promise back, that&#8217;d be incredible. But I had no idea how to do it.<\/p>\n<p>It turns out that if I can ensure that the async methods are called such that there is a JS context on the stack, I can generate a DOM Promise, and pass it back to the caller as an &#8220;nsISupports&#8221;. According to ehsan, XPConnect will do the necessary magic so that the caller, upon receiving the return value, doesn&#8217;t just get this opaque nsISupports thing, but an actual DOM Promise. This is because, I believe, that DOM Promise is something that is defined via <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Promise\">WebIDL<\/a>. I think. I can&#8217;t say I fully understand the mechanics of XPConnect<sup id=\"rf2-2736\"><a href=\"#fn2-2736\" title=\"Like being able to read the black speech of Mordor, there are few who can.\" rel=\"footnote\">2<\/a><\/sup>, but this all sounded wonderful.<\/p>\n<p>I even found an example in our new <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/ServiceWorker_API\">Service Worker<\/a> code:<\/p>\n<p>From dom\/workers\/ServiceWorkerManager.cpp (I&#8217;ve edited the method to highlight the Promise stuff):<\/p>\n<pre><code id=\"line-889\"><span class=\"c\">\/\/ If we return an error code here, the ServiceWorkerContainer will<\/span><\/code>\r\n<code id=\"line-890\"><span class=\"c\">\/\/ automatically reject the Promise.<\/span><\/code>\r\n<code id=\"line-891\"><a class=\"tok4762466087996162909\" title=\"NS_IMETHODIMP_(nsresult)\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/nscore.h#176&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nscore.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmacro-ref%3ANS_IMETHODIMP&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to macros with this name&quot;}]\">NS_IMETHODIMP<\/a><\/code>\r\n<code id=\"line-892\"><a class=\"tok-3072290757639257430\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.h#302&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">ServiceWorkerManager<\/a>::<a class=\"tok-3688454889600268568\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">Register<\/a>(nsIDOMWindow* <a class=\"tok6234376874386637724\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaWindow%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaWindow%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">aWindow<\/a>,<\/code>\r\n<code id=\"line-893\">                               nsIURI* <a class=\"tok-1900413785828718296\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaScopeURI%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaScopeURI%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">aScopeURI<\/a>,<\/code>\r\n<code id=\"line-894\">                               nsIURI* <a class=\"tok2368047401596154186\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaScriptURI%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaScriptURI%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">aScriptURI<\/a>,<\/code>\r\n<code id=\"line-895\">                               <a class=\"tok549397075121127981\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/nsISupportsBase.h#38&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsISupportsBase.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsISupports&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsISupports&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsISupports&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsISupports&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsISupports&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsISupports<\/a>** <a class=\"tok8806682797568076510\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaPromise%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaPromise%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">aPromise<\/a>)<\/code>\r\n<code id=\"line-896\">{<\/code>\r\n<code id=\"line-897\">  <a class=\"tok-6401369723386577317\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/WorkerPrivate.cpp#142&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'WorkerPrivate.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AAssertIsOnMainThread%28%29&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AAssertIsOnMainThread%28%29&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AAssertIsOnMainThread%28%29&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AAssertIsOnMainThread%28%29&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">AssertIsOnMainThread<\/a>();<\/code>\r\n<code id=\"line-898\"><\/code>\r\n<code id=\"line-899\">  <span class=\"c\">\/\/ XXXnsm Don't allow chrome callers for now, we don't support chrome<\/span><\/code>\r\n<code id=\"line-900\">  <span class=\"c\">\/\/ ServiceWorkers.<\/span><\/code>\r\n<code id=\"line-901\">  <a class=\"tok7970154216240079413\" title=\"MOZ_RELEASE_ASSERT(__VA_ARGS__)\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/mfbt\/Assertions.h#383&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'Assertions.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmacro-ref%3AMOZ_ASSERT&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to macros with this name&quot;}]\">MOZ_ASSERT<\/a>(!<a class=\"tok6042448956389112189\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/base\/nsContentUtils.h#181&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsContentUtils.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsContentUtils&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsContentUtils&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsContentUtils&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsContentUtils&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsContentUtils&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsContentUtils<\/a>::<a class=\"tok7400780928248162197\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/base\/nsContentUtils.cpp#1963&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsContentUtils.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3AnsContentUtils%3A%3AIsCallerChrome%28%29&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3AnsContentUtils%3A%3AIsCallerChrome%28%29&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3AnsContentUtils%3A%3AIsCallerChrome%28%29&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3AnsContentUtils%3A%3AIsCallerChrome%28%29&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">IsCallerChrome<\/a>());<\/code>\r\n<code id=\"line-902\"><\/code>\r\n<code id=\"line-903\">  <a class=\"tok5588720410561869406\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/glue\/nsCOMPtr.h#344&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsCOMPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsCOMPtr<\/a>&lt;<a class=\"tok9192106654954078277\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/base\/nsPIDOMWindow.h#68&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsPIDOMWindow.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsPIDOMWindow&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsPIDOMWindow&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsPIDOMWindow&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsPIDOMWindow&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsPIDOMWindow&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsPIDOMWindow<\/a>&gt; <a class=\"tok-9182744555962891048\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Awindow%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Awindow%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">window<\/a> = <a class=\"tok4243176201196198790\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/glue\/nsCOMPtr.h#189&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsCOMPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">do_QueryInterface<\/a>(<a class=\"tok6234376874386637724\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#892&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaWindow%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaWindow%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">aWindow<\/a>);<\/code>\r\n<code id=\"line-904\"><\/code>\r\n<code id=\"line-905\">  \/\/ ...\r\n<\/code>\r\n<code id=\"line-995\">  <a class=\"tok5588720410561869406\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/glue\/nsCOMPtr.h#344&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsCOMPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsCOMPtr&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsCOMPtr<\/a>&lt;<a class=\"tok3309258492703936821\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/base\/nsIGlobalObject.h#18&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsIGlobalObject.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsIGlobalObject&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsIGlobalObject&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsIGlobalObject&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsIGlobalObject&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsIGlobalObject&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsIGlobalObject<\/a>&gt; <a class=\"tok3608457602298937380\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Asgo%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Asgo%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">sgo<\/a> = <a class=\"tok4243176201196198790\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/glue\/nsCOMPtr.h#189&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsCOMPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22do_QueryInterface%28class+nsISupports+%2A%29%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">do_QueryInterface<\/a>(<a class=\"tok-9182744555962891048\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#903&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Awindow%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Awindow%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">window<\/a>);<\/code>\r\n<code id=\"line-996\">  <a class=\"tok3154679331120645537\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/bindings\/ErrorResult.h#44&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ErrorResult.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3AErrorResult&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3AErrorResult&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3AErrorResult&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3AErrorResult&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3AErrorResult&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">ErrorResult<\/a> <a class=\"tok-1069989155016554401\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">result<\/a>;<\/code>\r\n<code id=\"line-997\">  <a class=\"tok-8919194776436268222\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/nsRefPtr.h#28&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsRefPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsRefPtr<\/a>&lt;<a class=\"tok8587878179607609342\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/promise\/Promise.h#72&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'Promise.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">Promise<\/a>&gt; <a class=\"tok5447682589008648194\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Apromise%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Apromise%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">promise<\/a> = <a class=\"tok8587878179607609342\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/promise\/Promise.h#72&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'Promise.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3APromise&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">Promise<\/a>::<a class=\"tok8658940723108335357\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/promise\/Promise.cpp#422&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'Promise.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22mozilla%3A%3Adom%3A%3APromise%3A%3ACreate%28class+nsIGlobalObject+%2A%2C+class+mozilla%3A%3AErrorResult+%26%29%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22mozilla%3A%3Adom%3A%3APromise%3A%3ACreate%28class+nsIGlobalObject+%2A%2C+class+mozilla%3A%3AErrorResult+%26%29%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22mozilla%3A%3Adom%3A%3APromise%3A%3ACreate%28class+nsIGlobalObject+%2A%2C+class+mozilla%3A%3AErrorResult+%26%29%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22mozilla%3A%3Adom%3A%3APromise%3A%3ACreate%28class+nsIGlobalObject+%2A%2C+class+mozilla%3A%3AErrorResult+%26%29%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">Create<\/a>(<a class=\"tok3608457602298937380\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#995&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Asgo%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Asgo%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">sgo<\/a>, <a class=\"tok-1069989155016554401\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#996&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">result<\/a>);<\/code>\r\n<code id=\"line-998\">  <span class=\"k\">if<\/span> (<a class=\"tok-1069989155016554401\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#996&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">result<\/a>.<a class=\"tok2549070933970202450\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/bindings\/ErrorResult.h#163&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ErrorResult.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22mozilla%3A%3AErrorResult%3A%3AFailed%28%29+const%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22mozilla%3A%3AErrorResult%3A%3AFailed%28%29+const%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22mozilla%3A%3AErrorResult%3A%3AFailed%28%29+const%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22mozilla%3A%3AErrorResult%3A%3AFailed%28%29+const%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">Failed<\/a>()) {<\/code>\r\n<code id=\"line-999\">    <span class=\"k\">return<\/span> <a class=\"tok-1069989155016554401\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#996&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aresult%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">result<\/a>.<a class=\"tok1591631793039108712\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/bindings\/ErrorResult.h#88&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ErrorResult.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3Amozilla%3A%3AErrorResult%3A%3AStealNSResult%28%29&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3Amozilla%3A%3AErrorResult%3A%3AStealNSResult%28%29&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3Amozilla%3A%3AErrorResult%3A%3AStealNSResult%28%29&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3Amozilla%3A%3AErrorResult%3A%3AStealNSResult%28%29&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">StealNSResult<\/a>();<\/code>\r\n<code id=\"line-1000\">  }<\/code>\r\n\r\n  \/\/ ...<code id=\"line-1001\"><\/code>\r\n<code id=\"line-1004\"><\/code>\r\n<code id=\"line-1005\">  <a class=\"tok-8919194776436268222\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/nsRefPtr.h#28&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsRefPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsRefPtr<\/a>&lt;<a class=\"tok1264094695704777062\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#372&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">ServiceWorkerResolveWindowPromiseOnUpdateCallback<\/a>&gt; <a class=\"tok28061021994648447\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Acb%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Acb%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">cb<\/a> =<\/code>\r\n<code id=\"line-1006\">    <span class=\"k\">new<\/span> <a class=\"tok1264094695704777062\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#372&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerResolveWindowPromiseOnUpdateCallback&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">ServiceWorkerResolveWindowPromiseOnUpdateCallback<\/a>(<a class=\"tok-9182744555962891048\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#903&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Awindow%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Awindow%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">window<\/a>, <a class=\"tok5447682589008648194\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#997&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Apromise%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Apromise%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">promise<\/a>);<\/code>\r\n<code id=\"line-1007\"><\/code>\r\n<code id=\"line-1008\">  <a class=\"tok-8919194776436268222\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/nsRefPtr.h#28&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsRefPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3AnsRefPtr&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">nsRefPtr<\/a>&lt;<a class=\"tok5162487215433931099\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#515&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">ServiceWorkerRegisterJob<\/a>&gt; <a class=\"tok3608434602162937568\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Ajob%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Ajob%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">job<\/a> =<\/code>\r\n<code id=\"line-1009\">    <span class=\"k\">new<\/span> <a class=\"tok5162487215433931099\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#515&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-decl%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bderived%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find sub classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find sub classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bbases%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find base classes&quot;, &quot;icon&quot;: &quot;type&quot;, &quot;title&quot;: &quot;Find base classes of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bmember%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find members&quot;, &quot;icon&quot;: &quot;members&quot;, &quot;title&quot;: &quot;Find members of this class&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Btype-ref%3Amozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerRegisterJob&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this class&quot;}]\">ServiceWorkerRegisterJob<\/a>(<a class=\"tok-7512763994583253514\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#1002&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aqueue%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aqueue%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">queue<\/a>, <a class=\"tok-1619450816563056038\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#983&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AcleanedScope%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AcleanedScope%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">cleanedScope<\/a>, <a class=\"tok8585702050597449155\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#989&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aspec%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aspec%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">spec<\/a>, <a class=\"tok28061021994648447\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#1005&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Acb%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Acb%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">cb<\/a>, <a class=\"tok7550424343724719852\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#969&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AdocumentPrincipal%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AdocumentPrincipal%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">documentPrincipal<\/a>);<\/code>\r\n<code id=\"line-1010\">  <a class=\"tok-7512763994583253514\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#1002&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aqueue%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Aqueue%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">queue<\/a>-&gt;<a class=\"tok-4198658917974944365\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.h#89&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJobQueue%3A%3AAppend%28class+mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJob+%2A%29%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJobQueue%3A%3AAppend%28class+mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJob+%2A%29%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJobQueue%3A%3AAppend%28class+mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJob+%2A%29%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJobQueue%3A%3AAppend%28class+mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerJob+%2A%29%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">Append<\/a>(<a class=\"tok3608434602162937568\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#1008&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Ajob%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Ajob%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">job<\/a>);<\/code>\r\n<code id=\"line-1011\"><\/code>\r\n<code id=\"line-1012\">  <a class=\"tok5447682589008648194\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#997&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Apromise%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3Apromise%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">promise<\/a>.<a class=\"tok-1067884173426173893\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/nsRefPtr.h#213&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'nsRefPtr.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-decl%3A%22nsRefPtr%3A%3Aforget%28I+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcallers%3A%22nsRefPtr%3A%3Aforget%28I+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find callers&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that call this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bcalled-by%3A%22nsRefPtr%3A%3Aforget%28I+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find callees&quot;, &quot;icon&quot;: &quot;method&quot;, &quot;title&quot;: &quot;Find functions that are called by this function&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bfunction-ref%3A%22nsRefPtr%3A%3Aforget%28I+%2A%2A%29%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find references to this function&quot;}]\">forget<\/a>(<a class=\"tok8806682797568076510\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/dom\/workers\/ServiceWorkerManager.cpp#895&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ServiceWorkerManager.cpp'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaPromise%22&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3A%22mozilla%3A%3Adom%3A%3Aworkers%3A%3AServiceWorkerManager%3A%3ARegister%28class+nsIDOMWindow+%2A%2C+class+nsIURI+%2A%2C+class+nsIURI+%2A%2C+class+nsISupports+%2A%2A%29%3A%3AaPromise%22&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">aPromise<\/a>);<\/code>\r\n<code id=\"line-1013\">  <span class=\"k\">return<\/span> <a class=\"tok3894016251459450059\" title=\"0\" data-menu=\"[{&quot;href&quot;: &quot;\/mozilla-central\/source\/xpcom\/base\/ErrorList.h#4&quot;, &quot;html&quot;: &quot;Jump to definition&quot;, &quot;icon&quot;: &quot;jump&quot;, &quot;title&quot;: &quot;Jump to the definition in 'ErrorList.h'&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-decl%3Ansresult%3A%3ANS_OK&quot;, &quot;html&quot;: &quot;Find declarations&quot;, &quot;icon&quot;: &quot;reference&quot;, &quot;title&quot;: &quot;Find declarations of this variable&quot;}, {&quot;href&quot;: &quot;\/mozilla-central\/search?q=%2Bvar-ref%3Ansresult%3A%3ANS_OK&quot;, &quot;html&quot;: &quot;Find references&quot;, &quot;icon&quot;: &quot;field&quot;, &quot;title&quot;: &quot;Find reference to this variable&quot;}]\">NS_OK<\/a>;<\/code>\r\n<code id=\"line-1014\">}<\/code><\/pre>\n<p>Notice that the outparam aPromise is an nsISupports**, and yet, I do believe the caller will end up handling a DOM Promise. Wicked!<\/p>\n<hr class=\"footnotes\"><ol class=\"footnotes\" style=\"list-style-type:decimal\"><li id=\"fn1-2736\"><p >Cleopatra is the web application that can be used to browse a profile retrieved via nsIProfiler&nbsp;<a href=\"#rf1-2736\" class=\"backlink\" title=\"Return to footnote 1.\">&#8617;<\/a><\/p><\/li><li id=\"fn2-2736\"><p >Like being able to read the black speech of Mordor, there are few who can.&nbsp;<a href=\"#rf2-2736\" class=\"backlink\" title=\"Return to footnote 2.\">&#8617;<\/a><\/p><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Another short one this week. You can pass DOM Promises back through XPIDL XPIDL is what we use to define XPCOM interfaces in Gecko. I think we&#8217;re trying to avoid XPCOM where we can, but sometimes you have to work with pre-existing XPCOM interfaces, and, well, you&#8217;re just stuck using it unless you want to [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[874,861,110],"tags":[125,1018,35,1165,1167,1166],"class_list":["post-2736","post","type-post","status-publish","format-standard","hentry","category-firefox-mozilla-2","category-mozilla-2","category-musings","tag-firefox","tag-gecko","tag-mozilla","tag-promise","tag-webidl","tag-xpidl"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-I8","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=2736"}],"version-history":[{"count":1,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2736\/revisions"}],"predecessor-version":[{"id":2737,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2736\/revisions\/2737"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=2736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=2736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=2736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}