New issue
Advanced search Search tips

Issue 862690 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 21
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Task
DFM

Blocked on:
issue 862681

Blocking:
issue 850674
issue 862689
issue 863068



Sign in to add a comment

On-demand DFMs: Patch class loader to avoid Chrome restart after module install

Project Member Reported by tiborg@chromium.org, Jul 11

Issue description

Android L and M require an app restart after installing a DFM. To avoid this use Play Core SDK’s SplitCompat to patch the class loader (see go/splitcompat).
 
Blocking: 862707
Blocking: 863068
Components: -Internals>XR>VR
Labels: -Target-70 Target-71
Bumping to M71 as discussed.
Blocking: -863068
Blocking: -862707
Blocking: 863068
Owner: tiborg@chromium.org
Status: Started (was: Available)
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 21

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

commit aada02dfce485d6754e6e1a6b24d561cd164a50e
Author: Tibor Goldschwendt <tiborg@chromium.org>
Date: Fri Sep 21 15:27:10 2018

[ar] On-demand install AR module, add ModuleInstaller class

The ModuleInstaller goes into the new component module_installer, which
hosts code necessary to install dynamic feature modules. It is used by
Chrome to install the AR module (and other modules in the future). See
go/chromevr-dfm-design-proposal for more information.

Bug: 863068,  862690 
Change-Id: Ib7fb7451fbd9ce08cd57e96f923a81f7327a8ddb
Reviewed-on: https://chromium-review.googlesource.com/1228308
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593190}
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/android/BUILD.gn
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/android/java/DEPS
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreJavaUtils.java
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/android/modules/ar/AndroidManifest.xml
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/browser/android/vr/arcore_device/arcore_device.cc
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/browser/android/vr/arcore_device/arcore_device.h
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/browser/android/vr/arcore_device/arcore_java_utils.cc
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/browser/android/vr/arcore_device/arcore_java_utils.h
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/browser/android/vr/arcore_device/arcore_shim.cc
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/chrome/browser/android/vr/arcore_device/arcore_shim.h
[add] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/components/module_installer/OWNERS
[add] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/components/module_installer/android/BUILD.gn
[add] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/components/module_installer/android/java/src/org/chromium/components/module_installer/ModuleInstaller.java
[modify] https://crrev.com/aada02dfce485d6754e6e1a6b24d561cd164a50e/tools/gritsettings/translation_expectations.pyl

Status: Fixed (was: Started)
Patching the class loader before accessing a DFM now. Seems to work, too, and we don't incur the start up cost.
Project Member

Comment 11 by bugdroid1@chromium.org, Nov 20

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

commit d9002403e5a956fd161f0092b619bcfd7bb48435
Author: Tibor Goldschwendt <tiborg@chromium.org>
Date: Tue Nov 20 22:55:54 2018

Revert "[ar] On-demand install AR module, add ModuleInstaller class"

This reverts commit aada02dfce485d6754e6e1a6b24d561cd164a50e.

Reason for revert: only needed for bundles but we don't build bundles
for M72.

Original change's description:
> [ar] On-demand install AR module, add ModuleInstaller class
>
> The ModuleInstaller goes into the new component module_installer, which
> hosts code necessary to install dynamic feature modules. It is used by
> Chrome to install the AR module (and other modules in the future). See
> go/chromevr-dfm-design-proposal for more information.
>
> Bug: 863068,  862690 
> Change-Id: Ib7fb7451fbd9ce08cd57e96f923a81f7327a8ddb
> Reviewed-on: https://chromium-review.googlesource.com/1228308
> Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
> Reviewed-by: Cait Phillips <caitkp@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Reviewed-by: agrieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593190}

TBR=caitkp@chromium.org,tedchoc@chromium.org,agrieve@chromium.org

Bug:  899574 
Change-Id: Id3fbafdbdfdbd3d4058409dff9eccf51944ebc46
Reviewed-on: https://chromium-review.googlesource.com/c/1345243
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#780}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/android/BUILD.gn
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/android/java/DEPS
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/android/java/src/org/chromium/chrome/browser/vr/ArCoreJavaUtils.java
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/android/modules/ar/AndroidManifest.xml
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/browser/android/vr/arcore_device/arcore_device.cc
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/browser/android/vr/arcore_device/arcore_device.h
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/browser/android/vr/arcore_device/arcore_java_utils.cc
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/browser/android/vr/arcore_device/arcore_java_utils.h
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/browser/android/vr/arcore_device/arcore_shim.cc
[modify] https://crrev.com/d9002403e5a956fd161f0092b619bcfd7bb48435/chrome/browser/android/vr/arcore_device/arcore_shim.h
[delete] https://crrev.com/396bfd307c865a4332529f1279ddc9ee23cac4f3/components/module_installer/OWNERS
[delete] https://crrev.com/396bfd307c865a4332529f1279ddc9ee23cac4f3/components/module_installer/android/BUILD.gn
[delete] https://crrev.com/396bfd307c865a4332529f1279ddc9ee23cac4f3/components/module_installer/android/java/src/org/chromium/components/module_installer/ModuleInstaller.java

Only reverted in M71. We don't ship bundles in M71 and save some binary size that way.
Labels: DFM

Sign in to add a comment