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:
Benjamin Smedberg 2017-02-23 12:37:42 -05:00
parent 27cc367f50
commit c974a29a4b
14 changed files with 21 additions and 48 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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,

View File

@ -63,7 +63,6 @@ child:
async AsyncNP_Initialize(PluginSettings settings);
async PPluginInstance(nsCString aMimeType,
uint16_t aMode,
nsCString[] aNames,
nsCString[] aValues);

View File

@ -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;

View File

@ -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

View File

@ -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;
}

View File

@ -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;

View File

@ -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;

View File

@ -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)
{

View File

@ -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;

View File

@ -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;

View File

@ -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,