We want installed WebAPKs in the ARC container on Chrome OS to run and bounce out to the installed desktop Chrome browser.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4729eda6b9057a0a052573a7cb9c9af46f907eae commit 4729eda6b9057a0a052573a7cb9c9af46f907eae Author: Dominick Ng <dominickn@chromium.org> Date: Fri Oct 12 03:21:21 2018 Add the CrOS intent helper as a browser supporting WebAPKs. This will allow WebAPKs to be bounced to the desktop browser on Chrome OS devices. BUG=893927 Change-Id: Ic70b58d2ab2b23960cc894dd3420174b523908e6 Reviewed-on: https://chromium-review.googlesource.com/c/1272756 Reviewed-by: Xi Han <hanxi@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#599083} [modify] https://crrev.com/4729eda6b9057a0a052573a7cb9c9af46f907eae/chrome/android/webapk/shell_apk/current_version/current_version.gni [modify] https://crrev.com/4729eda6b9057a0a052573a7cb9c9af46f907eae/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserUtils.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/087125fbb9597234cc2e8f0954eb66e00e0176b9 commit 087125fbb9597234cc2e8f0954eb66e00e0176b9 Author: Dominick Ng <dominickn@chromium.org> Date: Tue Oct 16 22:51:41 2018 Apply a separate version check for WebAPKs on Chrome OS. The intent helper is versioned differently to Chrome. Explicitly check its version separately if the incoming WebAPK launch intent specifies the intent helper as its default browser. Fail out and launch as a tab always if the provided default browser isn't supported. BUG=893927 Change-Id: I2eb551042003eb6ca59062b86992428282ecad91 Reviewed-on: https://chromium-review.googlesource.com/c/1282143 Reviewed-by: Xi Han <hanxi@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#600162} [modify] https://crrev.com/087125fbb9597234cc2e8f0954eb66e00e0176b9/chrome/android/webapk/shell_apk/current_version/current_version.gni [modify] https://crrev.com/087125fbb9597234cc2e8f0954eb66e00e0176b9/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserLauncher.java [modify] https://crrev.com/087125fbb9597234cc2e8f0954eb66e00e0176b9/chrome/android/webapk/shell_apk/src/org/chromium/webapk/shell_apk/HostBrowserUtils.java
qq: In the expected use case, will the user install WebAPKs using clank installed on Chrome OS, and launch them with Chrome on Chrome OS? We're currently banning clank install on Chrome OS to avoid confusing users.
We will not need Clank installed for this functionality - we will bounce out to Chrome on Chrome OS.
Thanks, I'll be happy if you're not going to install Clank on ARC++ :)
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7be964fa029f852da1966e204d05bfc370f24c6c commit 7be964fa029f852da1966e204d05bfc370f24c6c Author: Dominick Ng <dominickn@chromium.org> Date: Fri Oct 19 21:33:16 2018 Implement IntentHelperHost::OnOpenWebApp. This CL implements a method on the ARC IntentHelperHost to allow ARC to request that a URL be opened as a web app in Chrome. If that URL does not have a corresponding installed web app, the method falls back to simply opening the URL in a tab. An additional extension app launch source is added for the new launch pathway. BUG=893927 Change-Id: Ifbcc48f7cab65373dc6353d422580d6e9cc43796 Reviewed-on: https://chromium-review.googlesource.com/c/1282546 Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Reviewed-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: David Jacobo <djacobo@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#601305} [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/chrome/browser/ui/ash/chrome_new_window_client.cc [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/chrome/browser/ui/ash/chrome_new_window_client.h [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/chrome/browser/ui/ash/chrome_new_window_client_browsertest.cc [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/components/arc/common/intent_helper.mojom [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/components/arc/intent_helper/arc_intent_helper_bridge.cc [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/components/arc/intent_helper/arc_intent_helper_bridge.h [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/components/arc/intent_helper/arc_intent_helper_bridge_unittest.cc [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/components/arc/intent_helper/open_url_delegate.h [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/extensions/browser/api/app_runtime/app_runtime_api.cc [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/extensions/common/api/app_runtime.idl [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/extensions/common/constants.h [modify] https://crrev.com/7be964fa029f852da1966e204d05bfc370f24c6c/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c5173362e513a2eae7532d2e0cf55616928f1ce7 commit c5173362e513a2eae7532d2e0cf55616928f1ce7 Author: Dominick Ng <dominickn@chromium.org> Date: Mon Oct 22 23:04:26 2018 Add an extra test for IntentHelperHost::OnOpenWebApp. This CL adds an additional test for the non-installed URL case, as well as some extra documentation for profile fetching. BUG=893927 Change-Id: Icb6d98121f9c4347561a31c9ea97af15b10ebdfb Reviewed-on: https://chromium-review.googlesource.com/c/1292659 Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: David Jacobo <djacobo@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#601768} [modify] https://crrev.com/c5173362e513a2eae7532d2e0cf55616928f1ce7/chrome/browser/ui/ash/chrome_new_window_client.cc [modify] https://crrev.com/c5173362e513a2eae7532d2e0cf55616928f1ce7/chrome/browser/ui/ash/chrome_new_window_client_browsertest.cc [modify] https://crrev.com/c5173362e513a2eae7532d2e0cf55616928f1ce7/components/arc/intent_helper/open_url_delegate.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2e6942f1c79beefd83e5e834341cd26a7590f47 commit b2e6942f1c79beefd83e5e834341cd26a7590f47 Author: Dominick Ng <dominickn@chromium.org> Date: Thu Nov 29 05:27:57 2018 Call ArcAppListPrefs::Observer::{OnPackage{Added,Removed}} from OnPackageListRefreshed. ArcAppListPref's browser-side cache of ARC apps may become out of date with the ARC container, as the async IPC communication pipe between container and browser may be flaky, or be established after the container has processed some package installations/removals. This means observer classes which follow the OnPackageAdded or OnPackageRemoved calls may miss installations/uninstallations. This CL augments ArcAppListPrefs::OnPackageListRefreshed to additionally call observers if it detects packages which have been installed or uninstalled which it has not yet seen. BUG=893927 Change-Id: Icd069fdc89e348918f1185102e566bfc772087e3 Reviewed-on: https://chromium-review.googlesource.com/c/1345705 Reviewed-by: Ben Wells <benwells@chromium.org> Reviewed-by: Yury Khmel <khmel@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#612055} [modify] https://crrev.com/b2e6942f1c79beefd83e5e834341cd26a7590f47/chrome/browser/extensions/chrome_app_icon_unittest.cc [modify] https://crrev.com/b2e6942f1c79beefd83e5e834341cd26a7590f47/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc [modify] https://crrev.com/b2e6942f1c79beefd83e5e834341cd26a7590f47/chrome/browser/ui/app_list/arc/arc_app_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee commit be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee Author: Dominick Ng <dominickn@chromium.org> Date: Mon Dec 03 09:42:22 2018 Trigger a web app installation when a web app is installed in ARC. This CL allows ARC to inform ArcAppListPrefs whether a newly installed package is a web app or not. If it is a web app, ArcAppListPrefs requests the web app's data from ARC, and upon receiving the data, triggers an installation of the web app. BUG=893927 Change-Id: Ia88043ef1d01f709e82340326e81de01da6c1c4c Reviewed-on: https://chromium-review.googlesource.com/c/1314068 Reviewed-by: Dominic Battré <battre@chromium.org> Reviewed-by: Ben Wells <benwells@chromium.org> Reviewed-by: Yury Khmel <khmel@chromium.org> Reviewed-by: Yusuke Sato <yusukes@chromium.org> Reviewed-by: Greg Kerr <kerrnel@chromium.org> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: David Jacobo <djacobo@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#613031} [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/BUILD.gn [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_installer.cc [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_installer.h [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_installer_unittest.cc [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_service.cc [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_service.h [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_service_factory.cc [add] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/apps/apk_web_app_service_factory.h [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/chromeos/arc/arc_service_launcher.cc [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/extensions/bookmark_app_helper.cc [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/extensions/bookmark_app_helper.h [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/installable/installable_metrics.h [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/prefs/browser_prefs.cc [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/web_applications/components/web_app_constants.h [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/chrome/browser/web_applications/extensions/bookmark_app_installation_task.cc [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/components/arc/common/app.mojom [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/components/arc/test/fake_app_instance.h [modify] https://crrev.com/be35fdc4e3cb6cc9e88c9e79d4d9b6fe677d7cee/tools/metrics/histograms/enums.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8 commit ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8 Author: Dominick Ng <dominickn@chromium.org> Date: Mon Jan 07 21:44:21 2019 Synchronise web app uninstallation between ARC and Chrome. This CL synchronises uninstallation of web apps and their APK wrappers: 1. upon the user uninstalling a WebAPK in ARC++, allows ArcAppListPrefs to inform the web app container (currently the extensions system) to uninstall the corresponding web app. 2. upon the user uninstalling the web app in Chrome, informs ArcAppListPrefs so that it can uninstall the corresponding WebAPK in ARC++. 3. if ARC is not running when a web app is uninstalled, the uninstallation of the corresponding ARC package is deferred to the next time ARC is running. A number of end-to-end browser tests of installation and uninstallation are also added to exercise the implementation. BUG=893927 Change-Id: I6ddd6ca5daf12b5c616810d1449fb0a878256f6d Reviewed-on: https://chromium-review.googlesource.com/c/1328630 Reviewed-by: Ben Wells <benwells@chromium.org> Reviewed-by: Hidehiko Abe <hidehiko@chromium.org> Reviewed-by: Yusuke Sato <yusukes@chromium.org> Commit-Queue: Dominick Ng <dominickn@chromium.org> Cr-Commit-Position: refs/heads/master@{#620485} [add] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/chrome/browser/chromeos/apps/apk_web_app_installer_browsertest.cc [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/chrome/browser/chromeos/apps/apk_web_app_service.cc [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/chrome/browser/chromeos/apps/apk_web_app_service.h [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/chrome/browser/web_applications/extensions/web_app_extension_ids_map.cc [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/chrome/browser/web_applications/extensions/web_app_extension_ids_map.h [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/chrome/test/BUILD.gn [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/components/arc/test/fake_app_instance.cc [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/components/arc/test/fake_app_instance.h [modify] https://crrev.com/ca1fdde6ca24e9506c6dfbde1419d093cf51c3d8/extensions/browser/uninstall_reason.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/20ba58da734ce88bf6eb60bec822dbc6833a3f96 commit 20ba58da734ce88bf6eb60bec822dbc6833a3f96 Author: Dominick Ng <dominickn@chromium.org> Date: Tue Jan 08 04:55:17 2019 Move clear_site_data_utils.h to content/public. This allows the useful ClearSiteData method (which clears all data + ETLD+1 scoped cookies for an origin) to be accessible outside of content/browser. BUG=893927 Change-Id: Ia0d90a624c6d2de4b6307f2824dfaaf03b41d449 Reviewed-on: https://chromium-review.googlesource.com/c/1394104 Commit-Queue: Dominick Ng <dominickn@chromium.org> Reviewed-by: Christian Dullweber <dullweber@chromium.org> Reviewed-by: Charlie Reis <creis@chromium.org> Cr-Commit-Position: refs/heads/master@{#620625} [modify] https://crrev.com/20ba58da734ce88bf6eb60bec822dbc6833a3f96/content/browser/BUILD.gn [modify] https://crrev.com/20ba58da734ce88bf6eb60bec822dbc6833a3f96/content/browser/browsing_data/clear_site_data_handler.cc [modify] https://crrev.com/20ba58da734ce88bf6eb60bec822dbc6833a3f96/content/browser/browsing_data/clear_site_data_throttle.cc [modify] https://crrev.com/20ba58da734ce88bf6eb60bec822dbc6833a3f96/content/browser/browsing_data/clear_site_data_utils.cc [delete] https://crrev.com/dfab7a3df6f5040cf0a79ebf2fc19edf7925ef78/content/browser/browsing_data/clear_site_data_utils.h [modify] https://crrev.com/20ba58da734ce88bf6eb60bec822dbc6833a3f96/content/public/browser/BUILD.gn [add] https://crrev.com/20ba58da734ce88bf6eb60bec822dbc6833a3f96/content/public/browser/clear_site_data_utils.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213 commit 2a47d2f5e08bc61a71863de940cb3cb1ff5f3213 Author: Dominick Ng <dominickn@chromium.org> Date: Tue Jan 08 09:05:01 2019 Add a option to bookmark app uninstallation to remove associated data. This CL allows users to wipe all origin-bound storage and ETLD+1 bound cookies associated with the URL of a bookmark app at uninstallation. It accomplishes this via a off-by-default checkbox in the uninstallation dialog. The dialog discloses the origin for which data will be removed. BUG=893927 Change-Id: I96a9d759fcd409f6b1b428ea1b39cff102816b77 Reviewed-on: https://chromium-review.googlesource.com/c/1395857 Commit-Queue: Dominick Ng <dominickn@chromium.org> Reviewed-by: Ilya Sherman <isherman@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Cr-Commit-Position: refs/heads/master@{#620658} [modify] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/chrome/app/generated_resources.grd [add] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/chrome/app/generated_resources_grd/IDS_EXTENSION_UNINSTALL_PROMPT_REMOVE_DATA_CHECKBOX.png.sha1 [modify] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/chrome/browser/extensions/extension_uninstall_dialog.cc [modify] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/chrome/browser/extensions/extension_uninstall_dialog.h [modify] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc [modify] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/tools/metrics/histograms/enums.xml [modify] https://crrev.com/2a47d2f5e08bc61a71863de940cb3cb1ff5f3213/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98e882294aa894df17f7ba7e7e9c95eb2d5584d3 commit 98e882294aa894df17f7ba7e7e9c95eb2d5584d3 Author: Dominick Ng <dominickn@chromium.org> Date: Mon Jan 14 00:38:57 2019 Update bookmark app uninstall prompt checkbox string. This CL updates the string to comply with UX recommendation. BUG=893927 TBR=benwells@chromium.org Change-Id: I9f5acb76e3a01c986b92f63da426126d715086e2 Reviewed-on: https://chromium-review.googlesource.com/c/1408068 Commit-Queue: Dominick Ng <dominickn@chromium.org> Reviewed-by: Raymes Khoury <raymes@chromium.org> Cr-Commit-Position: refs/heads/master@{#622367} [modify] https://crrev.com/98e882294aa894df17f7ba7e7e9c95eb2d5584d3/chrome/app/chromium_strings.grd [modify] https://crrev.com/98e882294aa894df17f7ba7e7e9c95eb2d5584d3/chrome/app/generated_resources.grd [delete] https://crrev.com/d242e6f4f4afb7ce43fdd796bae1a05325f639d4/chrome/app/generated_resources_grd/IDS_EXTENSION_UNINSTALL_PROMPT_REMOVE_DATA_CHECKBOX.png.sha1 [modify] https://crrev.com/98e882294aa894df17f7ba7e7e9c95eb2d5584d3/chrome/app/google_chrome_strings.grd [add] https://crrev.com/98e882294aa894df17f7ba7e7e9c95eb2d5584d3/chrome/app/google_chrome_strings_grd/IDS_EXTENSION_UNINSTALL_PROMPT_REMOVE_DATA_CHECKBOX.png.sha1 [modify] https://crrev.com/98e882294aa894df17f7ba7e7e9c95eb2d5584d3/chrome/browser/extensions/extension_uninstall_dialog.cc
Comment 1 by bugdroid1@chromium.org
, Oct 12