зеркало из https://github.com/mozilla/gecko-dev.git
b=629472 revert to using NP_GetValue instead of NPPluginFuncs::getvalue for NPPVpluginDescriptionString when testing for Flash r=cjones
--HG-- extra : transplant_source : %FBW%24%E0%DD%03%82%3E%EDA5%A0.%F8%1A%0A%AF%C9%9E%15
This commit is contained in:
Родитель
1e810a8749
Коммит
e3dc04b1c2
|
@ -169,20 +169,6 @@ PluginInstanceChild::PluginInstanceChild(const NPPluginFuncs* aPluginIface)
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
InitPopupMenuHook();
|
InitPopupMenuHook();
|
||||||
#endif // OS_WIN
|
#endif // OS_WIN
|
||||||
#ifdef MOZ_X11
|
|
||||||
// Maemo flash can render plugin with any provided rectangle and not require this quirk.
|
|
||||||
#ifndef MOZ_PLATFORM_MAEMO
|
|
||||||
const char *description = NULL;
|
|
||||||
mPluginIface->getvalue(GetNPP(), NPPVpluginDescriptionString,
|
|
||||||
&description);
|
|
||||||
if (description) {
|
|
||||||
NS_NAMED_LITERAL_CSTRING(flash10Head, "Shockwave Flash 10.");
|
|
||||||
if (StringBeginsWith(nsDependentCString(description), flash10Head)) {
|
|
||||||
PluginModuleChild::current()->AddQuirk(PluginModuleChild::QUIRK_FLASH_EXPOSE_COORD_TRANSLATION);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PluginInstanceChild::~PluginInstanceChild()
|
PluginInstanceChild::~PluginInstanceChild()
|
||||||
|
|
|
@ -185,22 +185,37 @@ PluginModuleChild::Init(const std::string& aPluginFilename,
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
mPluginFilename = aPluginFilename.c_str();
|
mPluginFilename = aPluginFilename.c_str();
|
||||||
nsCOMPtr<nsILocalFile> pluginFile;
|
nsCOMPtr<nsILocalFile> localFile;
|
||||||
NS_NewLocalFile(NS_ConvertUTF8toUTF16(mPluginFilename),
|
NS_NewLocalFile(NS_ConvertUTF8toUTF16(mPluginFilename),
|
||||||
PR_TRUE,
|
PR_TRUE,
|
||||||
getter_AddRefs(pluginFile));
|
getter_AddRefs(localFile));
|
||||||
|
|
||||||
PRBool exists;
|
PRBool exists;
|
||||||
pluginFile->Exists(&exists);
|
localFile->Exists(&exists);
|
||||||
NS_ASSERTION(exists, "plugin file ain't there");
|
NS_ASSERTION(exists, "plugin file ain't there");
|
||||||
|
|
||||||
nsCOMPtr<nsIFile> pluginIfile;
|
nsPluginFile pluginFile(localFile);
|
||||||
pluginIfile = do_QueryInterface(pluginFile);
|
|
||||||
|
|
||||||
nsPluginFile lib(pluginIfile);
|
nsresult rv;
|
||||||
|
// Maemo flash can render with any provided rectangle and so does not
|
||||||
|
// require this quirk.
|
||||||
|
#if defined(MOZ_X11) && !defined(MOZ_PLATFORM_MAEMO)
|
||||||
|
nsPluginInfo info = nsPluginInfo();
|
||||||
|
rv = pluginFile.GetPluginInfo(info, &mLibrary);
|
||||||
|
if (NS_FAILED(rv))
|
||||||
|
return false;
|
||||||
|
|
||||||
nsresult rv = lib.LoadPlugin(&mLibrary);
|
NS_NAMED_LITERAL_CSTRING(flash10Head, "Shockwave Flash 10.");
|
||||||
NS_ASSERTION(NS_OK == rv, "trouble with mPluginFile");
|
if (StringBeginsWith(nsDependentCString(info.fDescription), flash10Head)) {
|
||||||
|
AddQuirk(QUIRK_FLASH_EXPOSE_COORD_TRANSLATION);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mLibrary)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
rv = pluginFile.LoadPlugin(&mLibrary);
|
||||||
|
NS_ASSERTION(NS_OK == rv, "trouble with mPluginFile");
|
||||||
|
}
|
||||||
NS_ASSERTION(mLibrary, "couldn't open shared object");
|
NS_ASSERTION(mLibrary, "couldn't open shared object");
|
||||||
|
|
||||||
if (!Open(aChannel, aParentProcessHandle, aIOLoop))
|
if (!Open(aChannel, aParentProcessHandle, aIOLoop))
|
||||||
|
|
|
@ -256,13 +256,13 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
int GetQuirks() { return mQuirks; }
|
int GetQuirks() { return mQuirks; }
|
||||||
|
|
||||||
|
private:
|
||||||
void AddQuirk(PluginQuirks quirk) {
|
void AddQuirk(PluginQuirks quirk) {
|
||||||
if (mQuirks == QUIRKS_NOT_INITIALIZED)
|
if (mQuirks == QUIRKS_NOT_INITIALIZED)
|
||||||
mQuirks = 0;
|
mQuirks = 0;
|
||||||
mQuirks |= quirk;
|
mQuirks |= quirk;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
void InitQuirksModes(const nsCString& aMimeType);
|
void InitQuirksModes(const nsCString& aMimeType);
|
||||||
bool InitGraphics();
|
bool InitGraphics();
|
||||||
void DeinitGraphics();
|
void DeinitGraphics();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче