New issue
Advanced search Search tips
Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocked on:
issue 609488
issue 610354

Blocking:
issue 609258



Sign in to add a comment

Move Web APK code from experimental branch to Chromium

Project Member Reported by pkotw...@chromium.org, May 4 2016

Issue description

Move Web APK code from experimental branch to Chromium
 
Blockedon: 609488
Blockedon: 610354
The following revision refers to this bug:
https://chromium.googlesource.com/experimental/chromium/src/+/406bb26
	
Move //webapk to //chrome/android/webapk

BUG= 609122 

Review URL: https://codereview.chromium.org/1965583002/
Project Member

Comment 4 by bugdroid1@chromium.org, May 10 2016

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

commit 2dd67964a3f0c7fb7cdf91bd5291e85625978d92
Author: pkotwicz <pkotwicz@chromium.org>
Date: Tue May 10 00:21:08 2016

Initial CL for Web APKs

Web APKs is a proposal to improve homescreen shortcuts by:
- Giving them a spot in the app launcher
- Enabling web pages to open a Web APK when a user taps on a URL which belongs
  to a Web APK

This CL introduces a new APK target - "webapk". The APK's Android manifest can
be customized to launch different websites as a homescreen shortcut

BUG= 609122 

Review-Url: https://codereview.chromium.org/1960853002
Cr-Commit-Position: refs/heads/master@{#392486}

[modify] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/BUILD.gn
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/OWNERS
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/libs/common/BUILD.gn
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/libs/common/README
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/libs/common/src/org/chromium/webapk/lib/common/WebApkConstants.java
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/shell_apk/AndroidManifest.xml
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/shell_apk/BUILD.gn
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/shell_apk/res/drawable-mdpi/app_icon.png
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/shell_apk/res/layout/main.xml
[add] https://crrev.com/2dd67964a3f0c7fb7cdf91bd5291e85625978d92/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java

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

Remove WebApkServiceImpl#getBroadcastPendingIntent() because it is unneeded

BUG= 609122 

Review URL: https://codereview.chromium.org/1969873003/
Project Member

Comment 9 by bugdroid1@chromium.org, May 12 2016

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

commit 32e39d5b1fe5da844d5f9a4f7b6a4621d629c51e
Author: pkotwicz <pkotwicz@chromium.org>
Date: Thu May 12 18:09:31 2016

Enable disk writes closer to where strict mode violation occurs in NotificationPlatformBridge

WebAPKs will use CustomNotificationBuilder. This CL will avoid duplicating the
code to enable/disable disk writes for all users of CustomNotificationBuilder

BUG= 609122 

Review-Url: https://codereview.chromium.org/1967233002
Cr-Commit-Position: refs/heads/master@{#393303}

[modify] https://crrev.com/32e39d5b1fe5da844d5f9a4f7b6a4621d629c51e/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
[modify] https://crrev.com/32e39d5b1fe5da844d5f9a4f7b6a4621d629c51e/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
[modify] https://crrev.com/32e39d5b1fe5da844d5f9a4f7b6a4621d629c51e/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilderTest.java

Comment 10 by hanxi@chromium.org, May 13 2016

Blockedon: 611842
Project Member

Comment 11 by bugdroid1@chromium.org, May 13 2016

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

commit 5cb2361c8307d9df549c357b56efe44c256580f3
Author: hanxi <hanxi@chromium.org>
Date: Fri May 13 23:04:46 2016

Add WebAPK's client library.

Introduce WebApkValidator that verifies whether a WebAPK is signed by WebAPK
Minting Server, and whether a URL can be handled by a WebAPK.
 - It is in WebAPK's client library, which provides APIs for WebAPK host
   to communicate with WebAPKs.
 - ChromeWebApkHost is introduced to initialize the public key for WebAPK's
   signature verification.

BUG= 609122 

Review-Url: https://codereview.chromium.org/1971773002
Cr-Commit-Position: refs/heads/master@{#393674}

[modify] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/BUILD.gn
[modify] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
[modify] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
[modify] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/java_sources.gni
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/webapk/libs/client/BUILD.gn
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/webapk/libs/client/DEPS
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/webapk/libs/client/README
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/webapk/libs/client/junit/DEPS
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkValidatorTest.java
[add] https://crrev.com/5cb2361c8307d9df549c357b56efe44c256580f3/chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/WebApkValidator.java

Project Member

Comment 12 by bugdroid1@chromium.org, May 14 2016

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

commit 94fd6d387a597efa2016c8aea51c3c2d878d8655
Author: hanxi <hanxi@chromium.org>
Date: Sat May 14 00:38:46 2016

Add webapk_client_junit_tests to bots.

Please refer to CL (https://codereview.chromium.org/1971773002/) that
adds the webapk_client_junit_tests target.

BUG= 609122 

Review-Url: https://codereview.chromium.org/1978863002
Cr-Commit-Position: refs/heads/master@{#393708}

[modify] https://crrev.com/94fd6d387a597efa2016c8aea51c3c2d878d8655/testing/buildbot/chromium.linux.json

Project Member

Comment 13 by bugdroid1@chromium.org, May 16 2016

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

commit a1dd0b00eb23baf4840bdfbbba153f6f7658b9b4
Author: pkotwicz <pkotwicz@chromium.org>
Date: Mon May 16 14:41:04 2016

Upstream: Ignore android.util.Log usage in WebAPK code

Code in //chrome/android/webapk cannot depend on anything in Chromium including
//base.
Do not throw a PRESUMBIT error for android.util.Log usage in
//chrome/android/webapk

BUG= 609122 

Review-Url: https://codereview.chromium.org/1980693002
Cr-Commit-Position: refs/heads/master@{#393830}

[modify] https://crrev.com/a1dd0b00eb23baf4840bdfbbba153f6f7658b9b4/PRESUBMIT.py

Project Member

Comment 15 by bugdroid1@chromium.org, May 19 2016

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

commit f1bda2947031793ca8a08ecec4a88fe27d9b14e5
Author: pkotwicz <pkotwicz@chromium.org>
Date: Thu May 19 03:38:40 2016

Upstream: DexOptimizer and DexLoader classes

This CL upstreams DexOptimizer and DexLoader
DexOptimizer extracts a .dex file from an APK
DexLoader creates a ClassLoader from the extracted .dex file

BUG= 609122 
R=hanxi
TBR=yfriedman (TBR for new DEPS in chrome/android/webapk/shell_apk/javatests)

Review-Url: https://codereview.chromium.org/1981473002
Cr-Commit-Position: refs/heads/master@{#394656}

[modify] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/BUILD.gn
[modify] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/libs/client/BUILD.gn
[modify] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/libs/client/DEPS
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/DexOptimizer.java
[modify] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/BUILD.gn
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/DEPS
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/canary_lib/BUILD.gn
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/canary_lib/src/org/chromium/webapk/shell_apk/test/canary/Canary.java
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/dex_optimizer/AndroidManifest.xml
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/dex_optimizer/BUILD.gn
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/dex_optimizer/src/org/chromium/webapk/shell_apk/test/dex_optimizer/DexOptimizerServiceImpl.java
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/dex_optimizer/src/org/chromium/webapk/shell_apk/test/dex_optimizer/IDexOptimizerService.aidl
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/dex_optimizer/src/org/chromium/webapk/shell_apk/test/dex_optimizer/common.aidl
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/javatests/src/org/chromium/webapk/shell_apk/DexLoaderTest.java
[add] https://crrev.com/f1bda2947031793ca8a08ecec4a88fe27d9b14e5/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/DexLoader.java

Project Member

Comment 16 by bugdroid1@chromium.org, May 20 2016

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

commit f3267daa0067ce785e944e8f778346a17b3f35c7
Author: pkotwicz <pkotwicz@chromium.org>
Date: Fri May 20 20:43:02 2016

Upstream WebAPK notification related code

This CL makes Chrome hand off displaying notifications which fall within the
URL scope of a WebAPK to the WebAPK. Doing the hand off enables these
notifications to look in the Android UI as if they were dispatched by the WebAPK
- not Chrome.

BUG= 609122 

Review-Url: https://codereview.chromium.org/1969303002
Cr-Commit-Position: refs/heads/master@{#395157}

[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/java/src/org/chromium/chrome/browser/notifications/WebApkNotificationClient.java
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/java_sources.gni
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/client/BUILD.gn
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/client/junit/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManagerTest.java
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/WebApkServiceConnectionManager.java
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/runtime_library/BUILD.gn
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/runtime_library/src/README
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/runtime_library/src/org/chromium/webapk/lib/runtime_library/IWebApkApi.aidl
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/runtime_library/src/org/chromium/webapk/lib/runtime_library/WebApkServiceImpl.java
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/libs/runtime_library/src/org/chromium/webapk/lib/runtime_library/common.aidl
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/shell_apk/AndroidManifest.xml
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/shell_apk/BUILD.gn
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/shell_apk/DEPS
[add] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/browser/notifications/notification_platform_bridge_android.cc
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/browser/notifications/notification_platform_bridge_android.h
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/common/chrome_switches.cc
[modify] https://crrev.com/f3267daa0067ce785e944e8f778346a17b3f35c7/chrome/common/chrome_switches.h

Project Member

Comment 17 by bugdroid1@chromium.org, May 26 2016

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

commit f31b1ab8f6d904b935aee21968c183920554206d
Author: hanxi <hanxi@chromium.org>
Date: Thu May 26 22:53:37 2016

Upstream: Launch WebApkActivity from WebAPK.

This CL introduces WebApkActivity which extends WebappActivity to
launch a WebAPK in a fullscreen activity without Chrome's UI.
Besides, upstreams changes in WebappLaunchActivity, WebappActivity
and WebappInfo.

BUG= 609122 

Review-Url: https://codereview.chromium.org/1989283002
Cr-Commit-Position: refs/heads/master@{#396305}

[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/BUILD.gn
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/AndroidManifest.xml
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/ShortcutHelper.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/ActivityAssigner.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity0.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity1.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity2.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity3.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity4.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity5.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity6.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity7.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity8.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity9.java
[add] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkManagedActivity.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappInfo.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappManagedActivity.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/java_sources.gni
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/ActivityAssignerTest.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappInfoTest.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/WebappModeTest.java
[modify] https://crrev.com/f31b1ab8f6d904b935aee21968c183920554206d/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/MainActivity.java

Project Member

Comment 18 by bugdroid1@chromium.org, May 27 2016

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

commit 3429e4e39615924504f2c95c1b97f61fed654881
Author: hanxi <hanxi@chromium.org>
Date: Fri May 27 20:10:45 2016

Upstream: Add WebAPK security check in WebappLauncherActivity.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2010403002
Cr-Commit-Position: refs/heads/master@{#396547}

[modify] https://crrev.com/3429e4e39615924504f2c95c1b97f61fed654881/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java

Project Member

Comment 20 by bugdroid1@chromium.org, May 28 2016

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

commit 689bf7d77fc10ca7155bb59c91f6c681e7afb2a2
Author: pkotwicz <pkotwicz@chromium.org>
Date: Sat May 28 02:04:23 2016

Disconnect from WebAPK service when the WebAPK is stopped

BUG= 609122 

Review-Url: https://codereview.chromium.org/2011393002
Cr-Commit-Position: refs/heads/master@{#396625}

[modify] https://crrev.com/689bf7d77fc10ca7155bb59c91f6c681e7afb2a2/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java

Project Member

Comment 21 by bugdroid1@chromium.org, May 28 2016

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

commit fdc0ccb04b6572f4b25087ec29874bdc25657fff
Author: pkotwicz <pkotwicz@chromium.org>
Date: Sat May 28 18:35:16 2016

Upstream: Extract "WebAPK service" implementation from Chrome APK

Ideally as much WebAPK code as possible can be updated without a new WebAPK
being downloaded from the Chrome server. This CL makes the WebAPK extract
a dex with the "WebAPK service" implementation from the Chrome APK and use
the extracted dex via reflection.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2011613003
Cr-Commit-Position: refs/heads/master@{#396645}

[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/BUILD.gn
[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
[add] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkVersionManager.java
[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/java_sources.gni
[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/webapk/libs/common/BUILD.gn
[add] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/webapk/libs/common/src/org/chromium/webapk/lib/common/WebApkUtils.java
[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/webapk/libs/runtime_library/BUILD.gn
[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/webapk/shell_apk/BUILD.gn
[modify] https://crrev.com/fdc0ccb04b6572f4b25087ec29874bdc25657fff/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java

Project Member

Comment 22 by bugdroid1@chromium.org, May 28 2016

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

commit 7c009934d42f091ada0794771312b5d364e797df
Author: pkotwicz <pkotwicz@chromium.org>
Date: Sat May 28 22:54:31 2016

Upstream: Pass Bundle to WebApkServiceImpl constructor

Passing a Bundle with arguments for the WebApkServiceImpl constructor enables
updating the parameters which are passed to the constructor without changing
the constructor's signature.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2014303002
Cr-Commit-Position: refs/heads/master@{#396649}

[modify] https://crrev.com/7c009934d42f091ada0794771312b5d364e797df/chrome/android/webapk/libs/runtime_library/src/org/chromium/webapk/lib/runtime_library/WebApkServiceImpl.java
[modify] https://crrev.com/7c009934d42f091ada0794771312b5d364e797df/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/WebApkServiceFactory.java

Project Member

Comment 23 by bugdroid1@chromium.org, Jun 2 2016

Project Member

Comment 26 by bugdroid1@chromium.org, Jun 7 2016

Project Member

Comment 27 by bugdroid1@chromium.org, Jun 7 2016

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

commit e3343a3007162a60ecffb8a242eabb9e941c7280
Author: pkotwicz <pkotwicz@chromium.org>
Date: Tue Jun 07 01:53:18 2016

Make ExternalNavigationHandler#intentsHaveSameResolvers() faster

ExternalNavigationHandler#intentsHaveSameResolvers() will be called on each
WebAPK navigation. Removing the duplicate call to
PackageManager#queryIntentActivities() saves 2ms per navigation.

BUG= 609122 
TEST=None

Review-Url: https://codereview.chromium.org/2035203002
Cr-Commit-Position: refs/heads/master@{#398194}

[modify] https://crrev.com/e3343a3007162a60ecffb8a242eabb9e941c7280/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java

Project Member

Comment 28 by bugdroid1@chromium.org, Jun 8 2016

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

commit 671478be7e3f071f73cb790d74d5484ff4ddce2c
Author: pkotwicz <pkotwicz@chromium.org>
Date: Wed Jun 08 22:29:46 2016

Upstream: Create WebAPK when user selects "Add to Home screen"

This CL makes "Add to Home Screen" create a WebAPK when a user runs Chrome with
the --enable-webapk command line flag and:
- Selects "Add to Home screen" from the app menu for a web app compatible app
OR
- Selects "Add to Home screen" from "Add to Home screen" infobar

BUG= 609122 

Review-Url: https://codereview.chromium.org/2031213004
Cr-Commit-Position: refs/heads/master@{#398706}

[modify] https://crrev.com/671478be7e3f071f73cb790d74d5484ff4ddce2c/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/671478be7e3f071f73cb790d74d5484ff4ddce2c/chrome/android/java/src/org/chromium/chrome/browser/ShortcutHelper.java
[add] https://crrev.com/671478be7e3f071f73cb790d74d5484ff4ddce2c/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkBuilder.java
[modify] https://crrev.com/671478be7e3f071f73cb790d74d5484ff4ddce2c/chrome/android/java_sources.gni

Project Member

Comment 29 by bugdroid1@chromium.org, Jun 9 2016

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

commit 93b503c8708027a5943cdbc76e6fc455c09ef4f2
Author: hanxi <hanxi@chromium.org>
Date: Thu Jun 09 07:10:09 2016

Upstream: ChildProcessLauncher connects renderer processes of WebAPKs.

A refactoring is done in ChildProcessLauncher to have a map for inSandboxed
ChildConnectionAllocators. It allows WebAPKs' renderer services are assigned
to a different ChildConnectionAllocator depending on the package name.

We use ChildProcessCreationParams to plumb in WebAPK's package name into
ChildProcessLauncher. So the allocator knows which application's renderer
services to connect, and the maximum number of services that are allowed
by that application.

Always initialize ChildProcessCreationParams.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2017963003
Cr-Commit-Position: refs/heads/master@{#398801}

[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/chrome/android/java/src/org/chromium/chrome/browser/init/NativeInitializationController.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/chrome/android/java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnection.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/content/public/android/java/src/org/chromium/content/browser/ChildProcessCreationParams.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java
[modify] https://crrev.com/93b503c8708027a5943cdbc76e6fc455c09ef4f2/content/public/android/junit/src/org/chromium/content/browser/BindingManagerImplTest.java

Project Member

Comment 30 by bugdroid1@chromium.org, Jun 9 2016

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

commit b38a7f9839a4ca2fe9032f82173462341dfd1e4b
Author: pkotwicz <pkotwicz@chromium.org>
Date: Thu Jun 09 18:09:29 2016

Upstream: Launch WebAPK without showing intent picker when user taps link in WebAPK scope

This CL surpresses the intent picker when:
- User navigates via a link
AND
- The URL falls in the scope of a WebAPK
AND
- The WebAPK is the only specialized handler for the URL

BUG= 609122 
TEST=ExternalNavigationHandlerTest.*

Review-Url: https://codereview.chromium.org/2035183002
Cr-Commit-Position: refs/heads/master@{#398946}

[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegate.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java

Project Member

Comment 31 by bugdroid1@chromium.org, Jun 13 2016

Project Member

Comment 32 by bugdroid1@chromium.org, Jun 13 2016

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

commit 53cac0649b0bcac6c135928287136050ad296dad
Author: hanxi <hanxi@chromium.org>
Date: Mon Jun 13 21:24:13 2016

Upstream: Initialize ChromeWebApkHost in WebappLaunchActivity.

This CL fixes a bug that when a WebAPK is launched without Chrome
is running, WebApkValidator returns false for a valid WebAPK since
the WebApkValidator hasn't been initialized.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2056383002
Cr-Commit-Position: refs/heads/master@{#399544}

[modify] https://crrev.com/53cac0649b0bcac6c135928287136050ad296dad/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java
[modify] https://crrev.com/53cac0649b0bcac6c135928287136050ad296dad/chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/WebApkValidator.java

Project Member

Comment 33 by bugdroid1@chromium.org, Jun 14 2016

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

commit 536178a5b5ce07bfbd1f01b537e59a7f6d0a4baa
Author: pkotwicz <pkotwicz@chromium.org>
Date: Tue Jun 14 16:15:29 2016

Add webapk_runtime_library_junit_tests to bots.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2069473002
Cr-Commit-Position: refs/heads/master@{#399720}

[modify] https://crrev.com/536178a5b5ce07bfbd1f01b537e59a7f6d0a4baa/testing/buildbot/chromium.linux.json

Project Member

Comment 34 by bugdroid1@chromium.org, Jun 14 2016

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

commit 301e4a43840005105b37bf422e26578cc5a99ce9
Author: pkotwicz <pkotwicz@chromium.org>
Date: Sat May 28 01:33:17 2016

Project Member

Comment 35 by bugdroid1@chromium.org, Jun 15 2016

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

commit b38a7f9839a4ca2fe9032f82173462341dfd1e4b
Author: pkotwicz <pkotwicz@chromium.org>
Date: Thu Jun 09 18:09:29 2016

Upstream: Launch WebAPK without showing intent picker when user taps link in WebAPK scope

This CL surpresses the intent picker when:
- User navigates via a link
AND
- The URL falls in the scope of a WebAPK
AND
- The WebAPK is the only specialized handler for the URL

BUG= 609122 
TEST=ExternalNavigationHandlerTest.*

Review-Url: https://codereview.chromium.org/2035183002
Cr-Commit-Position: refs/heads/master@{#398946}

[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegate.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java
[modify] https://crrev.com/b38a7f9839a4ca2fe9032f82173462341dfd1e4b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java

Project Member

Comment 36 by bugdroid1@chromium.org, Jun 15 2016

Project Member

Comment 37 by bugdroid1@chromium.org, Jun 15 2016

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

commit 53cac0649b0bcac6c135928287136050ad296dad
Author: hanxi <hanxi@chromium.org>
Date: Mon Jun 13 21:24:13 2016

Upstream: Initialize ChromeWebApkHost in WebappLaunchActivity.

This CL fixes a bug that when a WebAPK is launched without Chrome
is running, WebApkValidator returns false for a valid WebAPK since
the WebApkValidator hasn't been initialized.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2056383002
Cr-Commit-Position: refs/heads/master@{#399544}

[modify] https://crrev.com/53cac0649b0bcac6c135928287136050ad296dad/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java
[modify] https://crrev.com/53cac0649b0bcac6c135928287136050ad296dad/chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/WebApkValidator.java

Project Member

Comment 38 by bugdroid1@chromium.org, Jun 15 2016

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

commit 536178a5b5ce07bfbd1f01b537e59a7f6d0a4baa
Author: pkotwicz <pkotwicz@chromium.org>
Date: Tue Jun 14 16:15:29 2016

Add webapk_runtime_library_junit_tests to bots.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2069473002
Cr-Commit-Position: refs/heads/master@{#399720}

[modify] https://crrev.com/536178a5b5ce07bfbd1f01b537e59a7f6d0a4baa/testing/buildbot/chromium.linux.json

Project Member

Comment 39 by bugdroid1@chromium.org, Jun 25 2016

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

commit 3f9d474841d96c1cf75186190d20379b074eb8fb
Author: hanxi <hanxi@chromium.org>
Date: Sat Jun 25 00:28:19 2016

Upstream: Renderers are running in WebAPKs.

This Cl includes the following things:

1. Introduce WebApkSandboxedProcessService which works the same as
   Chrome's ChildProcessService, but loads Chrome's code via
   Chrome's ClassLoader.

2. Move most of the functionality from ChildProcessService to
   ChildProcessServiceImpl, so we could let WebApkSandboxedProcessService
   load the ChildProcessServiceImpl class and create an Impl object which
   loads Chrome's native libraries and creates renderer process. The
   ChildProcessService can't be loaded directly through the same way, it
   might because this class extends the Android Service class and
   complicates things.

3. Rename child_process_service.h(.cc) to child_process_service_impl.h(.cc)
   and updates the JNI register.

4. Pass in the class name of WebApkSandboxedProcessService via
   ChildProcessCreationParams in WebApkActivity. So ChildProcessLauncher
   knows the class name of the service to connect.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2049843004
Cr-Commit-Position: refs/heads/master@{#402026}

[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/webapk/libs/common/BUILD.gn
[add] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/webapk/libs/common/src/org/chromium/webapk/lib/common/WebApkSandboxedProcessService.java
[add] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/webapk/libs/common/src/org/chromium/webapk/lib/common/WebApkSandboxedProcessService0.java
[add] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/webapk/libs/common/src/org/chromium/webapk/lib/common/WebApkSandboxedProcessService1.java
[add] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/webapk/libs/common/src/org/chromium/webapk/lib/common/WebApkSandboxedProcessService2.java
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/chrome/android/webapk/shell_apk/AndroidManifest.xml
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/app/BUILD.gn
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/app/android/app_jni_registrar.cc
[delete] https://crrev.com/00a48bb1665ed1198103dbdb597050449db08fcb/content/app/android/child_process_service.h
[rename] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/app/android/child_process_service_impl.cc
[add] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/app/android/child_process_service_impl.h
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/content_app.gypi
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/content_jni.gypi
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/public/android/BUILD.gn
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/public/android/java/src/org/chromium/content/app/ChildProcessService.java
[add] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/public/android/java/src/org/chromium/content/app/ChildProcessServiceImpl.java
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/public/android/java/src/org/chromium/content/browser/ChildProcessConnectionImpl.java
[modify] https://crrev.com/3f9d474841d96c1cf75186190d20379b074eb8fb/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java

Project Member

Comment 40 by bugdroid1@chromium.org, Jun 25 2016

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

commit 4b7e057321503b5f833156ee2b26ba85e0384ddd
Author: hanxi <hanxi@chromium.org>
Date: Sat Jun 25 02:56:09 2016

Add WebAPK's tests in ChildProcessLauncherTest.

Instrument tests are added in ChildProcessLauncherTest to connect to
child processes in a WebAPK:
- Move ChildProcessLauncherTest from //content to //chrome, because
  the WebAPKs instruments tests require to pre-install a WebAPK.
- A refactoring is done to build a test WebAPK.  This is because
  WebAPK needs to load its host browser's code to create a renderer,
  we hard code the host browser package name in the test WebAPK
  be the package of chrome_public_apk.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2076583002
Cr-Commit-Position: refs/heads/master@{#402046}

[modify] https://crrev.com/4b7e057321503b5f833156ee2b26ba85e0384ddd/content/public/android/java/src/org/chromium/content/browser/ChildProcessLauncher.java
[modify] https://crrev.com/4b7e057321503b5f833156ee2b26ba85e0384ddd/content/public/android/javatests/src/org/chromium/content/browser/ChildProcessLauncherTest.java

Components: Mobile>WebAPKs
Blocking: -524670
Blockedon: -611842
Owner: pkotw...@chromium.org
Status: Assigned (was: Untriaged)
Peter has the last few CLs out for review
Blocking: 609258
Status: Fixed (was: Assigned)
I'm going to mark this as fixed. The remaining items are covered by other bugs:
- installability checker (issue 606430)
- install flow changes (issue 627250)
Project Member

Comment 47 by bugdroid1@chromium.org, Oct 4 2016

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

commit 31ca9e25d8379f14f239783b7770a1a2c1cb7ff1
Author: agrieve <agrieve@chromium.org>
Date: Tue Oct 04 17:28:17 2016

Remove an unused private function related to split apks.

BUG= 609122 

Review-Url: https://codereview.chromium.org/2392003002
Cr-Commit-Position: refs/heads/master@{#422843}

[modify] https://crrev.com/31ca9e25d8379f14f239783b7770a1a2c1cb7ff1/base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java

Sign in to add a comment