Closed Bug 273545 Opened 20 years ago Closed 20 years ago

Generic Whitelist Object to be inherited by other extensions

Categories

(Core :: JavaScript Engine, enhancement)

x86
Windows XP
enhancement
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: russell, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

[FEATURE REQUEST]
I'm not sure where this should go, but I believe this should be a core
component.  Every extension, or feature being created eventually wants a
whitelist/blacklist.  So now we have whitelists for popup blocking, whitelists
for cookies, whitelists for images, adblock and other extensions are also
implementing their own whitelists.

I suggest refactor the code to add a whitelist object.  I think that would be a
core javascript object.

I'm thinking the standard whitelist object that lets each whitelist have a name.
 It would maintain a list of websites and allow/deny properties.  It would
present a GUI and be accessible from javascript, or GUI.  Then Cookies, Images,
Adblock, etc would all have one identical clean interface for adding whitelists.  

Each site/domain would have a list of statuses available.  Allow/Allow this
Session/Deny.  Then perhaps a default = Allow/Allow for Session/Deny for sites
not on the whitelist.

Then to see if Javascript should be allowed for this site you could say...

wl = new WhiteList("Javascript");
if (wl.GetSiteStatus("example.com") != WhiteList.Deny) {
  // turn on javascript
}

or something like that...

Reproducible: Didn't try
Steps to Reproduce:
--
This does not belong in the core JavaScript Engine, which is used in servers and
games as well as in Mozilla browser, mail, editor, calendar, etc. applications.

We already have the permission manager, see
http://lxr.mozilla.org/mozilla/source/netwerk/base/public/nsIPermissionManager.idl.
 It is a scriptable interface.

/be
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → INVALID
Thank You, I searched, but obviously using the wrong keywords.
You need to log in before you can comment on or make changes to this bug.