How to change firefox preferences (about:config) using the new WebExtensions api? - firefox-addon

To change the settings (about:config) with the old API you would simply do:
require('sdk/preferences/service').set('media.webrtc.debug.multi_log', true);
I can't find anything on the subject for the new WebExtensions add-ons of Firefox. Is it not available yet?

This is not possible, and likely, never will be.
Source: official WebExtensions FAQ https://wiki.mozilla.org/WebExtensions/FAQ#Will_I_have_access_to_about:config_or_the_preferences.3F
Also, you might be interested in this discussion on mozilla-community.org: https://discourse.mozilla-community.org/t/webextension-read-write-access-to-about-config/12268

Related

Is window.requestFileSystem method is deprecated?

I am currently working on an old iOS app. I don't have much idea about cordova.
I am stuck at one place, where code uses window.requestFileSytem . There is some code in success callback of this function.
When I debug, I found that success callback is not triggered. I am not able to find any thing about this function in latest cordova document however there is some thing in older document.
So I am worrying about is window. requestFilesystem method is deprecated. If so then how can I achieve same thing in latest cordova.
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onReqFileSystemSuccess, null);
Any help would be appreciated.
Reviewing #iammilinds answer I have to correct my initial statement:
The window.requestFileSystem method is non-standard and should not be used. See the linked MDN docs.
Yet there are code examples containing the window.requestFileSystem method in the documentation for the cordova file plugin here or here (searching for window.requestFileSystem might help as the dcos are pretty large).
So regarding your initial problem: I'm afraid you'll have to debug it. Maybe checking the browser's console might give you a hint what's wrong. Or try to add an error handler to window.requestFileSystem as the last parameter like so:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onReqFileSystemSuccess, onErrorLoadFs);
Yes, it's deprecated.
It's implemented only by Chrome as of today.
This is what Mozilla page for Window.requestFileSystem() for this API says:
Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
Above notice can be seen for several other "Files & Directories" APIs. However, below notice is significant and is read only for this particular API.
Even compared to the rest of the File and Directory Entries API, requestFileSystem() is especially non-standard; only Chrome implements it, and all other browser makers have decided that they will not implement it. It has even been removed from the proposed specification. Do not use this method!
The correct usage is as discussed in this post: How to use window.requestFileSystem of FileSystem API?
window.requestFileSystem = window.requestFileSystem || // Chrome
window.webkitRequestFileSystem; // Others

Find features of a non Microsoft program

I'm not sure how to even ask this question, but let's say I have a program such as Google Chrome. How would I find out the "features" of it so I can use PowerShell to modify it.
For example, how would I have Chrome open a web page and click a button.
I know for IE, you can use $ie.document.getElementById("loginform").submit() to click a button.
Thank you,
Tony
You can't ever really get the same amount of control over non-Windows programs using Powershell.
In terms of Chrome, you could simply open the browser and go to a webpage with:
$Start-Process "chrome.exe" "www.google.com"
There is generally not that much more for further functionality, but with Chrome you may be able to do things like change settings and configuration. Check out the (large) JSON file Preferences and other config files, which you can find in Chrome's local appdata folder (Win+R, %localappdata%, Google/Chrome/User Data/Default). I'm not too sure but it may also be a bad idea to mess around with these files.
I also did a Google search and found this third party powershell tool for browsers, called Selenium. Here's the list of extensions.

Can I change a config value in firefox with an addon?

How is it possible to program an Addon that changes a certain config value in Firefox, that usually is only accessible via about:config?
Is there a template I could use? Or Do I have to start from scratch?
Please see the Preferences documentation and API reference, in particular Adding preferences to an extension and Code Snippets.
Just to be clear: The nsIPreference* APIs can be used to query/modify any preference, not just add-on specific ones.
SDK users should use simple-prefs (for add-on prefs), and/or preferences/service.

How to avoid "automation server can't create object" without changing the browser security settings?

Recently I got the error "automation server can't create object", for which I know the solution is to add your website to trusted sites and enable the setting: "Initialize and script ActiveX controls not marked as safe for scripting". But since this is a security issue, I searched for an alternative workaround but came up with nothing.
So, I am wondering if there is any other work around for this?
Please look at this SO question. Check if you did everything that was discussed there.
The first thing is to implement IObjectSafety interface. Then sign the activex and installer and CAB. You might also want to look at this example how to implement an activex.

How to remove http:// from a website URL

Question:
I just stumbled upon:
http://icculus.org/~chunky/writing/inetd
I realized it removes the http://www in front of the URL.
How is that done?
I am not aware of URL-rewriting being able to do that, or not ?
Google has been experimenting with this feature in the developer version of Chrome. You can read about it at
http://code.google.com/p/chromium/issues/detail?id=41467
http://www.theinquirer.net/inquirer/news/1601917/google-drops-http-chrome
If this happens, it is a browser specific setting and something you don't have control over as a website publisher.

Resources