diff --git a/dom/plugins/base/android/ANPNativeWindow.cpp b/dom/plugins/base/android/ANPNativeWindow.cpp index c66d5eb8d3f33ae4db149eb667bf3d3fe81f724a..4579c7ae7b5fb336b3d732f5194866fd5287278e 100644 --- a/dom/plugins/base/android/ANPNativeWindow.cpp +++ b/dom/plugins/base/android/ANPNativeWindow.cpp @@ -26,6 +26,7 @@ static ANPNativeWindow anp_native_window_acquireNativeWindow(NPP instance) { static void anp_native_window_invertPluginContent(NPP instance, bool isContentInverted) { nsNPAPIPluginInstance* pinst = static_cast<nsNPAPIPluginInstance*>(instance->ndata); pinst->SetInverted(isContentInverted); + pinst->RedrawPlugin(); } diff --git a/gfx/layers/opengl/TextureHostOGL.cpp b/gfx/layers/opengl/TextureHostOGL.cpp index f08102601ee29c1171989ddbe7e10ac910ac32ff..ef7b0819fe6a670b101060a856f33d435a597d66 100644 --- a/gfx/layers/opengl/TextureHostOGL.cpp +++ b/gfx/layers/opengl/TextureHostOGL.cpp @@ -299,10 +299,8 @@ SharedTextureSourceOGL::SharedTextureSourceOGL(CompositorOGL* aCompositor, GLenum aTarget, GLenum aWrapMode, SharedTextureShareType aShareType, - gfx::IntSize aSize, - const gfx3DMatrix& aTexTransform) - : mTextureTransform(aTexTransform) - , mSize(aSize) + gfx::IntSize aSize) + : mSize(aSize) , mCompositor(aCompositor) , mSharedHandle(aHandle) , mFormat(aFormat) @@ -356,6 +354,18 @@ SharedTextureSourceOGL::gl() const return mCompositor ? mCompositor->gl() : nullptr; } +gfx3DMatrix +SharedTextureSourceOGL::GetTextureTransform() +{ + GLContext::SharedHandleDetails handleDetails; + if (!gl()->GetSharedHandleDetails(mShareType, mSharedHandle, handleDetails)) { + NS_WARNING("Could not get shared handle details"); + return gfx3DMatrix(); + } + + return handleDetails.mTextureTransform; +} + SharedTextureHostOGL::SharedTextureHostOGL(uint64_t aID, TextureFlags aFlags, gl::SharedTextureShareType aShareType, @@ -405,8 +415,7 @@ SharedTextureHostOGL::Lock() handleDetails.mTarget, wrapMode, mShareType, - mSize, - handleDetails.mTextureTransform); + mSize); } return true; } diff --git a/gfx/layers/opengl/TextureHostOGL.h b/gfx/layers/opengl/TextureHostOGL.h index 43b381c944dd25e265a4be39eba48b2b2fb3a997..8137dc948776c87b51c4dafcd9861aff572ac93b 100644 --- a/gfx/layers/opengl/TextureHostOGL.h +++ b/gfx/layers/opengl/TextureHostOGL.h @@ -255,8 +255,7 @@ public: GLenum aTarget, GLenum aWrapMode, SharedTextureShareType aShareType, - gfx::IntSize aSize, - const gfx3DMatrix& aTexTransform); + gfx::IntSize aSize); virtual TextureSourceOGL* AsSourceOGL() { return this; } @@ -268,7 +267,7 @@ public: virtual gfx::SurfaceFormat GetFormat() const MOZ_OVERRIDE { return mFormat; } - virtual gfx3DMatrix GetTextureTransform() MOZ_OVERRIDE { return mTextureTransform; } + virtual gfx3DMatrix GetTextureTransform() MOZ_OVERRIDE; virtual GLenum GetTextureTarget() const { return mTextureTarget; } @@ -286,7 +285,6 @@ public: gl::GLContext* gl() const; protected: - gfx3DMatrix mTextureTransform; gfx::IntSize mSize; CompositorOGL* mCompositor; gl::SharedTextureHandle mSharedHandle;