New issue
Advanced search Search tips

Issue 891172 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 3
Type: Feature

Blocking:
issue 877898



Sign in to add a comment

Web Appliactions: Implement wep app registry.

Project Member Reported by loyso@google.com, Oct 2

Issue description

We need a root entity (WebAppRegistrar) which will be able:
- to add/remove new apps.
- to iterate over all the registered apps.
- to iterate over various subsets of all registered apps (shortcuts, for example)

 
Blocking: 877898
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 16

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

commit fd3894ec9d6adfab26f5e4aa895f2902d8e02d21
Author: Alexey Baskakov <loyso@chromium.org>
Date: Tue Oct 16 06:09:58 2018

WebApp: Introduce WebApp, WebAppRegistrar and InstallManager entities.

Introduce DesktopPWAsWithoutExtensions command line switch.

A WebApp represents single web app.
WebApp objects are owned by WebAppRegistrar.

WebAppRegistrar is a root entity which is able to add/remove new apps.
Later WebAppRegistrar will be able:
- to iterate over all the registered apps.
- to iterate over various subsets of all registered apps (shortcut apps)
- to survive the browser (and ChromeOS) relaunch (persistence)

InstallManager is an abstract manager to plumb 3-dot menu user installation.
We will evolve its WebAppInstallManager implementation
into comprehensive install manager later.

--enable-features=DesktopPWAsWithoutExtensions will enable off-extensions
implementation for Desktop PWAs.

Bug: 891172,  871116 
Change-Id: Iebcbd93cf08eec0f11c7c22dce57ded81a2a2e94
Reviewed-on: https://chromium-review.googlesource.com/c/1275468
Reviewed-by: Ben Wells <benwells@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599887}
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/BUILD.gn
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/ui/browser_commands.cc
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/BUILD.gn
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/bookmark_apps/BUILD.gn
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/bookmark_apps/bookmark_app_install_manager.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/bookmark_apps/bookmark_app_install_manager.h
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/components/BUILD.gn
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/components/install_manager.h
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/components/install_result_code.h
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/extensions/BUILD.gn
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/test/web_app_test.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/test/web_app_test.h
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app.h
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_install_manager.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_install_manager.h
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_install_manager_unittest.cc
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_provider.cc
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_provider.h
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_registrar.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_registrar.h
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_registrar_unittest.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_utils.cc
[add] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/browser/web_applications/web_app_utils.h
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/common/chrome_features.cc
[modify] https://crrev.com/fd3894ec9d6adfab26f5e4aa895f2902d8e02d21/chrome/common/chrome_features.h

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 23

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

commit 92b8ceffcac0c20def2c547f1dec62f1bd2d22e2
Author: Alexey Baskakov <loyso@chromium.org>
Date: Tue Oct 23 05:13:03 2018

WebApp: Support iteration over all apps in WebAppRegistrar.

Expose Registry as read-only collection.

Users can write:
  for (auto& kv : registrar->registry()) {
    const WebApp* web_app = kv.second.get();
    ...
  }

Add IsEmpty and UnregisterAll methods.

Bug: 891172
Change-Id: I17ad8a5b569eeffb614adeec5575dc6804ce5251
Reviewed-on: https://chromium-review.googlesource.com/c/1295611
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601855}
[modify] https://crrev.com/92b8ceffcac0c20def2c547f1dec62f1bd2d22e2/chrome/browser/web_applications/web_app_registrar.cc
[modify] https://crrev.com/92b8ceffcac0c20def2c547f1dec62f1bd2d22e2/chrome/browser/web_applications/web_app_registrar.h
[modify] https://crrev.com/92b8ceffcac0c20def2c547f1dec62f1bd2d22e2/chrome/browser/web_applications/web_app_registrar_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 24

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

commit 455a04d90c892eb8b0daa14c37cf23cdb268c679
Author: Alexey Baskakov <loyso@chromium.org>
Date: Wed Oct 24 07:15:01 2018

WebApp: InstallManager::InstallWebApp should report result via callback.

This unifies the API for both old and new implementations of InstallManager
interface.

Bug: 891172
Change-Id: I95086c897c4fe3d6f58bf8e8e88050b0e5692118
Reviewed-on: https://chromium-review.googlesource.com/c/1295616
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602268}
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/bookmark_apps/bookmark_app_install_manager.cc
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/bookmark_apps/bookmark_app_install_manager.h
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/components/install_manager.h
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/web_app_install_manager.cc
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/web_app_install_manager.h
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/web_app_install_manager_unittest.cc
[modify] https://crrev.com/455a04d90c892eb8b0daa14c37cf23cdb268c679/chrome/browser/web_applications/web_app_provider.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 25

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

commit 393b2aafa877d4bc069b2cc3cf5d934b2fed8468
Author: Alexey Baskakov <loyso@chromium.org>
Date: Thu Oct 25 06:42:31 2018

WebApp: Implement ostream operator for WebApp for logging and debug purposes.

Bug: 891172
Change-Id: I4f8677df123b2b87bdfedddc612c70e3b320e708
Reviewed-on: https://chromium-review.googlesource.com/c/1298521
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602624}
[modify] https://crrev.com/393b2aafa877d4bc069b2cc3cf5d934b2fed8468/chrome/browser/web_applications/web_app.cc
[modify] https://crrev.com/393b2aafa877d4bc069b2cc3cf5d934b2fed8468/chrome/browser/web_applications/web_app.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 8

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

commit 4768f623aa44c968f24ec0666b12ddf706f83d7d
Author: Alexey Baskakov <loyso@chromium.org>
Date: Thu Nov 08 09:26:46 2018

WebApp: Add GURL scope and theme_color WebApp data members.

We parse them from manifest during installability check.

Bug: 891172
Change-Id: I891dd48f29e6f43386c028a14f92c08db630da5e
Reviewed-on: https://chromium-review.googlesource.com/c/1325580
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606395}
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/proto/web_app.proto
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app.cc
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app.h
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app_database.cc
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app_database_unittest.cc
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app_install_manager.cc
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app_install_manager_unittest.cc
[modify] https://crrev.com/4768f623aa44c968f24ec0666b12ddf706f83d7d/chrome/browser/web_applications/web_app_registrar_unittest.cc

Sign in to add a comment