New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 887078 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocked on: View detail
issue 901465
issue 917417
issue 921284
issue 921288

Blocking:
issue 908477
issue 777858



Sign in to add a comment

Trichrome

Project Member Reported by torne@chromium.org, Sep 19

Issue description

Replace Monochrome with Trichrome - a separate Chrome and WebView APK that depend on a common shared library APK (an Android platform feature introduced in O).

This is the tracking bug for Chromium side changes to bring up a Trichrome build.

V1 of Trichrome will be comprised of 3 apks:

* trichrome_library_apk
  * Contains minimal AndroidManifest.xml, minimal .arsc (for translated apk name)
  * libmonochrome.so
  * Nothing else (no dex, no res/assets)
  
* trichrome_chrome_apk
  * Contains all Chrome files except libmonochrome.so
  * No webview classes/resources/assets.

* trichrome_webview_apk
  * Contains all Webview files except libmonochrome.so
  * No chrome classes/resources/assets.


For v1, it's important to have no classes.dex in the shared library in order to have proguarding still work (this is solvable, but will require non-trivial build changes)

Because minSdkVersion for trichrome will be > P, we should also take advantage of:
* Using RELR relocations in its libmonochrome.so (ideally without having to do an entire re-link)
   * This will reduce size by ~100kb (and >2MBs for arm64) and reduced relocation apply time by 40ms on my Android Go device locally.
   * Mentioned in this doc (will need to update once added): 
     * https://cs.chromium.org/chromium/src/docs/android_native_libraries.md?rcl=6a13a053f9f1aa8f0fee27b9a61922833732e9c2&l=57
* Storing classes.dex uncompressed (bug 777858)


Our current build templates don't support doing what is required here. Some changes that we'd need include:
* Add support for no_dex = true on android_apk()
* Add support for generating NativeLibraries.java from a different APK's .so
  * build_native_libraries_java_from = ":trichrome_library_apk"
    * By default, build_native_libraries_java_from = ":$target_name"

 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bef92b9197b49def215aced79961f50e3b83544e

commit bef92b9197b49def215aced79961f50e3b83544e
Author: Torne (Richard Coles) <torne@google.com>
Date: Wed Sep 26 18:27:11 2018

Define basic Trichrome build targets.

This defines basic build targets for a Trichrome build using the
upstream package names/configuration. The shared library APK contains
the 32-bit version of libmonochrome.so and a few autogenerated Java
pieces only at this stage, which means the total size of the three APKs
is significantly larger than Monochrome at present.

Bug: 887078
Change-Id: I3fcdfd6d7f717665a15c05dbb53602deda526b73
Reviewed-on: https://chromium-review.googlesource.com/1135546
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594394}
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/android_webview/BUILD.gn
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/android_webview/apk/java/AndroidManifest.xml
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/android_webview/apk/java/proguard.flags
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/android_webview/system_webview_apk_tmpl.gni
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/android_webview/variables.gni
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/chrome/android/BUILD.gn
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/chrome/android/chrome_public_apk_tmpl.gni
[add] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/chrome/android/java/AndroidManifest_trichrome_chrome.xml
[add] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/chrome/android/java/AndroidManifest_trichrome_library.xml
[modify] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/chrome/android/java/proguard.flags
[add] https://crrev.com/bef92b9197b49def215aced79961f50e3b83544e/chrome/android/trichrome.gni

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f505cde61a75f566b4edd2043015a93e5568f970

commit f505cde61a75f566b4edd2043015a93e5568f970
Author: Thomas Anderson <thomasanderson@chromium.org>
Date: Wed Sep 26 19:48:06 2018

Revert "Define basic Trichrome build targets."

This reverts commit bef92b9197b49def215aced79961f50e3b83544e.

Reason for revert: Suspected cause of build failure on Android Cronet Builder:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Android%20Cronet%20Builder/47611

Original change's description:
> Define basic Trichrome build targets.
> 
> This defines basic build targets for a Trichrome build using the
> upstream package names/configuration. The shared library APK contains
> the 32-bit version of libmonochrome.so and a few autogenerated Java
> pieces only at this stage, which means the total size of the three APKs
> is significantly larger than Monochrome at present.
> 
> Bug: 887078
> Change-Id: I3fcdfd6d7f717665a15c05dbb53602deda526b73
> Reviewed-on: https://chromium-review.googlesource.com/1135546
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org>
> Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Commit-Queue: Richard Coles <torne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#594394}

TBR=digit@chromium.org,torne@chromium.org,tedchoc@chromium.org,agrieve@chromium.org,tobiasjs@chromium.org,tiborg@chromium.org

Change-Id: I1b20b37aa40558e28c3c8e98aeb7a8a2b8220cf2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 887078
Reviewed-on: https://chromium-review.googlesource.com/1246833
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594438}
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/android_webview/BUILD.gn
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/android_webview/apk/java/AndroidManifest.xml
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/android_webview/apk/java/proguard.flags
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/android_webview/system_webview_apk_tmpl.gni
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/android_webview/variables.gni
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/chrome/android/BUILD.gn
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/chrome/android/chrome_public_apk_tmpl.gni
[delete] https://crrev.com/219f3003a41dbc2e09afff6d9345ea9e1d6f87bf/chrome/android/java/AndroidManifest_trichrome_chrome.xml
[delete] https://crrev.com/219f3003a41dbc2e09afff6d9345ea9e1d6f87bf/chrome/android/java/AndroidManifest_trichrome_library.xml
[modify] https://crrev.com/f505cde61a75f566b4edd2043015a93e5568f970/chrome/android/java/proguard.flags
[delete] https://crrev.com/219f3003a41dbc2e09afff6d9345ea9e1d6f87bf/chrome/android/trichrome.gni

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86d286ab14120f2751a40a6b66eb648c64cd5890

commit 86d286ab14120f2751a40a6b66eb648c64cd5890
Author: Torne (Richard Coles) <torne@google.com>
Date: Fri Sep 28 17:03:00 2018

Reland "Define basic Trichrome build targets."

This defines basic build targets for a Trichrome build using the
upstream package names/configuration. The shared library APK contains
the 32-bit version of libmonochrome.so and a few autogenerated Java
pieces only at this stage, which means the total size of the three APKs
is significantly larger than Monochrome at present.

Reland fixes a conflict with another CL that went through the CL in
parallel, and fixes an issue where gn generation failed when
is_official_build=true.

Bug: 887078
Change-Id: I86082eeffef53c018ccdc13a3122ff72fed5f5e6
Reviewed-on: https://chromium-review.googlesource.com/1246728
Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595123}
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/android_webview/BUILD.gn
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/android_webview/apk/java/AndroidManifest.xml
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/android_webview/apk/java/proguard.flags
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/android_webview/system_webview_apk_tmpl.gni
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/android_webview/variables.gni
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/chrome/android/BUILD.gn
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/chrome/android/chrome_public_apk_tmpl.gni
[add] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/chrome/android/java/AndroidManifest_trichrome_chrome.xml
[add] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/chrome/android/java/AndroidManifest_trichrome_library.xml
[modify] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/chrome/android/java/proguard.flags
[add] https://crrev.com/86d286ab14120f2751a40a6b66eb648c64cd5890/chrome/android/trichrome.gni

FYI, looks like the first time this landed it broke the arm64 perf builder:

https://ci.chromium.org/buildbot/chromium.perf/Android%20arm64%20Builder%20Perf/46730

ERROR at //chrome/android/chrome_public_apk_tmpl.gni:77:22: No value named "shared_libraries" in scope "invoker"
      deps = invoker.shared_libraries
                     ^---------------

It later failed differently:

https://ci.chromium.org/buildbot/chromium.perf/Android%20arm64%20Builder%20Perf/46773

/b/build/slave/Android_arm64_Builder_Perf/build/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //chrome/android/BUILD.gn:1531:31: Assignment had no effect.
  requires_sdk_api_level_23 = true
                              ^---
You set the variable "requires_sdk_api_level_23" here and it was unused before it went
out of scope.


The revert nor the reland hasn't made it to this bot yet so it's still red, but it might worth keeping an eye on it.
Both of those specific issues are fixed in the reland. One of them was a conflict with another CL that landed at the same time; the other is an issue that only affects official builds so I didn't see it on the CQ. The cronet builder caught them both though :)
Yep, the builder looks happy now! :)
Description: Show this description
Blocking: 777858
Cc: estevenson@chromium.org
Components: Build
Andrew, while we don't currently have any meaningful java code in the shared library other than NativeLibraries, that may not be enough for a v1 launch, and we are probably going to want to support splitting the java code up pretty soon either way, so I'm not sure we actually need to spend any effort implementing a no_dex option?

I haven't actually tried this but it's my understanding that proguard supports having multiple input jars and multiple output jars, such that it will proguard the code as if it were one large program, but keep the output classes in the corresponding jar files to their inputs: this should work for the trichrome model, I think. https://www.guardsquare.com/proguard/manual/usage#iooptions
Description: Show this description
Project Member

Comment 11 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7d1b8312af776e4995ddcc675db7752f3da03941

commit 7d1b8312af776e4995ddcc675db7752f3da03941
Author: Xiaohan Wang <xhwang@chromium.org>
Date: Tue Oct 16 23:16:06 2018

trichrome: Fix unused gn variables

I am getting the following gn gen errors when I have the following gn
args in a clank repo. This CL fixes those unused gn variables to
suppress those errors.

Almost all of the changes are suggested by torne@chromium.org.

gn args:

target_os = "android"
target_cpu = "arm64"
dcheck_always_on = true
is_debug = true
is_java_debug = true
enable_proguard_obfuscation = false
is_component_build = false
symbol_level = 1
use_jumbo_build = false
build_apk_secondary_abi = false

gn error:

ERROR at //chrome/android/BUILD.gn:1553:29: Assignment had no effect.
  native_lib_version_rule = "//build/util:chrome_version_json"
                            ^---------------------------------
You set the variable "native_lib_version_rule" here and it was unused before it went
out of scope.
See //chrome/android/BUILD.gn:1530:1: whence it was called.
android_apk("trichrome_library_apk") {
^-------------------------------------
See //BUILD.gn:339:9: which caused the file to be included.
        "//chrome/android:chrome_junit_tests",
        ^------------------------------------

Bug: 887078
Change-Id: I6c2a7aaef437fde9e6c52311d086e11b1f86574c
Reviewed-on: https://chromium-review.googlesource.com/c/1284091
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600179}
[modify] https://crrev.com/7d1b8312af776e4995ddcc675db7752f3da03941/chrome/android/BUILD.gn

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 5

Labels: merge-merged-3578
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e03606377ead795f932ddf12b39cfa4aa7bc726c

commit e03606377ead795f932ddf12b39cfa4aa7bc726c
Author: Xiaohan Wang <xhwang@chromium.org>
Date: Mon Nov 05 19:06:45 2018

[Merge M71] trichrome: Fix unused gn variables

I am getting the following gn gen errors when I have the following gn
args in a clank repo. This CL fixes those unused gn variables to
suppress those errors.

Almost all of the changes are suggested by torne@chromium.org.

gn args:

target_os = "android"
target_cpu = "arm64"
dcheck_always_on = true
is_debug = true
is_java_debug = true
enable_proguard_obfuscation = false
is_component_build = false
symbol_level = 1
use_jumbo_build = false
build_apk_secondary_abi = false

gn error:

ERROR at //chrome/android/BUILD.gn:1553:29: Assignment had no effect.
  native_lib_version_rule = "//build/util:chrome_version_json"
                            ^---------------------------------
You set the variable "native_lib_version_rule" here and it was unused before it went
out of scope.
See //chrome/android/BUILD.gn:1530:1: whence it was called.
android_apk("trichrome_library_apk") {
^-------------------------------------
See //BUILD.gn:339:9: which caused the file to be included.
        "//chrome/android:chrome_junit_tests",
        ^------------------------------------

Bug: 887078, 901596
Change-Id: I6c2a7aaef437fde9e6c52311d086e11b1f86574c
Reviewed-on: https://chromium-review.googlesource.com/c/1284091
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600179}(cherry picked from commit 7d1b8312af776e4995ddcc675db7752f3da03941)
Reviewed-on: https://chromium-review.googlesource.com/c/1318383
Reviewed-by: Ben Mason <benmason@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#507}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/e03606377ead795f932ddf12b39cfa4aa7bc726c/chrome/android/BUILD.gn

Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/e03606377ead795f932ddf12b39cfa4aa7bc726c

Commit: e03606377ead795f932ddf12b39cfa4aa7bc726c
Author: xhwang@chromium.org
Commiter: benmason@chromium.org
Date: 2018-11-05 19:06:45 +0000 UTC

[Merge M71] trichrome: Fix unused gn variables

I am getting the following gn gen errors when I have the following gn
args in a clank repo. This CL fixes those unused gn variables to
suppress those errors.

Almost all of the changes are suggested by torne@chromium.org.

gn args:

target_os = "android"
target_cpu = "arm64"
dcheck_always_on = true
is_debug = true
is_java_debug = true
enable_proguard_obfuscation = false
is_component_build = false
symbol_level = 1
use_jumbo_build = false
build_apk_secondary_abi = false

gn error:

ERROR at //chrome/android/BUILD.gn:1553:29: Assignment had no effect.
  native_lib_version_rule = "//build/util:chrome_version_json"
                            ^---------------------------------
You set the variable "native_lib_version_rule" here and it was unused before it went
out of scope.
See //chrome/android/BUILD.gn:1530:1: whence it was called.
android_apk("trichrome_library_apk") {
^-------------------------------------
See //BUILD.gn:339:9: which caused the file to be included.
        "//chrome/android:chrome_junit_tests",
        ^------------------------------------

Bug: 887078, 901596
Change-Id: I6c2a7aaef437fde9e6c52311d086e11b1f86574c
Reviewed-on: https://chromium-review.googlesource.com/c/1284091
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600179}(cherry picked from commit 7d1b8312af776e4995ddcc675db7752f3da03941)
Reviewed-on: https://chromium-review.googlesource.com/c/1318383
Reviewed-by: Ben Mason <benmason@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#507}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
Cc: digit@chromium.org
Quick question: Do you plan to implement TriChrome as a pair of bundles with a common "static shared library" module between them? If so I can provide the necessary build rule changes.

No, because I basically don't know anything about bundles. The plan is to just have three things that have no overlap; if those things end up being bundles instead of APKs by the time we're done I'm considering that entirely orthogonal to trichrome.

If there's something else I should be doing then we need to discuss it ASAP :)
FYI, discussion with Play today suggests that we should avoid at least making the static shared library an app bundle.
Blocking: 908477
Blockedon: 901465
Project Member

Comment 19 by bugdroid1@chromium.org, Dec 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e6d72788c569d5f73e6cb9f5ca6c13ef84d6de22

commit e6d72788c569d5f73e6cb9f5ca6c13ef84d6de22
Author: Torne (Richard Coles) <torne@google.com>
Date: Thu Dec 13 23:25:19 2018

Work around Trichrome loading issue.

Android has started loading static shared libraries in a separate
classloader, which means that LibraryLoader can no longer access
non-public fields of NativeLibraries as they are not in the same APK
with the present Trichrome implementation.

We'll be moving to splitting the Trichrome Java code up along package
boundaries when we divide it properly which will avoid this problem, but
this small change works around the problem in the meantime.

Bug: 887078
Change-Id: Ifd0894d4bc2d5a732ffabd37045f2cac70ed6f55
Reviewed-on: https://chromium-review.googlesource.com/c/1376816
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616482}
[modify] https://crrev.com/e6d72788c569d5f73e6cb9f5ca6c13ef84d6de22/base/android/java/templates/NativeLibraries.template

Project Member

Comment 20 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f66b547e6ff6cead188d6dd43013727b7f535a4

commit 8f66b547e6ff6cead188d6dd43013727b7f535a4
Author: Torne (Richard Coles) <torne@google.com>
Date: Tue Dec 18 16:01:43 2018

Refactor Trichrome build config.

Pull the Trichrome library build target into a template so we can define
a downstream version as well; make the upstream version only get built
when using a public SDK to avoid conflicts with the internal SDK build.
Set its versionName to the real Chrome version the same as the other
targets do.

Also increment the minimum required OS version for the library to P as
we aren't currently intending to test on O, and move the WebView
versionName setting into its template to reduce duplication.

Bug: 887078
Change-Id: I00972a9c68655de9d572a8537e6d283b0849d265
Reviewed-on: https://chromium-review.googlesource.com/c/1380999
Reviewed-by: Tobias Sargeant <tobiasjs@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617508}
[modify] https://crrev.com/8f66b547e6ff6cead188d6dd43013727b7f535a4/android_webview/BUILD.gn
[modify] https://crrev.com/8f66b547e6ff6cead188d6dd43013727b7f535a4/android_webview/system_webview_apk_tmpl.gni
[modify] https://crrev.com/8f66b547e6ff6cead188d6dd43013727b7f535a4/chrome/android/BUILD.gn
[modify] https://crrev.com/8f66b547e6ff6cead188d6dd43013727b7f535a4/chrome/android/trichrome.gni

Blockedon: 917417
Project Member

Comment 22 by bugdroid1@chromium.org, Dec 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a79f578c507250282db7acbf0e9906fcc1c7ba3c

commit a79f578c507250282db7acbf0e9906fcc1c7ba3c
Author: Torne (Richard Coles) <torne@google.com>
Date: Fri Dec 21 21:46:10 2018

Add initial proguard support for TrichromeLibrary.

Add the infrastructure to run Proguard on the TrichromeLibrary APK, and
give it a basic configuration that preserves the one class that's loaded
from the library at present.

The final build config for Trichrome may not run Proguard in this way,
but doing it for now lets us treat the APKs uniformly (e.g. a .mapping
file is created, even though obfuscation is a no-op in practise).

Bug: 887078
Change-Id: If52ce4da3c054a27c17fbb7becc275d090f3f460
Reviewed-on: https://chromium-review.googlesource.com/c/1388823
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618612}
[add] https://crrev.com/a79f578c507250282db7acbf0e9906fcc1c7ba3c/chrome/android/java/trichrome.flags
[modify] https://crrev.com/a79f578c507250282db7acbf0e9906fcc1c7ba3c/chrome/android/trichrome.gni

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5ae212ca295552748e14f55564f4e60603ffe231

commit 5ae212ca295552748e14f55564f4e60603ffe231
Author: Torne (Richard Coles) <torne@google.com>
Date: Wed Jan 02 21:36:31 2019

Define proper build args for Trichrome and fix cert.

Make the Trichrome library package name and certificate digest into GN
args so that anyone building Trichrome can easily override them.

Change the default certificate digest to be the one for the upstream dev
certificate (the one used by default if you check out and build chromium
with no further configuration) so that upstream builds actually function
out of the box, but make the default a GN variable so that downstream
can override it back to the downstream dev certificate (the old value
here).

Bug: 887078
Change-Id: I988e304e7166313ca196793c595db5f00a41cce2
Reviewed-on: https://chromium-review.googlesource.com/c/1393524
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619501}
[modify] https://crrev.com/5ae212ca295552748e14f55564f4e60603ffe231/chrome/android/trichrome.gni

Project Member

Comment 24 by bugdroid1@chromium.org, Jan 3

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/36868d4867e9ba1257e3c1d2975ff8e63b3b1a68

commit 36868d4867e9ba1257e3c1d2975ff8e63b3b1a68
Author: Torne (Richard Coles) <torne@google.com>
Date: Thu Jan 03 16:36:45 2019

Project Member

Comment 25 by bugdroid1@chromium.org, Jan 8

Labels: merge-merged-3664
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c86b67dfb74e4fc9fb3057a83616b4f0c7de4b6e

commit c86b67dfb74e4fc9fb3057a83616b4f0c7de4b6e
Author: Torne (Richard Coles) <torne@google.com>
Date: Tue Jan 08 17:55:39 2019

Add temporary icon for TrichromeLibrary.

Include the system webview's Java resource target (which is just
icon_webview.png) in TrichromeLibrary so that we can specify this as the
icon for the APK until we have proper resources for the library.

Bug: 887078
Change-Id: I1deb1ca744f175300332a6682543db8002878560
Reviewed-on: https://chromium-review.googlesource.com/c/1401224
Reviewed-by: Ben Mason <benmason@chromium.org>
Cr-Commit-Position: refs/branch-heads/3664@{#6}
Cr-Branched-From: 74a02c1be085f0ae1754f199606f2750178d7834-refs/heads/master@{#620241}
[modify] https://crrev.com/c86b67dfb74e4fc9fb3057a83616b4f0c7de4b6e/chrome/android/java/AndroidManifest_trichrome_library.xml
[modify] https://crrev.com/c86b67dfb74e4fc9fb3057a83616b4f0c7de4b6e/chrome/android/trichrome.gni

Project Member

Comment 26 by bugdroid1@chromium.org, Jan 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2592da65ca16b2c2df943700480856eeae7e2fe

commit e2592da65ca16b2c2df943700480856eeae7e2fe
Author: Torne (Richard Coles) <torne@google.com>
Date: Tue Jan 08 18:24:41 2019

Add temporary icon for TrichromeLibrary.

Include the system webview's Java resource target (which is just
icon_webview.png) in TrichromeLibrary so that we can specify this as the
icon for the APK until we have proper resources for the library.

Bug: 887078
Change-Id: I1deb1ca744f175300332a6682543db8002878560
Reviewed-on: https://chromium-review.googlesource.com/c/1400770
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620803}
[modify] https://crrev.com/e2592da65ca16b2c2df943700480856eeae7e2fe/chrome/android/java/AndroidManifest_trichrome_library.xml
[modify] https://crrev.com/e2592da65ca16b2c2df943700480856eeae7e2fe/chrome/android/trichrome.gni

Project Member

Comment 27 by bugdroid1@chromium.org, Jan 8

Labels: merge-merged-3665
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7127a183fefd4fe577fd7298443d8139fc9ebf89

commit 7127a183fefd4fe577fd7298443d8139fc9ebf89
Author: Torne (Richard Coles) <torne@google.com>
Date: Tue Jan 08 22:46:18 2019

Add temporary icon for TrichromeLibrary.

Include the system webview's Java resource target (which is just
icon_webview.png) in TrichromeLibrary so that we can specify this as the
icon for the APK until we have proper resources for the library.

Bug: 887078
Change-Id: I1deb1ca744f175300332a6682543db8002878560
Reviewed-on: https://chromium-review.googlesource.com/c/1401224
Reviewed-by: Ben Mason <benmason@chromium.org>
Cr-Original-Commit-Position: refs/branch-heads/3664@{#6}
Cr-Original-Branched-From: 74a02c1be085f0ae1754f199606f2750178d7834-refs/heads/master@{#620241}(cherry picked from commit c86b67dfb74e4fc9fb3057a83616b4f0c7de4b6e)
Reviewed-on: https://chromium-review.googlesource.com/c/1401518
Cr-Commit-Position: refs/branch-heads/3665@{#7}
Cr-Branched-From: 03c190c7f46227b627a6d9bceea854ff0b079383-refs/heads/master@{#620590}
[modify] https://crrev.com/7127a183fefd4fe577fd7298443d8139fc9ebf89/chrome/android/java/AndroidManifest_trichrome_library.xml
[modify] https://crrev.com/7127a183fefd4fe577fd7298443d8139fc9ebf89/chrome/android/trichrome.gni

Project Member

Comment 28 by bugdroid1@chromium.org, Jan 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7cb889347a621483304f5d151278db3833fc19e5

commit 7cb889347a621483304f5d151278db3833fc19e5
Author: Torne (Richard Coles) <torne@google.com>
Date: Wed Jan 09 19:52:57 2019

Allow TrichromeLibrary to be installed on TV.

Specify the android.software.leanback feature as optional, to allow
TrichromeLibrary to be compatible with TV devices as WebView does.

Bug: 887078
Change-Id: I95b7f06186c1961f11239cbbe004902b59bd70c1
Reviewed-on: https://chromium-review.googlesource.com/c/1403179
Reviewed-by: agrieve <agrieve@chromium.org>
Commit-Queue: agrieve <agrieve@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621275}
[modify] https://crrev.com/7cb889347a621483304f5d151278db3833fc19e5/chrome/android/java/AndroidManifest_trichrome_library.xml

Blockedon: 921284
Blockedon: 921288
Project Member

Comment 31 by bugdroid1@chromium.org, Jan 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efd337fa35f598bc7629a8a8fa744341a82aea78

commit efd337fa35f598bc7629a8a8fa744341a82aea78
Author: Torne (Richard Coles) <torne@google.com>
Date: Wed Jan 16 00:46:22 2019

Specify extractNativeLibs properly in WebView.

Explicitly specify the extractNativeLibs property in the WebView
manifest: for normal WebView builds set it to "true", as we compress the
shared libraries by default. This works around b/122729056.

For TrichromeWebView, set it to "false", as we don't need to support old
platform versions, and actually make TrichromeWebView leave its shared
libraries uncompressed with the appropriate GN setting.

Bug: 887078
Change-Id: I95d25f92eb0e38a06ea31241b0a4ccfb970cc216
Reviewed-on: https://chromium-review.googlesource.com/c/1410224
Reviewed-by: Changwan Ryu <changwan@chromium.org>
Commit-Queue: Richard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622944}
[modify] https://crrev.com/efd337fa35f598bc7629a8a8fa744341a82aea78/android_webview/apk/java/AndroidManifest.xml
[modify] https://crrev.com/efd337fa35f598bc7629a8a8fa744341a82aea78/android_webview/system_webview_apk_tmpl.gni

Sign in to add a comment