Proxy UI

  • Revision slug: Proxy_UI
  • Revision title: Proxy UI
  • Revision id: 142797
  • Created:
  • Creator: Benc
  • Is current revision? Yes
  • Comment 1 words added, 1 words removed

Revision Content

Products

Firefox
  • Menu: Preferences > Advanced Tab > Networking tab > Connection button.
Thunderbird
  • Menu: Preferences > Advanced Tab > Networking tab > Connection button.
Seamonkey
  • Menu: Preferences > Advanced group > Proxies panel
  • Menu: right-click on Offline-online button (on browser windows).
Camino
  • Configured in OS (Networking Preferences)

(Recently Added - some support for reading OS and account settings.)

UI Elements

Preferences Panel

Overview

The UI is based on selecting a proxy mode, then filling out any additional needed information in "related" UI.

The "OK" button saves the preferences. The preference changes

Selecting the proxy "mode"

All product's Proxy preference panels share a basic design: a radio button that selects the proxy mode, then "related proxy mode" UI when needed. For the purposes of this document, "proxy mode" means both:

  • Whatever was selected in the UI (as opposed to the value of the network.proxy.type.
  • The underlying behavior.

The currently available modes are based on "network.proxy.type".

For example, Firefox 3:

[ ] No Proxy
[ ] Auto-detect proxy settings for this network
[ ] Manual proxy configuration:
[ ] Automatic proxy configuration URL:
Behavior

Default value:

  • "No Proxy" is selected
  • All other "type" radio buttons are enabled, but not selected.

"related" UI elements

Only two proxy modes have related UI.

  • Manual proxy is a list of proxy types that require a hostname and a port number.
  • Proxy autoconfiguration has a URL field and a reload button.

When a radio button is selected, the related UI elements are enabled (and editable). The previously selected radio button becomes unselected, and the related UI of the previous button is disabled (and is not editable).

Saving changes

  • Click "OK" to save changes to prefs.
  • Click "Cancel" to discard changes.

The radio buttons do not map to the proxy type in order (due the evolution of the UI):

Proxy mode "network.proxy.type"
No Proxy (direct) network.proxy.type=0
Auto-detect proxy settings... (WPAD) network.proxy.type=4
Manual proxy configuration (manual) network.proxy.type=1
Automatic proxy configuration URL (PAC) network.proxy.type=2

Manual

Manual allows the entry of a proxy server hostname name and server.

The entries are on a per-protocol basis for: HTTP, SSL (https), FTP, Gopher.

If configured, SOCKS is used as a default: If the protocol was proxyable and did not match any of the previous protocols), then use SOCKS.

The socks version is selected by radio buttons: ( ) SOCKS v4 ( ) SOCKS v5

"No proxy for:"

Discussed in detail elsewhere... but should be noted that if you cut and paste from IE, the semi-colons are automatically converted to commas when you save changes (FF, TB, SM).

 

Automatic proxy configuration URL

Supports a URL (which is checked via URIfixup) and a reload button.

Offline|Online "plug"

Location

Status bar on the right side.

Right-click

A menu is displayed that has the following items:

Online (Proxy: None) Online (Proxy: Auto Discover) Online (Proxy: Auto URL) Online (Proxy: Manual) --- Proxy Configuration...

<h7 name="Details">Details</h7> The menu should display the current proxy mode with a dot. The modes that can have an empty configuration (Auto URL and Manual) will be disabled if the prefs are blank. Selecting an enabled item sets the menu selection and the proxy mode (network.proxy.type) Selecting a disabled item is not allowed. Selecting "Proxy Configuration..." opens the Preferences panel to "Advanced > Proxies"

(TBdescribed: changing the prefs values).

Unfiled bug: changing proxy mode does not update the menu.

Mouseover

When online, the tooltip will include the current proxy mode:

Code

http://mxr.mozilla.org/seamonkey/sou...ityOverlay.xul

Bugs

Bug 243624

Reference

network.proxy.type

Revision Source

<h2 id="Products">Products</h2>
<h5 id="Firefox" name="Firefox">Firefox</h5>
<ul> <li>Menu: Preferences &gt; Advanced Tab &gt; Networking tab &gt; Connection button.</li>
</ul>
<h5 id="Thunderbird">Thunderbird</h5>
<ul> <li>Menu: Preferences &gt; Advanced Tab &gt; Networking tab &gt; Connection button.</li>
</ul>
<h5 id="Seamonkey" name="Seamonkey">Seamonkey</h5>
<ul> <li>Menu: Preferences &gt; Advanced group &gt; Proxies panel</li> <li>Menu: right-click on Offline-online button (on browser windows).</li>
</ul>
<h5 id="Camino" name="Camino">Camino</h5>
<ul> <li>Configured in OS (Networking Preferences)</li>
</ul>
<p>(Recently Added - some support for reading OS and account settings.)</p><h2 id="UI_Elements">UI Elements</h2>
<h3 id="Preferences_Panel">Preferences Panel</h3>
<p>
</p><h4 id="Overview">Overview</h4>
<p>
</p><p>The UI is based on selecting a proxy mode, then filling out any additional needed information in "related" UI.</p>
<p>The "OK" button saves the preferences. The preference changes</p>
<h4 id='Selecting_the_proxy_"mode"'>Selecting the proxy "mode"</h4>
<p>All product's Proxy preference panels share a basic design: a radio button that selects the proxy mode, then "related proxy mode" UI when needed. For the purposes of this document, "proxy mode" means both:</p>
<ul> <li>Whatever was selected in the UI (as opposed to the value of the <code>network.proxy.type</code>.</li> <li>The underlying behavior.</li>
</ul>
<p>The currently available modes are based on "<a class="external" href="http://kb.mozillazine.org/Network.proxy.type">network.proxy.type</a>".</p>
<p>For example, Firefox 3:</p>
<pre>[ ] No Proxy
[ ] Auto-detect proxy settings for this network
[ ] Manual proxy configuration:
[ ] Automatic proxy configuration URL:
</pre>
<h5 id="Behavior">Behavior</h5>
<p>Default value:</p>
<ul> <li>"No Proxy" is selected</li> <li>All other "type" radio buttons are enabled, but not selected.</li>
</ul>
<h4 id=".22related_proxy_mode.22_UI_elements" name=".22related_proxy_mode.22_UI_elements">"related" UI elements</h4>
<p>Only two proxy modes have related UI.</p>
<ul> <li>Manual proxy is a list of proxy types that require a hostname and a port number.</li> <li>Proxy autoconfiguration has a URL field and a reload button.</li>
</ul>
<p>
</p><h5 id="Enabling_and_disabling_related_fields">Enabling and disabling related fields</h5>
<p>
</p><p>When a radio button is selected, the related UI elements are enabled (and editable). The previously selected radio button becomes unselected, and the related UI of the previous button is disabled (and is not editable).</p>
<h4 id="Saving_changes" name="Saving_changes">Saving changes</h4>
<ul> <li>Click "OK" to save changes to prefs.</li> <li>Click "Cancel" to discard changes.</li>
</ul>
<p>The radio buttons do not map to the proxy type in order (due the evolution of the UI):</p>
<table class="standard-table"> <tbody> <tr> <th>Proxy mode</th> <th>"network.proxy.type"</th> </tr> <tr> <td>No Proxy (direct)</td> <td>network.proxy.type=0</td> </tr> <tr> <td>Auto-detect proxy settings... (WPAD)</td> <td>network.proxy.type=4</td> </tr> <tr> <td>Manual proxy configuration (manual)</td> <td>network.proxy.type=1</td> </tr> <tr> <td>Automatic proxy configuration URL (PAC)</td> <td>network.proxy.type=2</td> </tr> </tbody>
</table>
<h4 id="Manual" name="Manual">Manual</h4>
<p>Manual allows the entry of a proxy server hostname name and server.</p>
<p>The entries are on a per-protocol basis for: HTTP, SSL (https), FTP, Gopher.</p>
<p>If configured, SOCKS is used as a default: If the protocol was proxyable and did not match any of the previous protocols), then use SOCKS.</p>
<p>The socks version is selected by radio buttons: <code> ( ) SOCKS v4 ( ) SOCKS v5 </code></p>
<h5 id="No_proxy_for" name="No_proxy_for">"No proxy for:"</h5>
<p>Discussed in detail elsewhere... but should be noted that if you cut and paste from IE, the semi-colons are automatically converted to commas when you save changes (FF, TB, SM).</p>
<p> </p><h4 id="Automatic_proxy_configuration_URL">Automatic proxy configuration URL</h4>
<p>
</p><p>Supports a URL (which is checked via URIfixup) and a reload button.</p>
<h3 id='Offline|Online_"plug"'>Offline|Online "plug"</h3>
<h6 id="Location" name="Location">Location</h6>
<p>Status bar on the right side.</p>
<h6 id="Right-click" name="Right-click">Right-click</h6>
<p>A menu is displayed that has the following items:</p>
<p>Online (Proxy: None) Online (Proxy: Auto Discover) Online (Proxy: Auto URL) Online (Proxy: Manual) --- Proxy Configuration...</p>
<p>&lt;h7 name="Details"&gt;Details&lt;/h7&gt; The menu should display the current proxy mode with a dot. The modes that can have an empty configuration (Auto URL and Manual) will be disabled if the prefs are blank. Selecting an enabled item sets the menu selection and the proxy mode (network.proxy.type) Selecting a disabled item is not allowed. Selecting "Proxy Configuration..." opens the Preferences panel to "Advanced &gt; Proxies"</p>
<p>(TBdescribed: changing the prefs values).</p>
<p>Unfiled bug: changing proxy mode does not update the menu.</p>
<p>Mouseover</p>
<p>When online, the tooltip will include the current proxy mode:</p>
<h6 id="Code" name="Code">Code</h6>
<p><a class=" external" href="http://mxr.mozilla.org/seamonkey/source/suite/common/utilityOverlay.xul" rel="freelink">http://mxr.mozilla.org/seamonkey/sou...ityOverlay.xul</a></p>
<h6 id="Bugs" name="Bugs">Bugs</h6>
<p>Bug 243624</p>
<h3 id="Reference" name="Reference">Reference</h3>
<p><a class="external" href="http://kb.mozillazine.org/Network.proxy.type">network.proxy.type</a></p>
Revert to this revision