replicant-frameworks_native/libs/ui
Mathias Agopian 53a67e1663 partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)
We used to guarantee that a layer in SurfaceFlinger would never be
destroyed before all references (to its ISurface) on the client
side would be released. At some point, this guarantee got
relaxed to allow to free gralloc resources sooner. This last
change was incorrect, because:
- in implementations with reference-counting the gralloc resources
wouldn't be released anyways, until all the mapping were gone
- in implementations without ref counting, the client side
would most likely crash or do something bad
- it also caused the SharedBufferStack slot to be reallocated
to another surface, which could be problematic if the client
continued to use the surface after the window manager destroyed it.

So, we essentially reinstate the guarantee that layers won't be
destroyed until after all references to their ISurface are
released.

NOTE: This doesn't entirely fix 3306150 because there is another
problem there where the Browser continues to use a surface after it
has been destroyed.

also improve SurfaceFlinger 'dumpsys' log

list the purgatory, which shows windows that have been closed,
but for which the client still has references.
2011-01-25 14:19:13 -08:00
..
tests
Android.mk
EGLUtils.cpp
EventHub.cpp
EventRecurrence.cpp
FramebufferNativeWindow.cpp
GraphicBuffer.cpp
GraphicBufferAllocator.cpp partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE) 2011-01-25 14:19:13 -08:00
GraphicBufferMapper.cpp
GraphicLog.cpp
Input.cpp
InputDispatcher.cpp
InputManager.cpp
InputReader.cpp
InputTransport.cpp
IOverlay.cpp
KeyCharacterMap.cpp
KeyLayoutMap.cpp
KeyLayoutMap.h
MODULE_LICENSE_APACHE2
NOTICE
Overlay.cpp
PixelFormat.cpp
Rect.cpp
Region.cpp