Commit Graph

13 Commits

Author SHA1 Message Date
TreeHugger Robot
946fbaa771 Merge "Label the libwebview address space reservation." 2018-09-17 08:18:44 +00:00
Richard Uhler
fdd7a7e5b5 Label the libwebview address space reservation.
So it shows up in showmaps output as "[anon:libwebview reservation]"
instead of grouped in with the rest of "[anon]", to facilitate memory
debugging.

Test: Manually confirm libwebview reservation shows up in system server showmap.
Change-Id: I4897aff4406265a7be9fc37aecbe5967bcf29426
2018-09-14 10:07:20 +01:00
Torne (Richard Coles)
5abeed5e7f Simplify WebView RELRO creation and handle more cases.
Instead of having the system server search for the absolute path to the
WebView's native .so file, simply pass the package name and library
filename to the RELRO creation process. The RELRO creation process can
then request a classloader that corresponds to that package, and use
that classloader to let the system search for the library itself using
the standard platform library search path logic.

This significantly simplifies the WebView code, but more importantly
enables the library to be found even if it's not actually present in the
main WebView APK and is instead stored in a shared library APK: our
previous code was never updated to handle this new case when the
platform introduced it.

As a side effect of no longer searching for the library, we also no
longer discover the size of the library, and thus cannot use the size to
calculate the amount of address space to reserve. This has been replaced
with a fixed size: 100MB for 32-bit processes (the previous default size
for when the size had not yet been calculated), and 1GB for 64-bit
processes. We do not anticipate WebView ever needing more than 100MB of
virtual address space for its native library on 32-bit platforms; it
currently uses about 44MB.

The unit tests covering the complex library searching logic have been
removed, as the functionality they are testing no longer exists.

Bug: 110790153
Test: WebView-related CTS and GTS tests
Change-Id: Icc7bcd0a2b33f4dbf26d0d663e098c9e207281a5
2018-08-07 17:29:07 -04:00
Dan Willemsen
f97d380ca7 Merge "Convert to Soong" am: acbd94d76f am: b1005a8a2a
am: d00c851e55

Change-Id: I889b5d31535d927b3aa9cf5ad6af955ca0678356
2018-05-15 15:52:51 -07:00
Dan Willemsen
d00c851e55 Merge "Convert to Soong" am: acbd94d76f
am: b1005a8a2a

Change-Id: If5cb26e0669f79240d8fee1d40aaa2162d8e611f
2018-05-15 15:06:19 -07:00
Dan Willemsen
4888b1f6f0 Convert to Soong
See build/soong/README.md for more information.

Test: m libframeworks_coretests_jni
Test: m FrameworkCoreTests_install
Test: m libshim_jni
Test: m CtsShimPrivUpgrade
Test: m libfilterfw
Test: m PMTest_Java_dual
Test: m libdefcontainer_jni
Test: m libperftestscore_jni
Test: m libpmtest32 libpmtest64
Test: m libprintspooler_jni
Test: m libsmartcamera_jni
Test: m idmap
Test: m libdrmframework_jni
Test: m libdvr_loader com.google.vr.platform com.google.vr.platform.xml
Test: m libfilterpack_imageproc libfilterpack_base
Test: m libwebviewchromium_loader
Test: m shared_mem_test
Test: m test-touchlag
Change-Id: I868561dd237fa28647896d59049ab9260373ada1
2018-05-14 16:47:02 -07:00
Torne (Richard Coles)
3adca7c4c9 Update native/webview OWNERS.
Add boliu@ for reviewing changes to GL functor stuff.

Change-Id: Ie7604d77251db46261498f32c53e1ec0c3af299c
2018-04-16 17:29:00 -04:00
John Reck
18f442eb2d Remove RenderPipelineType::OpenGL (1/many)
Just removes the define & all things referencing the define.

Test: hwui_unit passes
Change-Id: I3f98c271e23ef696c40addf260abdc0fb149a70d
2018-04-11 13:39:19 -07:00
Torne (Richard Coles)
0f03fbe1ea Move WebView plat_support from frameworks/webview.
Move this code to be in the same repository as the other parts of
WebView's current implementation.

Bug: 62445369
Test: m
Change-Id: I567eac7f3484fa78a948fb84545e578fe18c236d
2018-02-21 12:17:47 -05:00
Torne (Richard Coles)
9b73804cae Add OWNERS for webview directories in framework.
Bug: 73450992
Test: N/A
Change-Id: I20e186eca8b02fa4e2d0eb729b94df8a36983906
2018-02-20 10:48:51 -05:00
Gustav Sennton
ae498f2702 [WebView] Only pass one path to relro creation/loading at a time.
There's no need to send both 32-bit and 64-bit paths to the native side
of the relro-creation/loading logic, we can check which one to send on
the java side instead.

Bug: 28736099
Test: Load WebView app, ensure relro file is loaded into the app
process.

Change-Id: Ia3fb4b3ed686c3e70c26a384aae966bda179d225
2017-10-05 15:49:10 +01:00
Gustav Sennton
beec08679b Use classloader namespace instead of lib paths to load WebView libs.
When loading WebView's native libraries we now have a classloader
pointing to the namespace of thise libraries - so we no longer need to
explicitly reference those libraries by their path names.

Bug: 62860565
Test: Start a WebView-using app. Ensure that libwebviewchromium.so is
loaded into the app process.

Change-Id: I205131f4b5fac7c33374560515b85ddef19a7ce9
2017-06-26 16:05:33 +01:00
Gustav Sennton
cd165a9d51 Move WebView loader from frameworks/webview/ to frameworks/base/.
The Java-side of the WebView loading lives in frameworks/base/ while the
native side lives in frameworks/webview/. It would be great to be able
to change the JNI interface between these two without having to update
two separate projects.

This CL moves the native side into frameworks/base/.

Bug: 62445369
Test: Run app using WebView (and ensure it loads WebView).
Change-Id: I6915e996b3a035e9d87000ccd11e5fb89deecde7
2017-06-23 15:57:40 +01:00