The pixmap is created and passed to eglCreatePixmapSurface(), but never released. eglCreatePixmapSurface() doesn't take the ownership of the pixmap, so we should explicitly free it when the GLContextEGL is destroyed.
Created attachment 252959 [details] Patch
Comment on attachment 252959 [details] Patch Makes total sense to me.
Comment on attachment 252959 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=252959&action=review > Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:66 > + static EGLint attributeList[] = { This is a bit unusual, since in the project we don't normally modify static data (apart from initialization steps). > Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:220 > +GLContextEGL::GLContextEGL(EGLContext context, EGLSurface surface, XUniquePixmap&& pixmap) This constructor should be guarded with PLATFORM(X11). > Source/WebCore/platform/graphics/egl/GLContextEGL.h:42 > + GLContextEGL(EGLContext, EGLSurface, XUniquePixmap&&); Ditto for the PLATFORM(X11) guards.
(In reply to comment #3) > Comment on attachment 252959 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=252959&action=review > > > Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:66 > > + static EGLint attributeList[] = { > > This is a bit unusual, since in the project we don't normally modify static > data (apart from initialization steps). Ok, it's also a bit unrelated to this patch anyway. > > Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:220 > > +GLContextEGL::GLContextEGL(EGLContext context, EGLSurface surface, XUniquePixmap&& pixmap) > > This constructor should be guarded with PLATFORM(X11). Right! > > Source/WebCore/platform/graphics/egl/GLContextEGL.h:42 > > + GLContextEGL(EGLContext, EGLSurface, XUniquePixmap&&); > > Ditto for the PLATFORM(X11) guards. Sure.
Committed r184273: <http://trac.webkit.org/changeset/184273>