Bug 661961 - change about:plugins to add the path for every extension. r=bsmedberg
authorTom Schuster <evilpies@gmail.com>
Thu, 28 Feb 2013 13:46:42 +0100
changeset 123477 abeabcfe18fb301b37942b914fb07052ced7f272
parent 123476 90c0a4c5a4b6139cf797a85476ad1e455f39a499
child 123478 20b605f231a0434bea13b3ec0f6e27607526d602
push id23866
push userevilpies@gmail.com
push dateFri, 01 Mar 2013 14:50:03 +0000
treeherdermozilla-inbound@9412ce386841 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbsmedberg
bugs661961
milestone22.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 661961 - change about:plugins to add the path for every extension. r=bsmedberg
dom/locales/en-US/chrome/plugins.properties
toolkit/content/plugins.html
toolkit/mozapps/extensions/PluginProvider.jsm
--- a/dom/locales/en-US/chrome/plugins.properties
+++ b/dom/locales/en-US/chrome/plugins.properties
@@ -6,13 +6,14 @@
 #    Those strings are inserted into an HTML page, so you all HTML characters
 #    have to be escaped in a way that they show up correctly in HTML!
 
 title_label=About Plugins
 enabledplugins_label=Enabled plugins
 nopluginsareenabled_label=No enabled plugins found
 findpluginupdates_label=Find updates for installed plugins at
 file_label=File:
+path_label=Path:
 version_label=Version:
 state_label=State:
 mimetype_label=MIME Type
 description_label=Description
 suffixes_label=Suffixes
--- a/toolkit/content/plugins.html
+++ b/toolkit/content/plugins.html
@@ -90,19 +90,19 @@
     fragment.appendChild(document.createElement("hr"));
 
     var stateNames = {};
     ["STATE_SOFTBLOCKED",
      "STATE_BLOCKED",
      "STATE_OUTDATED",
      "STATE_VULNERABLE_UPDATE_AVAILABLE",
      "STATE_VULNERABLE_NO_UPDATE"].forEach(function(label) {
-      stateNames[Ci.nsIBlocklistService[label]] = label;  
+      stateNames[Ci.nsIBlocklistService[label]] = label;
     });
-    
+
     for (var i = 0; i < aPlugins.length; i++) {
       var plugin = aPlugins[i];
       if (plugin) {
         // "Shockwave Flash"
         var plugname = document.createElement("h2");
         plugname.setAttribute("class", "plugname");
         plugname.appendChild(document.createTextNode(plugin.name));
         fragment.appendChild(plugname);
@@ -114,16 +114,25 @@
         var fileDd = document.createElement("dd");
         var file = document.createElement("span");
         file.setAttribute("class", "label");
         file.appendChild(document.createTextNode(pluginsbundle.GetStringFromName("file_label") + " "));
         fileDd.appendChild(file);
         fileDd.appendChild(document.createTextNode(plugin.pluginLibraries));
         dl.appendChild(fileDd);
 
+        // "Path: /usr/lib/mozilla/plugins/libtotem-cone-plugin.so"
+        var pathDd = document.createElement("dd");
+        var path = document.createElement("span");
+        path.setAttribute("class", "label");
+        path.appendChild(document.createTextNode(pluginsbundle.GetStringFromName("path_label") + " "));
+        pathDd.appendChild(path);
+        pathDd.appendChild(document.createTextNode(plugin.pluginFullpath));
+        dl.appendChild(pathDd);
+
         // "Version: "
         var versionDd = document.createElement("dd");
         var version = document.createElement("span");
         version.setAttribute("class", "label");
         version.appendChild(document.createTextNode(pluginsbundle.GetStringFromName("version_label") + " "));
         versionDd.appendChild(version);
         versionDd.appendChild(document.createTextNode(plugin.version));
         dl.appendChild(versionDd);
--- a/toolkit/mozapps/extensions/PluginProvider.jsm
+++ b/toolkit/mozapps/extensions/PluginProvider.jsm
@@ -348,16 +348,23 @@ function PluginWrapper(aId, aName, aDesc
 
   this.__defineGetter__("pluginLibraries", function() {
     let libs = [];
     for (let tag of aTags)
       libs.push(tag.filename);
     return libs;
   });
 
+  this.__defineGetter__("pluginFullpath", function() {
+    let paths = [];
+    for (let tag of aTags)
+      paths.push(tag.fullpath);
+    return paths;
+  })
+
   this.__defineGetter__("pluginMimeTypes", function() {
     let types = [];
     for (let tag of aTags)
       for (let type of tag.getMimeTypes({}))
         types.push(type);
     return types;
   });