RequestPolicy/requestpolicy — Issue #98: Statusbar icon (color) states misleading/ambiguous
Author: jsamuel
Created: 2011-12-22 05:02:50+00:00
State: open

There is only one statusbar icon with only three icon states:

ORANGE - disabled ("Temporarily allow all requests")
RED - At least 1 denied/blocked request
GRAY - EITHER 0 cross-site requests OR 0 denied/blocked requests

HOWEVER:

ORANGE, as used in the current scheme, may be inadvertently (and incorrectly) assumed to merely indicate presence of a "secondary" origin request, due to inconsistency with context menu font color scheme.

GRAY, as used in the current scheme, is ambiguous.

There are at least four different policy states between destinations and origins: (a) DISABLED, (b) NO REQUESTS, (c) REQUESTS DENIED, (d) REQUESTS ALLOWED. The latter three (b, c & d) may apply to the "primary" origin and an arbitrary number of "secondary" origins.

There are three levels of site specification: (a) 2nd level domain, (b) full domain, (c) protocol, full domain, & port. Each "primary" and "secondary" site may match at different levels of specificity. Sites may also match multiple levels of specificity. Note that this is independent of the users current "Strictness" setting, as (a) sites may have been previously allowed at a different setting, and (b) manual edit and/or import sites may be of any "Strictness".

Recommended statusbar icon color scheme:

WHITE with RED "X" superimposed - Disabled
RED - At least 1 denied/blocked request from "primary" origin
ORANGE - At least 1 denied/blocked request from a "secondary" origin (with 0 denied/blocked requests from "primary" origin)
GREEN - No denied/blocked requests
GRAY - No cross-site requests at all

The proposed does not indicate (a) whether any "primary" origin requests were ALLOWED for RED state; (b) whether any "secondary" origin requests were made for RED or GREEN states; (c) whether any "secondary" origin requests were ALLOWED for RED or ORANGE states; or (d) site specificity. However, it does significantly improve the current scheme using the existing single statusbar icon.