Bug 746110 - Expose click-to-play plugins preference in the UI. r=Neil ui-r=IanN
authorJens Hatlak <jh@junetz.de>
Sat, 07 Jul 2012 16:22:13 +0200
changeset 10605 f9abd1dbd5991ef5cf0958513cdf7bba46e3eeb2
parent 10604 1c89d1ce2a5316e10d9b18d5cddc5b6fee34b0c5
child 10606 881420f9c131f20346b03b2c4751c69e4f01598e
push id8006
push userjh@junetz.de
push dateSat, 07 Jul 2012 15:12:04 +0000
treeherdercomm-central@f9abd1dbd599 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersNeil, IanN
bugs746110
Bug 746110 - Expose click-to-play plugins preference in the UI. r=Neil ui-r=IanN
suite/common/pref/pref-scripts.xul
suite/locales/en-US/chrome/common/help/cs_nav_prefs_advanced.xhtml
suite/locales/en-US/chrome/common/pref/pref-scripts.dtd
--- a/suite/common/pref/pref-scripts.xul
+++ b/suite/common/pref/pref-scripts.xul
@@ -31,16 +31,19 @@
                   name="dom.disable_image_src_set"
                   type="bool" inverted="true"/>
       <preference id="dom.event.contextmenu.enabled"
                   name="dom.event.contextmenu.enabled"
                   type="bool"/>
       <preference id="plugin.disable"
                   name="plugin.disable"
                   type="bool" inverted="true"/>
+      <preference id="plugins.click_to_play"
+                  name="plugins.click_to_play"
+                  type="bool" inverted="true"/>
       <preference id="plugins.hide_infobar_for_missing_plugin"
                   name="plugins.hide_infobar_for_missing_plugin"
                   type="bool" inverted="true"/>
     </preferences>
 
     <groupbox id="javascriptPreferences" flex="1">
       <caption label="&enableJavaScript.label;"/>
 
@@ -72,29 +75,32 @@
                   preference="dom.disable_image_src_set"/>
         <listitem type="checkbox" id="allowContextmenuDisable"
                   label="&allowContextmenuDisable.label;"
                   preference="dom.event.contextmenu.enabled"/>
       </listbox>
     </groupbox>
 
     <groupbox id="pluginPreferences">
-      <caption label="&enablePlugin.label;"/>
+      <caption label="&enablePlugins.label;"/>
       <checkbox id="pluginForSuite"
                 label="&enablePluginForSuite.label;"
                 accesskey="&enablePluginForSuite.accesskey;"
                 preference="plugin.disable"/>
 
       <!-- mailnews will add its checkbox here using overlay (mailPrefsOverlay.xul).
       -->
     </groupbox>
 
-    <groupbox id="pluginsNotificationPref">
-      <caption label="&whenPluginsRequired.label;"/>
-
-      <checkbox id="displayPluginsNotification"
-                label="&displayNotification.label;"
-                accesskey="&displayNotification.accesskey;"
+    <groupbox id="pageRequiresPlugins">
+      <caption label="&whenPageRequiresPlugins.label;"/>
+      <checkbox id="activateAllPlugins"
+                label="&activateAllPlugins.label;"
+                accesskey="&activateAllPlugins.accesskey;"
+                preference="plugins.click_to_play"/>
+      <checkbox id="warnPluginsRequired"
+                label="&warnPluginsRequired.label;"
+                accesskey="&warnPluginsRequired.accesskey;"
                 preference="plugins.hide_infobar_for_missing_plugin"/>
     </groupbox>
     
   </prefpane>
 </overlay>
--- a/suite/locales/en-US/chrome/common/help/cs_nav_prefs_advanced.xhtml
+++ b/suite/locales/en-US/chrome/common/help/cs_nav_prefs_advanced.xhtml
@@ -119,22 +119,33 @@
   <li><strong>Enable Plugins for</strong>: Use these checkboxes to control how
     plugins are used:
     <ul>
       <li><strong>Suite</strong>: Globally enables or disables plugins.</li>
       <li><strong>Mail &amp; Newsgroups</strong>: Allows plugins to be used in
         Mail &amp; Newsgroups.</li>
     </ul>
   </li>
-  <li><strong>When additional plugins are required</strong>: Check this
-    checkbox if you want to be informed whenever a website requires additional
+  <li><strong>When a page requires plugins</strong>: Select these
+    checkboxes to control what &brandShortName; should do if a web page requires
     plugins:
     <ul>
-      <li><strong>Display a notification bar at the top of the content
-        area</strong>: When a website requires a plugin which is not installed,
+      <li><strong>Activate all plugins by default</strong>: If you select this,
+        &brandShortName; will load and run all plugins found on the web page.
+        Otherwise, if the page requires plugins, &brandShortName; will show a
+        notification (plugin icon in the location bar or notification bar), plus
+        a placeholder for every plugin instance found on the page (unless the
+        website is whitelisted, see below).
+        You can activate individual visible plugin instances with a left mouse
+        click or use the notification to activate all the plugins on the page.
+        From the notification you have the option to either temporarily activate
+        the plugins or remember the choice for the current website. Remembered
+        choices can be edited using the Data Manager (Permissions tab).</li>
+      <li><strong>Warn me if additional plugins need to be installed</strong>:
+        When a website requires a plugin which is not installed,
         a notification bar will be displayed above the website content area.
         From the bar you will be able to download and install the missing
         plugin.</li>
     </ul>
   </li>
 </ul>
 
 <p>For more information about plugins, see
--- a/suite/locales/en-US/chrome/common/pref/pref-scripts.dtd
+++ b/suite/locales/en-US/chrome/common/pref/pref-scripts.dtd
@@ -16,15 +16,17 @@
 <!ENTITY allowScripts.accesskey          "s">
 <!ENTITY allowWindowMoveResize.label     "Move or resize existing windows">
 <!ENTITY allowWindowFlip.label           "Raise or lower windows">
 <!ENTITY allowWindowStatusChange.label   "Change status bar text">
 <!ENTITY allowWindowImageSrcChange.label "Change images">
 <!ENTITY allowContextmenuDisable.label   "Disable or replace context menus">
 <!ENTITY allowHideStatusBar.label        "Hide the status bar">
 
-<!ENTITY enablePlugin.label              "Enable Plugins for:">
+<!ENTITY enablePlugins.label             "Enable Plugins for">
 <!ENTITY enablePluginForSuite.label      "Suite">
 <!ENTITY enablePluginForSuite.accesskey  "u">
 
-<!ENTITY whenPluginsRequired.label       "When additional plugins are required">
-<!ENTITY displayNotification.label       "Display a notification bar at the top of the content area">
-<!ENTITY displayNotification.accesskey   "N">
+<!ENTITY whenPageRequiresPlugins.label   "When a page requires plugins">
+<!ENTITY activateAllPlugins.label        "Activate all plugins by default">
+<!ENTITY activateAllPlugins.accesskey    "d">
+<!ENTITY warnPluginsRequired.label       "Warn me if additional plugins need to be installed">
+<!ENTITY warnPluginsRequired.accesskey   "W">