Bug 1357392 - Update for removal of release callback function in 86d4255. r?JerryShih draft
authorKartikaya Gupta <kgupta@mozilla.com>
Thu, 20 Apr 2017 10:50:25 -0400
changeset 565844 b35948507c3ec5ee62d2d5979dd65e5cb60fb4b3
parent 565843 07d3f58b4223ece6124fc1fdf5a7667f857bb190
child 565845 7121e93e70ef6829f5ed3523a4a230d6350b84c8
push id55031
push userkgupta@mozilla.com
push dateThu, 20 Apr 2017 14:51:39 +0000
reviewersJerryShih
bugs1357392
milestone55.0a1
Bug 1357392 - Update for removal of release callback function in 86d4255. r?JerryShih MozReview-Commit-ID: Lf5564MjrN
gfx/webrender_bindings/RendererOGL.cpp
gfx/webrender_bindings/RendererOGL.h
gfx/webrender_bindings/src/bindings.rs
gfx/webrender_bindings/webrender_ffi_generated.h
--- a/gfx/webrender_bindings/RendererOGL.cpp
+++ b/gfx/webrender_bindings/RendererOGL.cpp
@@ -45,20 +45,16 @@ WrExternalImage LockExternalImage(void* 
 void UnlockExternalImage(void* aObj, WrExternalImageId aId)
 {
   RendererOGL* renderer = reinterpret_cast<RendererOGL*>(aObj);
   RenderTextureHost* texture = renderer->GetRenderTexture(aId);
   MOZ_ASSERT(texture);
   texture->Unlock();
 }
 
-void ReleaseExternalImage(void* aObj, WrExternalImageId aId)
-{
-}
-
 RendererOGL::RendererOGL(RefPtr<RenderThread>&& aThread,
                          RefPtr<gl::GLContext>&& aGL,
                          RefPtr<widget::CompositorWidget>&& aWidget,
                          wr::WindowId aWindowId,
                          WrRenderer* aWrRenderer,
                          layers::CompositorBridgeParentBase* aBridge)
   : mThread(aThread)
   , mGL(aGL)
@@ -83,17 +79,16 @@ RendererOGL::~RendererOGL()
 
 WrExternalImageHandler
 RendererOGL::GetExternalImageHandler()
 {
   return WrExternalImageHandler {
     this,
     LockExternalImage,
     UnlockExternalImage,
-    ReleaseExternalImage,
   };
 }
 
 void
 RendererOGL::Update()
 {
   wr_renderer_update(mWrRenderer);
 }
--- a/gfx/webrender_bindings/RendererOGL.h
+++ b/gfx/webrender_bindings/RendererOGL.h
@@ -37,17 +37,16 @@ class RenderTextureHost;
 ///
 /// There is one renderer per window, all owned by the render thread.
 /// This class is a similar abstraction to CompositorOGL except that it is used
 /// on the render thread instead of the compositor thread.
 class RendererOGL
 {
   friend WrExternalImage LockExternalImage(void* aObj, WrExternalImageId aId);
   friend void UnlockExternalImage(void* aObj, WrExternalImageId aId);
-  friend void ReleaseExternalImage(void* aObj, WrExternalImageId aId);
 
 public:
   WrExternalImageHandler GetExternalImageHandler();
 
   /// This can be called on the render thread only.
   void Update();
 
   /// This can be called on the render thread only.
--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -534,24 +534,22 @@ struct WrExternalImage {
 
     // external image buffer
     buff: *const u8,
     size: usize,
 }
 
 type LockExternalImageCallback = fn(*mut c_void, WrExternalImageId) -> WrExternalImage;
 type UnlockExternalImageCallback = fn(*mut c_void, WrExternalImageId);
-type ReleaseExternalImageCallback = fn(*mut c_void, WrExternalImageId);
 
 #[repr(C)]
 pub struct WrExternalImageHandler {
     external_image_obj: *mut c_void,
     lock_func: LockExternalImageCallback,
     unlock_func: UnlockExternalImageCallback,
-    release_func: ReleaseExternalImageCallback,
 }
 
 impl ExternalImageHandler for WrExternalImageHandler {
     fn lock(&mut self,
             id: ExternalImageId)
             -> ExternalImage {
         let image = (self.lock_func)(self.external_image_obj, id.into());
 
@@ -576,21 +574,16 @@ impl ExternalImageHandler for WrExternal
             },
         }
     }
 
     fn unlock(&mut self,
               id: ExternalImageId) {
         (self.unlock_func)(self.external_image_obj, id.into());
     }
-
-    fn release(&mut self,
-               id: ExternalImageId) {
-        (self.release_func)(self.external_image_obj, id.into());
-    }
 }
 
 /// cbindgen:field-names=[mHandle]
 /// cbindgen:struct-gen-op-lt=true
 /// cbindgen:struct-gen-op-lte=true
 #[repr(C)]
 #[derive(Copy, Clone, Debug, PartialEq, Eq)]
 pub struct WrWindowId(u64);
@@ -734,17 +727,16 @@ pub extern "C" fn wr_renderer_set_extern
                                                          external_image_handler: *mut WrExternalImageHandler) {
     if !external_image_handler.is_null() {
         renderer.set_external_image_handler(Box::new(unsafe {
                                                          WrExternalImageHandler {
                                                              external_image_obj:
                                                                  (*external_image_handler).external_image_obj,
                                                              lock_func: (*external_image_handler).lock_func,
                                                              unlock_func: (*external_image_handler).unlock_func,
-                                                             release_func: (*external_image_handler).release_func,
                                                          }
                                                      }));
     }
 }
 
 #[no_mangle]
 pub extern "C" fn wr_renderer_update(renderer: &mut WrRenderer) {
     renderer.update();
--- a/gfx/webrender_bindings/webrender_ffi_generated.h
+++ b/gfx/webrender_bindings/webrender_ffi_generated.h
@@ -477,29 +477,25 @@ struct WrExternalImage {
       size == aOther.size;
   }
 };
 
 typedef WrExternalImage (*LockExternalImageCallback)(void*, WrExternalImageId);
 
 typedef void (*UnlockExternalImageCallback)(void*, WrExternalImageId);
 
-typedef void (*ReleaseExternalImageCallback)(void*, WrExternalImageId);
-
 struct WrExternalImageHandler {
   void* external_image_obj;
   LockExternalImageCallback lock_func;
   UnlockExternalImageCallback unlock_func;
-  ReleaseExternalImageCallback release_func;
 
   bool operator==(const WrExternalImageHandler& aOther) const {
     return external_image_obj == aOther.external_image_obj &&
       lock_func == aOther.lock_func &&
-      unlock_func == aOther.unlock_func &&
-      release_func == aOther.release_func;
+      unlock_func == aOther.unlock_func;
   }
 };
 
 struct WrWindowId {
   uint64_t mHandle;
 
   bool operator==(const WrWindowId& aOther) const {
     return mHandle == aOther.mHandle;