nsCOMPtr<nsIPref> prefService = do_GetService(NS_PREF_CONTRACTID);
nsCOMPtr<nsIPrefBranch> prefService = do_GetService(NS_PREFSERVICE_CONTRACTID);
  NS_METHOD GetFilename(nsAString& aFilename)  {    PRBool bShowPath;    nsCOMPtr<nsIPref> prefService = do_GetService(NS_PREF_CONTRACTID);    if (prefService &&        NS_SUCCEEDED(prefService->GetBoolPref("plugin.expose_full_path",&bShowPath)) &&        bShowPath)    {      // only show the full path if people have set the pref,      // the default should not reveal path information (bug 88183)#if defined(XP_MAC) || defined(XP_MACOSX)      return DoCharsetConversion(mUnicodeDecoder, mPluginTag.mFullPath, aFilename);#else      return DoCharsetConversion(mUnicodeDecoder, mPluginTag.mFileName, aFilename);#endif    }    const char* spec;    if (mPluginTag.mFullPath)    {#if !(defined(XP_MAC) || defined(XP_MACOSX))      NS_ERROR("Only MAC should be using nsPluginTag::mFullPath!");#endif      spec = mPluginTag.mFullPath;          }    else    {      spec = mPluginTag.mFileName;    }    nsCString leafName;    nsCOMPtr<nsILocalFile> pluginPath;    NS_NewNativeLocalFile(nsDependentCString(spec), PR_TRUE,                          getter_AddRefs(pluginPath));    pluginPath->GetNativeLeafName(leafName);     nsresult rv = DoCharsetConversion(mUnicodeDecoder, leafName.get(), aFilename);    return rv;  }