Bug 1232181 - Plugin module plumbing for retrieving scroll captures and updating plugin instance content scroll state. r=roc
This commit is contained in:
@@ -321,4 +321,17 @@ PluginPRLibrary::EndUpdateBackground(NPP instance, const nsIntRect&)
|
|||||||
return NS_ERROR_NOT_AVAILABLE;
|
return NS_ERROR_NOT_AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
nsresult
|
||||||
|
PluginPRLibrary::GetScrollCaptureContainer(NPP aInstance, ImageContainer** aContainer)
|
||||||
|
{
|
||||||
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
nsresult
|
||||||
|
PluginPRLibrary::UpdateScrollState(NPP aInstance, bool aIsScrolling)
|
||||||
|
{
|
||||||
|
return NS_ERROR_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
|||||||
@@ -125,6 +125,10 @@ public:
|
|||||||
virtual void GetLibraryPath(nsACString& aPath) { aPath.Assign(mFilePath); }
|
virtual void GetLibraryPath(nsACString& aPath) { aPath.Assign(mFilePath); }
|
||||||
virtual nsresult GetRunID(uint32_t* aRunID) override { return NS_ERROR_NOT_IMPLEMENTED; }
|
virtual nsresult GetRunID(uint32_t* aRunID) override { return NS_ERROR_NOT_IMPLEMENTED; }
|
||||||
virtual void SetHasLocalInstance() override { }
|
virtual void SetHasLocalInstance() override { }
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
virtual nsresult GetScrollCaptureContainer(NPP aInstance, mozilla::layers::ImageContainer** aContainer) override;
|
||||||
|
virtual nsresult UpdateScrollState(NPP aInstance, bool aIsScrolling) override;
|
||||||
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
NP_InitializeFunc mNP_Initialize;
|
NP_InitializeFunc mNP_Initialize;
|
||||||
|
|||||||
@@ -1210,6 +1210,29 @@ nsNPAPIPluginInstance::GetImageSize(nsIntSize* aSize)
|
|||||||
return !library ? NS_ERROR_FAILURE : library->GetImageSize(&mNPP, aSize);
|
return !library ? NS_ERROR_FAILURE : library->GetImageSize(&mNPP, aSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
nsresult
|
||||||
|
nsNPAPIPluginInstance::GetScrollCaptureContainer(ImageContainer**aContainer)
|
||||||
|
{
|
||||||
|
*aContainer = nullptr;
|
||||||
|
|
||||||
|
if (RUNNING != mRunning)
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
|
AutoPluginLibraryCall library(this);
|
||||||
|
return !library ? NS_ERROR_FAILURE : library->GetScrollCaptureContainer(&mNPP, aContainer);
|
||||||
|
}
|
||||||
|
nsresult
|
||||||
|
nsNPAPIPluginInstance::UpdateScrollState(bool aIsScrolling)
|
||||||
|
{
|
||||||
|
if (RUNNING != mRunning)
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
|
AutoPluginLibraryCall library(this);
|
||||||
|
return !library ? NS_ERROR_FAILURE : library->UpdateScrollState(&mNPP, aIsScrolling);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
nsNPAPIPluginInstance::DidComposite()
|
nsNPAPIPluginInstance::DidComposite()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -121,6 +121,10 @@ public:
|
|||||||
nsresult InvalidateRegion(NPRegion invalidRegion);
|
nsresult InvalidateRegion(NPRegion invalidRegion);
|
||||||
nsresult GetMIMEType(const char* *result);
|
nsresult GetMIMEType(const char* *result);
|
||||||
nsresult GetJSContext(JSContext* *outContext);
|
nsresult GetJSContext(JSContext* *outContext);
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
nsresult GetScrollCaptureContainer(mozilla::layers::ImageContainer **aContainer);
|
||||||
|
nsresult UpdateScrollState(bool aIsScrolling);
|
||||||
|
#endif
|
||||||
nsPluginInstanceOwner* GetOwner();
|
nsPluginInstanceOwner* GetOwner();
|
||||||
void SetOwner(nsPluginInstanceOwner *aOwner);
|
void SetOwner(nsPluginInstanceOwner *aOwner);
|
||||||
void DidComposite();
|
void DidComposite();
|
||||||
|
|||||||
@@ -87,6 +87,10 @@ public:
|
|||||||
virtual nsresult IsRemoteDrawingCoreAnimation(NPP instance, bool *aDrawing) = 0;
|
virtual nsresult IsRemoteDrawingCoreAnimation(NPP instance, bool *aDrawing) = 0;
|
||||||
virtual nsresult ContentsScaleFactorChanged(NPP instance, double aContentsScaleFactor) = 0;
|
virtual nsresult ContentsScaleFactorChanged(NPP instance, double aContentsScaleFactor) = 0;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
virtual nsresult GetScrollCaptureContainer(NPP aInstance, mozilla::layers::ImageContainer** aContainer) = 0;
|
||||||
|
virtual nsresult UpdateScrollState(NPP aInstance, bool aIsScrolling) = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The next three methods are the third leg in the trip to
|
* The next three methods are the third leg in the trip to
|
||||||
|
|||||||
@@ -2000,6 +2000,22 @@ PluginModuleParent::EndUpdateBackground(NPP instance, const nsIntRect& aRect)
|
|||||||
return i->EndUpdateBackground(aRect);
|
return i->EndUpdateBackground(aRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
nsresult
|
||||||
|
PluginModuleParent::GetScrollCaptureContainer(NPP aInstance,
|
||||||
|
mozilla::layers::ImageContainer** aContainer)
|
||||||
|
{
|
||||||
|
PluginInstanceParent* inst = PluginInstanceParent::Cast(aInstance);
|
||||||
|
return !inst ? NS_ERROR_FAILURE : inst->GetScrollCaptureContainer(aContainer);
|
||||||
|
}
|
||||||
|
nsresult
|
||||||
|
PluginModuleParent::UpdateScrollState(NPP aInstance, bool aIsScrolling)
|
||||||
|
{
|
||||||
|
PluginInstanceParent* inst = PluginInstanceParent::Cast(aInstance);
|
||||||
|
return !inst ? NS_ERROR_FAILURE : inst->UpdateScrollState(aIsScrolling);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
PluginModuleParent::OnInitFailure()
|
PluginModuleParent::OnInitFailure()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -259,6 +259,11 @@ protected:
|
|||||||
virtual nsresult EndUpdateBackground(NPP instance,
|
virtual nsresult EndUpdateBackground(NPP instance,
|
||||||
const nsIntRect& aRect) override;
|
const nsIntRect& aRect) override;
|
||||||
|
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
virtual nsresult GetScrollCaptureContainer(NPP aInstance, mozilla::layers::ImageContainer** aContainer) override;
|
||||||
|
virtual nsresult UpdateScrollState(NPP aInstance, bool aIsScrolling);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(XP_UNIX) && !defined(XP_MACOSX) && !defined(MOZ_WIDGET_GONK)
|
#if defined(XP_UNIX) && !defined(XP_MACOSX) && !defined(MOZ_WIDGET_GONK)
|
||||||
virtual nsresult NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs, NPError* error) override;
|
virtual nsresult NP_Initialize(NPNetscapeFuncs* bFuncs, NPPluginFuncs* pFuncs, NPError* error) override;
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user