This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Sessions API not working/recognized in Browser Toolbox?

  • 6 cavab
  • 1 has this problem
  • 1 view
  • Last reply by TyDraniu

more options

I'm trying to develop a simple addon using the Sessions API, so I wanted to play around a bit with the JS in the Browser Toolbox first. I have set devtools.chrome.enabled to true and pressed Ctrl+Shift+J to open the browser console. I'm able to run some JS (example: console.log("Hello world!") works as expected), but when I try to run something like sessions.getRecentlyClosed(), I get the following error message:

 Uncaught ReferenceError: sessions is not defined
    <anonymous> debugger eval code:1
    getEvalResult resource://devtools/server/actors/webconsole/eval-with-debugger.js:243
    evalWithDebugger resource://devtools/server/actors/webconsole/eval-with-debugger.js:167
    evaluateJS resource://devtools/server/actors/webconsole.js:1119
    evaluateJSAsync resource://devtools/server/actors/webconsole.js:1011
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103


I tried browser.sessions.getRecentlyClosed() with the same error message about "browser.sessions" not being defined. Anyone know why this is happening and how to fix it, or how to correctly import the Sessions API if that's what's needed?

Thanks!

I'm trying to develop a simple addon using the Sessions API, so I wanted to play around a bit with the JS in the Browser Toolbox first. I have set <b>devtools.chrome.enabled</b> to true and pressed <b>Ctrl+Shift+J</b> to open the browser console. I'm able to run some JS (example: <b>console.log("Hello world!")</b> works as expected), but when I try to run something like <b>sessions.getRecentlyClosed()</b>, I get the following error message: <pre> Uncaught ReferenceError: sessions is not defined <anonymous> debugger eval code:1 getEvalResult resource://devtools/server/actors/webconsole/eval-with-debugger.js:243 evalWithDebugger resource://devtools/server/actors/webconsole/eval-with-debugger.js:167 evaluateJS resource://devtools/server/actors/webconsole.js:1119 evaluateJSAsync resource://devtools/server/actors/webconsole.js:1011 makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103 </pre> I tried <b>browser.sessions.getRecentlyClosed()</b> with the same error message about "browser.sessions" not being defined. Anyone know why this is happening and how to fix it, or how to correctly import the Sessions API if that's what's needed? Thanks!

Modified by fiffox

All Replies (6)

more options

Hi, for debugging addons you must use the Remote Debugging option, or about:debugging#/runtime/this-firefox

more options

TyDraniu said

Hi, for debugging addons you must use the Remote Debugging option, or about:debugging#/runtime/this-firefox

Hi TyDraniu, sorry for any confusion, but this question is about running javascript in the Browser Console, not debugging an addon. I'll edit the question to make it more clear.

more options

This Session API is available only for webextensions, if i'm not mistaken. You can't just run it within a web console.

more options
more options

TyDraniu said

This Session API is available only for webextensions, if i'm not mistaken. You can't just run it within a web console.

Ah, thanks, I was afraid of that. And I suppose there's no way to import webextension APIs into the console? It sure would be nice to see the output to certain code in real time (especially since the examples in the documentation were a little sparse).

more options

I was using web-ext (https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/ ) and a console under about:debugging. There is a separate console with output from a browser plus extensions.