summaryrefslogtreecommitdiff
path: root/libs/hwui/WebViewFunctorManager.cpp
AgeCommit message (Collapse)Author
2021-08-12Remove Webview Overlays on destroyHuihong Luo
When WebViewFunctor is destroyed, overlays needs to be removed. Bug: 194393522 Test: toggle fullscreen during video playing, and run "adb shell dumpsys SurfaceFlinger | grep Webview", it should only show onlyi one surface control Change-Id: I40d0e503c4f5b25c59886820485e7734716ac859 (cherry picked from commit 9c5158f7a2f3bff0ccfc8e071143aac7b5c95049)
2021-07-01Disable Webview Overlay when invisibleHuihong Luo
Remove Webview overlays when Webview node is set to invisible Bug: 187292989 Test: play a video in a Webview, toggle visibility for the view, check existence of a surface control named as "Webview Overlay SurfaceControl#0" Change-Id: If47a78a8ae1f7b65b9e7ab983ec72f580d78191a
2021-06-30Add a sys prop to control WebView Overlays supportHuihong Luo
The boolean system property is named as "debug.hwui.webview_overlays_enabled" Bug: 192267127 Test: change the property value, check presence of Webview Surface Control Change-Id: I01e3e26282a5fa79aa504a6e49c5abe1a1c3ea02
2021-06-28Reparent surface control for Webview overlayHuihong Luo
When the root surface control changes, the parent of the Webview surface control must be changed. Bug: 191900007 Test: switch app, or turn on/off screen Change-Id: Ib7b34133776fd5944afc638bfee471afe6a17349
2021-06-18Fix z-order for webview surface controlHuihong Luo
Set the root surface control transparent, and set the z order of the newly created child surface control to -1. A new callback is needed to update root surface control in sync from Java side. Bug: 186750329 Test: use latest APKs from Webview team, play a video, mini toolbar should be visible Change-Id: I0b37ee8f83fd2b41ff4f2856dbadd31ff6170baf
2021-05-13Have HWUI validate the WebViewFunctors at registrationJohn Reck
Also tweak how webview's plat_support creates the functor sruct to be thread-safe, avoids any potential race conditions even though WebView itself is stated to be thread-hostile in general. It's too easy to have this just be defined-safe instead. Bug: 186814981 Test: build & boot, no crashes in real-webview apps Change-Id: I06f02a279e248fee375ce133c5ce9a2250665ad9
2021-04-17Webview overlay supportHuihong Luo
The basic idea is to create a child surface control from the root surface control passed from ViewRootImpl to the render thread. Transactions are sent back to the java layer to get merged. In case of offscreen layers, SurfaceControl must be disabled. This new feature is disabled for Vulkan at the moment, a new CL will be used to enable the support. Bug: 173671170 Test: manual, webview apks Change-Id: I119405d13eca3c59fd3ec78e50dc7739f78411d4
2020-11-25Add API to WebView functor to support overlaysVasiliy Telezhnikov
This CL adds api that exposes SurfaceControl to allow webview to submit ASurfaceTransaction synchronously with hwui draw. Test: just new API stubs, nothing to test. Change-Id: I3a70ad12d04e5a1655887faf3782426a9131a999
2019-01-15VkFunctorDrawable implementationBo Liu
Bug: 115613038 Test: Turning on vulkan with appropriate webview apk does not crash and sort of works. Change-Id: If1504da7a35e4bd74a994ab2c2a351e6bc415a18
2019-01-04Mark GrContext dirty after onContextDestroyedBo Liu
Bug: 120997728 Test: hwui_unit_test passes Change-Id: I8b60c45ebf7904b7026b480541dac78b70a59e0d
2019-01-03Plumb new functor in native/webviewBo Liu
Add plumbing to native/webview for the new functor. Add a void* data parameter to avoid having to use a thread safe map for in both the plumbing and in webview. Test: Compiles and webview runs Bug: 120997728 Change-Id: I0f9f3acb05688a5afcf95974bc0b3b117f33a8e3
2018-12-14New WebViewFunctor APIJohn Reck
Should function alongside existing functor API. Bug: 120997728 Test: hwuiunit passes Change-Id: I8f6143d0be1111431b55016f34de319f6b8c8910