Reland "[WebLayer] Fix relro sharing in GPU and load native lib in the background"
This is a reland of f63587ac Reason for reland: This broke on L because loadNativeLibrary returns void and it was being cast to int. We don't actually use the return value for anything, so just return success on L/M. Original change's description: > [WebLayer] Fix relro sharing in GPU and load native lib in the background > > WebLayer relro sharing in the browser process has likely always been > broken in WebView compatibility mode because the ClassLoader created > does not have a class loader namespace, see here: https://cs.android.com/android/platform/superproject/+/master:frameworks/base/native/webview/loader/loader.cpp;l=129-132;drc=master > Unfortunately, this is difficult to fix since sharing relro in WebLayer > when it is loaded in the same process as WebView causes crashes. This > will be investigated more in a follow up. > > Relro sharing was never implemented for the WebLayer GPU process, and > this change adds support to do that. > > In addition, library loading is kicked off on a separate thread much > earlier in startup, which allows it to finish before it is needed on the > UI thread. > > Pinpoint runs: > startup.mobile: https://pinpoint-dot-chromeperf.appspot.com/job/169ab7ef520000 > -18.4% messageloop_start_time > -3.4% navigation_commit_time > -1.8% first_contentful_paint_time > > weblayer_startup: https://pinpoint-dot-chromeperf.appspot.com/job/17959d48d20000 > -6.4% weblayer_startup_wall_time > > system_health.memory_mobile: https://pinpoint-dot-chromeperf.appspot.com/job/16d61b37520000 > -10.0% (3.9MiB) all_processes private_dirty_size > -29.8% (3.7Mib) gpu_process private_dirty_size > > Bug: 1146438 > Change-Id: I52292f0472f18397b0a900307649e6f1b54bd5c1 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2581007 > Commit-Queue: Clark DuVall <cduvall@chromium.org> > Reviewed-by: Richard Coles <torne@chromium.org> > Cr-Commit-Position: refs/heads/master@{#835580} Bug: 1146438 Change-Id: I189a6a3605174a60a5269839c6cb3ce89c18efbf Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2586518 Auto-Submit: Clark DuVall <cduvall@chromium.org> Commit-Queue: Richard Coles <torne@chromium.org> Reviewed-by:Richard Coles <torne@chromium.org> Cr-Commit-Position: refs/heads/master@{#836774}
Showing
Please register or sign in to comment