From 336531ba7fc9e807e47340d4c76c8173963f19ed Mon Sep 17 00:00:00 2001 From: Dave Townsend Date: Thu, 9 Oct 2008 12:55:47 +0100 Subject: [PATCH] Backing out changeset 62274f98ccf8 from bug 455213 due to test failures --- modules/plugin/base/src/nsPluginHostImpl.cpp | 27 +--- modules/plugin/test/Makefile.in | 6 +- modules/plugin/test/unit/test_bug455213.js | 160 ------------------- 3 files changed, 6 insertions(+), 187 deletions(-) delete mode 100644 modules/plugin/test/unit/test_bug455213.js diff --git a/modules/plugin/base/src/nsPluginHostImpl.cpp b/modules/plugin/base/src/nsPluginHostImpl.cpp index e1ab5a33cfe..b77e049c9c5 100644 --- a/modules/plugin/base/src/nsPluginHostImpl.cpp +++ b/modules/plugin/base/src/nsPluginHostImpl.cpp @@ -92,7 +92,6 @@ #include "nsIPrefBranch2.h" #include "nsIScriptChannel.h" #include "nsPrintfCString.h" -#include "nsVersionComparator.h" // Friggin' X11 has to "#define None". Lame! #ifdef None @@ -204,10 +203,7 @@ // 0.08 mime entry point on MachO, bug 137535 // 0.09 the file encoding is changed to UTF-8, bug 420285 // 0.10 added plugin versions on appropriate platforms, bug 427743 -// The current plugin registry version (and the maximum version we know how to read) static const char *kPluginRegistryVersion = "0.10"; -// The minimum registry version we know how to read -static const char *kMinimumRegistryVersion = "0.9"; //////////////////////////////////////////////////////////////////////// // CID's && IID's static NS_DEFINE_IID(kIPluginInstanceIID, NS_IPLUGININSTANCE_IID); @@ -5778,13 +5774,7 @@ nsPluginHostImpl::ReadPluginInfo() } // kPluginRegistryVersion - PRInt32 vdiff = NS_CompareVersions(values[1], kPluginRegistryVersion); - // If this is a registry from some future version then don't attempt to read it - if (vdiff > 0) { - return rv; - } - // If this is a registry from before the minimum then don't attempt to read it - if (NS_CompareVersions(values[1], kMinimumRegistryVersion) < 0) { + if (PL_strcmp(values[1], kPluginRegistryVersion)) { return rv; } @@ -5801,22 +5791,15 @@ nsPluginHostImpl::ReadPluginInfo() if (!reader.NextLine()) return rv; - char *version; - if (NS_CompareVersions(values[1], "0.10") >= 0) { - version = reader.LinePtr(); - if (!reader.NextLine()) - return rv; - } - else { - version = "0"; - } + char *version = reader.LinePtr(); + if (!reader.NextLine()) + return rv; // lastModifiedTimeStamp|canUnload|tag.mFlag if (3 != reader.ParseLine(values, 3)) return rv; - // If this is an old plugin registry mark this plugin tag to be refreshed - PRInt64 lastmod = vdiff == 0 ? nsCRT::atoll(values[0]) : -1; + PRInt64 lastmod = nsCRT::atoll(values[0]); PRBool canunload = atoi(values[1]); PRUint32 tagflag = atoi(values[2]); if (!reader.NextLine()) diff --git a/modules/plugin/test/Makefile.in b/modules/plugin/test/Makefile.in index 2d932d0f8fb..69976ac7915 100644 --- a/modules/plugin/test/Makefile.in +++ b/modules/plugin/test/Makefile.in @@ -42,12 +42,8 @@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk -MODULE = test_plugin +MODULE = plugin DIRS = testplugin -XPCSHELL_TESTS = \ - unit \ - $(NULL) - include $(topsrcdir)/config/rules.mk diff --git a/modules/plugin/test/unit/test_bug455213.js b/modules/plugin/test/unit/test_bug455213.js deleted file mode 100644 index 2be315aff53..00000000000 --- a/modules/plugin/test/unit/test_bug455213.js +++ /dev/null @@ -1,160 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Dave Townsend . - * - * Portions created by the Initial Developer are Copyright (C) 2007 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** - */ - -const Cc = Components.classes; -const Ci = Components.interfaces; - -const NS_APP_USER_PROFILE_50_DIR = "ProfD"; -const NS_APP_PROFILE_DIR_STARTUP = "ProfDS"; - -var gProfD; -var gDirSvc = Cc["@mozilla.org/file/directory_service;1"]. - getService(Ci.nsIProperties); - -// Creates a fake profile folder that the pluginhost will read our crafted -// pluginreg.dat from -function createProfileFolder() { - gProfD = gDirSvc.get("CurProcD", Ci.nsILocalFile); - gProfD = gProfD.parent.parent; - gProfD.append("_tests"); - gProfD.append("xpcshell-simple"); - gProfD.append("test_plugin"); - gProfD.append("profile"); - - if (gProfD.exists()) - gProfD.remove(true); - gProfD.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0755); - - var dirProvider = { - getFile: function(prop, persistent) { - persistent.value = true; - if (prop == NS_APP_USER_PROFILE_50_DIR || - prop == NS_APP_PROFILE_DIR_STARTUP) - return gProfD.clone(); - return null; - }, - QueryInterface: function(iid) { - if (iid.equals(Ci.nsIDirectoryServiceProvider) || - iid.equals(Ci.nsISupports)) { - return this; - } - throw Components.results.NS_ERROR_NO_INTERFACE; - } - }; - gDirSvc.QueryInterface(Ci.nsIDirectoryService) - .registerProvider(dirProvider); -} - -// Writes out some plugin registry to the profile -function write_registry(version, info) { - var header = "Generated File. Do not edit.\n\n"; - header += "[HEADER]\n"; - header += "Version:" + version + ":$\n\n"; - header += "[PLUGINS]\n"; - - var registry = gProfD.clone(); - registry.append("pluginreg.dat"); - var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"] - .createInstance(Components.interfaces.nsIFileOutputStream); - // write, create, truncate - foStream.init(registry, 0x02 | 0x08 | 0x20, 0666, 0); - - var charset = "UTF-8"; // Can be any character encoding name that Mozilla supports - var os = Cc["@mozilla.org/intl/converter-output-stream;1"]. - createInstance(Ci.nsIConverterOutputStream); - os.init(foStream, charset, 0, 0x0000); - - os.writeString(header); - os.writeString(info); - os.close(); -} - -// Finds the test plugin library -function get_test_plugin() { - var plugins = gDirSvc.get("CurProcD", Ci.nsILocalFile); - plugins.append("plugins"); - do_check_true(plugins.exists()); - var plugin = plugins.clone(); - plugin.append("Test.plugin"); - if (plugin.exists()) { - plugin.normalize(); - return plugin; - } - return null; -} - -// Finds the test nsIPluginTag -function get_test_plugintag() { - var host = Cc["@mozilla.org/plugin/host;1"]. - getService(Ci.nsIPluginHost); - var tags = host.getPluginTags({}); - for (var i = 0; i < tags.length; i++) { - if (tags[i].name == "Test Plug-in") - return tags[i]; - } - return null; -} - -function run_test() { - createProfileFolder(); - var file = get_test_plugin(); - if (!file) - do_throw("Plugin library not found"); - - // Write out a 0.9 version registry that marks the test plugin as disabled - var registry = ""; - registry += file.leafName + ":$\n"; - registry += file.path + ":$\n"; - registry += file.lastModifiedTime + ":0:0" + ":$\n"; - registry += "Plug-in for testing purposes." + ":$\n"; - registry += "Test Plug-in" + ":$\n"; - registry += "1\n"; - registry += "0:application/x-test:Test mimetype:tst" + ":$\n"; - write_registry("0.9", registry); - - var plugin = get_test_plugintag(); - if (!plugin) - do_throw("Plugin tag not found"); - - // If the plugin was not rescanned then this version will not be correct - do_check_eq(plugin.version, "1.0.0.0"); - do_check_eq(plugin.description, "Plug-in for testing purposes."); - // If the plugin registry was not read then the plugin will not be disabled - do_check_true(plugin.disabled); - do_check_false(plugin.blocklisted); -}