mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-22 10:27:03 +00:00
Bug 1342141 part B - Use NP_EMBED as the mode for all plugins, whether they are full-page or not, r=jimm
MozReview-Commit-ID: BeB24ux8TEp --HG-- extra : histedit_source : 74c556c04e56ae7e5d6c5cd8f42f49f358864bac
This commit is contained in:
parent
27cc367f50
commit
c974a29a4b
@ -190,7 +190,7 @@ PluginPRLibrary::NP_GetEntryPoints(NPPluginFuncs* pFuncs, NPError* error)
|
||||
|
||||
nsresult
|
||||
PluginPRLibrary::NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
uint16_t mode, int16_t argc, char* argn[],
|
||||
int16_t argc, char* argn[],
|
||||
char* argv[], NPSavedData* saved,
|
||||
NPError* error)
|
||||
{
|
||||
@ -198,7 +198,7 @@ PluginPRLibrary::NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
MAIN_THREAD_JNI_REF_GUARD;
|
||||
*error = mNPP_New(pluginType, instance, mode, argc, argn, argv, saved);
|
||||
*error = mNPP_New(pluginType, instance, NP_EMBED, argc, argn, argv, saved);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -100,7 +100,7 @@ public:
|
||||
#endif
|
||||
|
||||
virtual nsresult NPP_New(NPMIMEType aPluginType, NPP aInstance,
|
||||
uint16_t aMode, int16_t aArgc, char* aArgn[],
|
||||
int16_t aArgc, char* aArgn[],
|
||||
char* aArgv[], NPSavedData* aSaved,
|
||||
NPError* aError) override;
|
||||
|
||||
|
@ -341,15 +341,6 @@ nsNPAPIPluginInstance::GetTagType(nsPluginTagType *result)
|
||||
return mOwner->GetTagType(result);
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsNPAPIPluginInstance::GetMode(int32_t *result)
|
||||
{
|
||||
if (mOwner)
|
||||
return mOwner->GetMode(result);
|
||||
else
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
nsTArray<nsNPAPIPluginStreamListener*>*
|
||||
nsNPAPIPluginInstance::StreamListeners()
|
||||
{
|
||||
@ -418,11 +409,9 @@ nsNPAPIPluginInstance::Start()
|
||||
pos++;
|
||||
}
|
||||
|
||||
int32_t mode;
|
||||
const char* mimetype;
|
||||
NPError error = NPERR_GENERIC_ERROR;
|
||||
|
||||
GetMode(&mode);
|
||||
GetMIMEType(&mimetype);
|
||||
|
||||
CheckJavaC2PJSObjectQuirk(quirkParamLength, mCachedParamNames, mCachedParamValues);
|
||||
@ -446,14 +435,14 @@ nsNPAPIPluginInstance::Start()
|
||||
// before returning. If the plugin returns failure, we'll clear it out below.
|
||||
mRunning = RUNNING;
|
||||
|
||||
nsresult newResult = library->NPP_New((char*)mimetype, &mNPP, (uint16_t)mode,
|
||||
nsresult newResult = library->NPP_New((char*)mimetype, &mNPP,
|
||||
quirkParamLength, mCachedParamNames,
|
||||
mCachedParamValues, nullptr, &error);
|
||||
mInPluginInitCall = oldVal;
|
||||
|
||||
NPP_PLUGIN_LOG(PLUGIN_LOG_NORMAL,
|
||||
("NPP New called: this=%p, npp=%p, mime=%s, mode=%d, argc=%d, return=%d\n",
|
||||
this, &mNPP, mimetype, mode, quirkParamLength, error));
|
||||
("NPP New called: this=%p, npp=%p, mime=%s, argc=%d, return=%d\n",
|
||||
this, &mNPP, mimetype, quirkParamLength, error));
|
||||
|
||||
if (NS_FAILED(newResult) || error != NPERR_NO_ERROR) {
|
||||
mRunning = DESTROYED;
|
||||
|
@ -334,7 +334,6 @@ protected:
|
||||
virtual ~nsNPAPIPluginInstance();
|
||||
|
||||
nsresult GetTagType(nsPluginTagType *result);
|
||||
nsresult GetMode(int32_t *result);
|
||||
|
||||
// check if this is a Java applet and affected by bug 750480
|
||||
void CheckJavaC2PJSObjectQuirk(uint16_t paramCount,
|
||||
|
@ -63,7 +63,6 @@ child:
|
||||
async AsyncNP_Initialize(PluginSettings settings);
|
||||
|
||||
async PPluginInstance(nsCString aMimeType,
|
||||
uint16_t aMode,
|
||||
nsCString[] aNames,
|
||||
nsCString[] aValues);
|
||||
|
||||
|
@ -101,7 +101,6 @@ bool RecursionGuard::sHasEntered = false;
|
||||
|
||||
PluginAsyncSurrogate::PluginAsyncSurrogate(PluginModuleParent* aParent)
|
||||
: mParent(aParent)
|
||||
, mMode(0)
|
||||
, mWindow(nullptr)
|
||||
, mAcceptCalls(false)
|
||||
, mInstantiated(false)
|
||||
@ -118,7 +117,7 @@ PluginAsyncSurrogate::~PluginAsyncSurrogate()
|
||||
}
|
||||
|
||||
bool
|
||||
PluginAsyncSurrogate::Init(NPMIMEType aPluginType, NPP aInstance, uint16_t aMode,
|
||||
PluginAsyncSurrogate::Init(NPMIMEType aPluginType, NPP aInstance,
|
||||
int16_t aArgc, char* aArgn[], char* aArgv[])
|
||||
{
|
||||
mMimeType = aPluginType;
|
||||
@ -126,7 +125,6 @@ PluginAsyncSurrogate::Init(NPMIMEType aPluginType, NPP aInstance, uint16_t aMode
|
||||
static_cast<nsNPAPIPluginInstance*>(aInstance->ndata);
|
||||
MOZ_ASSERT(instance);
|
||||
mInstance = instance;
|
||||
mMode = aMode;
|
||||
for (int i = 0; i < aArgc; ++i) {
|
||||
mNames.AppendElement(NullableString(aArgn[i]));
|
||||
mValues.AppendElement(NullableString(aArgv[i]));
|
||||
@ -136,11 +134,11 @@ PluginAsyncSurrogate::Init(NPMIMEType aPluginType, NPP aInstance, uint16_t aMode
|
||||
|
||||
/* static */ bool
|
||||
PluginAsyncSurrogate::Create(PluginModuleParent* aParent, NPMIMEType aPluginType,
|
||||
NPP aInstance, uint16_t aMode, int16_t aArgc,
|
||||
NPP aInstance, int16_t aArgc,
|
||||
char* aArgn[], char* aArgv[])
|
||||
{
|
||||
RefPtr<PluginAsyncSurrogate> surrogate(new PluginAsyncSurrogate(aParent));
|
||||
if (!surrogate->Init(aPluginType, aInstance, aMode, aArgc, aArgn, aArgv)) {
|
||||
if (!surrogate->Init(aPluginType, aInstance, aArgc, aArgn, aArgv)) {
|
||||
return false;
|
||||
}
|
||||
PluginAsyncSurrogate* rawSurrogate = nullptr;
|
||||
@ -169,7 +167,7 @@ PluginAsyncSurrogate::NPP_New(NPError* aError)
|
||||
}
|
||||
|
||||
nsresult rv = mParent->NPP_NewInternal(mMimeType.BeginWriting(), GetNPP(),
|
||||
mMode, mNames, mValues, nullptr,
|
||||
mNames, mValues, nullptr,
|
||||
aError);
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
|
@ -29,7 +29,7 @@ class PluginAsyncSurrogate : public PluginDataResolver
|
||||
public:
|
||||
NS_INLINE_DECL_REFCOUNTING(PluginAsyncSurrogate)
|
||||
|
||||
bool Init(NPMIMEType aPluginType, NPP aInstance, uint16_t aMode,
|
||||
bool Init(NPMIMEType aPluginType, NPP aInstance,
|
||||
int16_t aArgc, char* aArgn[], char* aArgv[]);
|
||||
nsresult NPP_New(NPError* aError);
|
||||
NPError NPP_Destroy(NPSavedData** aSave);
|
||||
@ -45,7 +45,7 @@ public:
|
||||
NPError NPP_DestroyStream(NPStream* aStream, NPReason aReason);
|
||||
void OnInstanceCreated(PluginInstanceParent* aInstance);
|
||||
static bool Create(PluginModuleParent* aParent, NPMIMEType aPluginType,
|
||||
NPP aInstance, uint16_t aMode, int16_t aArgc,
|
||||
NPP aInstance, int16_t aArgc,
|
||||
char* aArgn[], char* aArgv[]);
|
||||
static const NPClass* GetClass() { return &sNPClass; }
|
||||
static void NP_GetEntryPoints(NPPluginFuncs* aFuncs);
|
||||
@ -141,7 +141,6 @@ private:
|
||||
// These values are used to construct the plugin instance
|
||||
nsCString mMimeType;
|
||||
mozilla::WeakPtr<nsNPAPIPluginInstance> mInstance;
|
||||
uint16_t mMode;
|
||||
InfallibleTArray<nsCString> mNames;
|
||||
InfallibleTArray<nsCString> mValues;
|
||||
// This is safe to store as a pointer because the spec says it will remain
|
||||
|
@ -133,12 +133,10 @@ bool PluginInstanceChild::sIsIMEComposing = false;
|
||||
|
||||
PluginInstanceChild::PluginInstanceChild(const NPPluginFuncs* aPluginIface,
|
||||
const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
const InfallibleTArray<nsCString>& aNames,
|
||||
const InfallibleTArray<nsCString>& aValues)
|
||||
: mPluginIface(aPluginIface)
|
||||
, mMimeType(aMimeType)
|
||||
, mMode(aMode)
|
||||
, mNames(aNames)
|
||||
, mValues(aValues)
|
||||
#if defined(XP_DARWIN) || defined (XP_WIN)
|
||||
@ -259,7 +257,7 @@ PluginInstanceChild::DoNPP_New()
|
||||
NPP npp = GetNPP();
|
||||
|
||||
NPError rv = mPluginIface->newp((char*)NullableStringGet(mMimeType), npp,
|
||||
mMode, argc, argn.get(), argv.get(), 0);
|
||||
NP_EMBED, argc, argn.get(), argv.get(), 0);
|
||||
if (NPERR_NO_ERROR != rv) {
|
||||
return rv;
|
||||
}
|
||||
|
@ -217,7 +217,6 @@ protected:
|
||||
public:
|
||||
PluginInstanceChild(const NPPluginFuncs* aPluginIface,
|
||||
const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
const InfallibleTArray<nsCString>& aNames,
|
||||
const InfallibleTArray<nsCString>& aValues);
|
||||
|
||||
@ -407,7 +406,6 @@ private:
|
||||
#endif // #if defined(OS_WIN)
|
||||
const NPPluginFuncs* mPluginIface;
|
||||
nsCString mMimeType;
|
||||
uint16_t mMode;
|
||||
InfallibleTArray<nsCString> mNames;
|
||||
InfallibleTArray<nsCString> mValues;
|
||||
NPP_t mData;
|
||||
|
@ -70,7 +70,7 @@ public:
|
||||
virtual nsresult NP_GetEntryPoints(NPPluginFuncs* pFuncs, NPError* error) = 0;
|
||||
#endif
|
||||
virtual nsresult NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
uint16_t mode, int16_t argc, char* argn[],
|
||||
int16_t argc, char* argn[],
|
||||
char* argv[], NPSavedData* saved,
|
||||
NPError* error) = 0;
|
||||
|
||||
|
@ -2244,7 +2244,6 @@ PMCGetOpenFileNameW(LPOPENFILENAMEW aLpofn)
|
||||
|
||||
PPluginInstanceChild*
|
||||
PluginModuleChild::AllocPPluginInstanceChild(const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
const InfallibleTArray<nsCString>& aNames,
|
||||
const InfallibleTArray<nsCString>& aValues)
|
||||
{
|
||||
@ -2285,7 +2284,7 @@ PluginModuleChild::AllocPPluginInstanceChild(const nsCString& aMimeType,
|
||||
}
|
||||
#endif
|
||||
|
||||
return new PluginInstanceChild(&mFunctions, aMimeType, aMode, aNames,
|
||||
return new PluginInstanceChild(&mFunctions, aMimeType, aNames,
|
||||
aValues);
|
||||
}
|
||||
|
||||
@ -2314,7 +2313,6 @@ PluginModuleChild::AnswerModuleSupportsAsyncRender(bool* aResult)
|
||||
mozilla::ipc::IPCResult
|
||||
PluginModuleChild::RecvPPluginInstanceConstructor(PPluginInstanceChild* aActor,
|
||||
const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
InfallibleTArray<nsCString>&& aNames,
|
||||
InfallibleTArray<nsCString>&& aValues)
|
||||
{
|
||||
|
@ -78,7 +78,6 @@ protected:
|
||||
|
||||
virtual PPluginInstanceChild*
|
||||
AllocPPluginInstanceChild(const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
const InfallibleTArray<nsCString>& aNames,
|
||||
const InfallibleTArray<nsCString>& aValues)
|
||||
override;
|
||||
@ -89,7 +88,6 @@ protected:
|
||||
virtual mozilla::ipc::IPCResult
|
||||
RecvPPluginInstanceConstructor(PPluginInstanceChild* aActor,
|
||||
const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
InfallibleTArray<nsCString>&& aNames,
|
||||
InfallibleTArray<nsCString>&& aValues)
|
||||
override;
|
||||
|
@ -1686,7 +1686,6 @@ PluginModuleParent::NotifyPluginCrashed()
|
||||
|
||||
PPluginInstanceParent*
|
||||
PluginModuleParent::AllocPPluginInstanceParent(const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
const InfallibleTArray<nsCString>& aNames,
|
||||
const InfallibleTArray<nsCString>& aValues)
|
||||
{
|
||||
@ -2633,7 +2632,7 @@ PluginModuleChromeParent::NP_GetEntryPoints(NPPluginFuncs* pFuncs, NPError* erro
|
||||
|
||||
nsresult
|
||||
PluginModuleParent::NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
uint16_t mode, int16_t argc, char* argn[],
|
||||
int16_t argc, char* argn[],
|
||||
char* argv[], NPSavedData* saved,
|
||||
NPError* error)
|
||||
{
|
||||
@ -2645,7 +2644,7 @@ PluginModuleParent::NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
}
|
||||
|
||||
if (mIsStartingAsync) {
|
||||
if (!PluginAsyncSurrogate::Create(this, pluginType, instance, mode,
|
||||
if (!PluginAsyncSurrogate::Create(this, pluginType, instance,
|
||||
argc, argn, argv)) {
|
||||
*error = NPERR_GENERIC_ERROR;
|
||||
return NS_ERROR_FAILURE;
|
||||
@ -2669,7 +2668,7 @@ PluginModuleParent::NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
values.AppendElement(NullableString(argv[i]));
|
||||
}
|
||||
|
||||
nsresult rv = NPP_NewInternal(pluginType, instance, mode, names, values,
|
||||
nsresult rv = NPP_NewInternal(pluginType, instance, names, values,
|
||||
saved, error);
|
||||
if (NS_FAILED(rv) || !mIsStartingAsync) {
|
||||
return rv;
|
||||
@ -2741,7 +2740,6 @@ ForceDirect(InfallibleTArray<nsCString>& names,
|
||||
|
||||
nsresult
|
||||
PluginModuleParent::NPP_NewInternal(NPMIMEType pluginType, NPP instance,
|
||||
uint16_t mode,
|
||||
InfallibleTArray<nsCString>& names,
|
||||
InfallibleTArray<nsCString>& values,
|
||||
NPSavedData* saved, NPError* error)
|
||||
@ -2828,7 +2826,7 @@ PluginModuleParent::NPP_NewInternal(NPMIMEType pluginType, NPP instance,
|
||||
}
|
||||
|
||||
if (!SendPPluginInstanceConstructor(parentInstance,
|
||||
nsDependentCString(pluginType), mode,
|
||||
nsDependentCString(pluginType),
|
||||
names, values)) {
|
||||
// |parentInstance| is automatically deleted.
|
||||
instance->pdata = nullptr;
|
||||
|
@ -86,7 +86,6 @@ protected:
|
||||
|
||||
PPluginInstanceParent*
|
||||
AllocPPluginInstanceParent(const nsCString& aMimeType,
|
||||
const uint16_t& aMode,
|
||||
const InfallibleTArray<nsCString>& aNames,
|
||||
const InfallibleTArray<nsCString>& aValues)
|
||||
override;
|
||||
@ -220,7 +219,7 @@ protected:
|
||||
|
||||
void SetPluginFuncs(NPPluginFuncs* aFuncs);
|
||||
|
||||
nsresult NPP_NewInternal(NPMIMEType pluginType, NPP instance, uint16_t mode,
|
||||
nsresult NPP_NewInternal(NPMIMEType pluginType, NPP instance,
|
||||
InfallibleTArray<nsCString>& names,
|
||||
InfallibleTArray<nsCString>& values,
|
||||
NPSavedData* saved, NPError* error);
|
||||
@ -288,7 +287,7 @@ protected:
|
||||
virtual nsresult NP_GetEntryPoints(NPPluginFuncs* pFuncs, NPError* error) override;
|
||||
#endif
|
||||
virtual nsresult NPP_New(NPMIMEType pluginType, NPP instance,
|
||||
uint16_t mode, int16_t argc, char* argn[],
|
||||
int16_t argc, char* argn[],
|
||||
char* argv[], NPSavedData* saved,
|
||||
NPError* error) override;
|
||||
virtual nsresult NPP_ClearSiteData(const char* site, uint64_t flags, uint64_t maxAge,
|
||||
|
Loading…
x
Reference in New Issue
Block a user