14
submitted 1 year ago* (last edited 1 year ago) by look997@karab.in to c/firefox@lemmy.ml

I do a basic browser.local.sync sync test:

let monster = {
  name: "Kraken",
  tentacles: true,
  eyeCount: 10,
};

let kitten = {
  name: "Moggy",
  tentacles: false,
  eyeCount: 2,
};

browser.storage.sync.set({ kitten, monster });

and on the second profile:

await browser.storage.local.get("kitten");

but nothing happens, get("kitten") returns nothing.

QUESTIONS:

  1. Does the synchronization work on a zip file loaded from Add-ons -> Tools for all add-ons -> Install add-on from file...?
    I have in manifest.json applications.gecko.id, as needed.
  2. If not, what do I need to do to TEST the synchronization work?

API https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync

[-] look997@karab.in 0 points 1 year ago

@Kierunkowy74 Obrzydliwy to ten mastodon.social?

3
submitted 1 year ago by look997@karab.in to c/firefox@lemmy.ml

I am using the Experimental API in my private Firefox extension.

So far, I've been using Firefox 102 ESR, but I'm planning to switch to Firefox ESR 115. There's already a Firefox 115 Beta available, so I've started testing it with my private extension.

So far, I've been using internal Firefox functions like loadOneTab and loadURI and it worked very well.

I used the loadOneTab function like this:

const placesURL = "chrome://browser/content/places/places.xhtml";
		window.gBrowser.loadOneTab( placesURL, {
			inBackground: false,
			allowThirdPartyFixup : true,
			relatedToCurrent : true,
			triggeringPrincipal : services.scriptSecurityManager.getSystemPrincipal()
		} );

But the loadOneTab function no longer exists at all in Firefox's internal API. What should I replace it with?

I found the function _createTab:

// window.gBrowser._createTab({ uriString: placesURL });

But the _createTab function returns an error:

Uncaught Error: UserInteraction with id "browser.tabs.opening" was not initialized

...I guess this is by security to make this function called only by user action? And I call this function inside async function.

Is it somehow possible to open a new tab from the Experimental API in Firefox 115 beta?
I need this very badly. Really very much.


I used the loadURI function like this:

window.gBrowser.selectedBrowser.loadURI(linkGo, {triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()});

The loadURI function appears to still be available in Firefox's internal API, but returns an error like this:

TypeError: 'uri' member of CancelContentJSOptions is not an object. RemoteWebNavigation.sys.mjs:28:41

How to overcome this error?

look997

joined 2 years ago