1. 23 Jun, 2018 1 commit
    • Nate Fischer's avatar
      AW: do not allow proguard to optimize ApiHelper classes · 428de580
      Nate Fischer authored
      We recently introduced a series of ApiHelperFor* classes to help us
      ensure the WebView APK's classes pass compile-time verification in order
      to avoid runtime verification (which causes logspam and startup
      penalties). However, proguard was inlining these classes in our release
      builds, which re-introduced the class verification issues.
      
      This adds an annotation to prevent inlining. The @DoNotInline
      annotation is used to configure Proguard.
      
      R=torne@chromium.org
      
            (tested on L,M,NMR1 with standalone webview and monochrome)
            android-webview-google -v --pageset-repeat=1
            (no startup penalty on L device)
            "StatusRetryVerificationAtRuntime" (ensure the fixed classes no
            longer show up)
      
      Bug: 791099
      Bug: 838702
      Test: adb logcat | grep 'Failed resolution of'
      Test: tools/perf/run_benchmark system_health.webview_startup --browser \
      Test: use oatdump after installing APK. Then, grep for
      Change-Id: I7e85718916313f03287e5f2d5fe8f51a02661f11
      Reviewed-on: https://chromium-review.googlesource.com/1109464Reviewed-by: default avatarRichard Coles <torne@chromium.org>
      Reviewed-by: default avatarBo <boliu@chromium.org>
      Reviewed-by: default avataragrieve <agrieve@chromium.org>
      Commit-Queue: Nate Fischer <ntfschr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#569848}
      428de580
  2. 22 Jun, 2018 39 commits