New issue
Advanced search Search tips

Issue 901226 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
issue 915043
issue 916381



Sign in to add a comment

Web Apps: Implement installation manager

Project Member Reported by loyso@chromium.org, Nov 2

Issue description

WebAppInstallManager in WebAppProvider will be responsible for user-initiated installation of web applications. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 7

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

commit 4be2a193172a401b18ab10110b3890ca4c420ea7
Author: Alexey Baskakov <loyso@chromium.org>
Date: Wed Nov 07 02:14:42 2018

WebApp: Use InstallableManager to fetch blink manifest data.

Use UpdateWebAppInfoFromManifest to merge the manifest into info.

In next CLs:
1) Add scope and theme_color into WebApp.
2) Download icons and write them to disk.

Bug: 901226
Change-Id: I3439983ef06c8c1bed5223ba2127a8620f1e4b55
Reviewed-on: https://chromium-review.googlesource.com/c/1319391
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605929}
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/chrome/browser/web_applications/components/web_app_constants.h
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/chrome/browser/web_applications/test/web_app_test.cc
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/chrome/browser/web_applications/test/web_app_test.h
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/chrome/browser/web_applications/web_app_install_manager.cc
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/chrome/browser/web_applications/web_app_install_manager.h
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/chrome/browser/web_applications/web_app_install_manager_unittest.cc
[modify] https://crrev.com/4be2a193172a401b18ab10110b3890ca4c420ea7/tools/metrics/histograms/enums.xml

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 7

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

commit 4a3dc541afed7f9cfe032310cca23634520e3a6e
Author: Alexey Baskakov <loyso@chromium.org>
Date: Wed Nov 07 05:38:39 2018

WebApp: Make WebAppInstallManager a WebContentsObserver.

Handle WebContents lifetime and errors properly (in the future).

Bug: 901226
Change-Id: Ifc587e01a32362a89943a1a985a4893262a7154a
Reviewed-on: https://chromium-review.googlesource.com/c/1322170
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605971}
[modify] https://crrev.com/4a3dc541afed7f9cfe032310cca23634520e3a6e/chrome/browser/web_applications/web_app_install_manager.cc
[modify] https://crrev.com/4a3dc541afed7f9cfe032310cca23634520e3a6e/chrome/browser/web_applications/web_app_install_manager.h
[modify] https://crrev.com/4a3dc541afed7f9cfe032310cca23634520e3a6e/chrome/browser/web_applications/web_app_install_manager_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 12

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

commit 3c92b2ad8c8b8d6cdb7cb6253f0d8fe7f9354f22
Author: Alexey Baskakov <loyso@chromium.org>
Date: Mon Nov 12 07:56:51 2018

WebApp: Use presets from WebApp icon generator.

Instead of extension-based sizes.

Bug: 901226
Change-Id: I4729ac0206fea143980db4cf43de67a71d83f7be
Reviewed-on: https://chromium-review.googlesource.com/c/1329819
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607166}
[modify] https://crrev.com/3c92b2ad8c8b8d6cdb7cb6253f0d8fe7f9354f22/chrome/browser/web_applications/components/web_app_data_retriever.cc
[modify] https://crrev.com/3c92b2ad8c8b8d6cdb7cb6253f0d8fe7f9354f22/chrome/browser/web_applications/components/web_app_data_retriever_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 16

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

commit 295e99a3c370335b589d1a52542903906505f293
Author: Alexey Baskakov <loyso@chromium.org>
Date: Fri Nov 16 04:45:53 2018

WebApp: Move Installability Check into WebAppDataRetriever.

We may reuse WebAppDataRetriever for new PendingAppManager
implementation.

Some subset of WebAppInstallManager will be used instead
of BookmarkAppHelper
(with a last step implemented in a specific for extensions way)

Bug: 901226
Change-Id: I8b803b3c618309efd9452d1ca4f03a476e70575a
Reviewed-on: https://chromium-review.googlesource.com/c/1335074
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608665}
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/BUILD.gn
[add] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/installable/fake_installable_manager.cc
[add] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/installable/fake_installable_manager.h
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/installable/installable_data.cc
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/installable/installable_data.h
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/components/install_manager.h
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/components/web_app_data_retriever.cc
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/components/web_app_data_retriever.h
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/components/web_app_data_retriever_unittest.cc
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/web_app_install_manager.cc
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/web_app_install_manager.h
[modify] https://crrev.com/295e99a3c370335b589d1a52542903906505f293/chrome/browser/web_applications/web_app_install_manager_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 19

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

commit 2b99decaa027828cb8ac3454d1e345bb6893076f
Author: Alexey Baskakov <loyso@chromium.org>
Date: Mon Nov 19 03:27:42 2018

WebApp: Extract GetLetterForIcon util and use SizesToGenerate utility function.

In WebAppDataRetriver.

Bug: 901226
Change-Id: I4db47a0e51c6f6aa89fbfe0fa502e08aeb4036aa
Reviewed-on: https://chromium-review.googlesource.com/c/1341285
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609170}
[modify] https://crrev.com/2b99decaa027828cb8ac3454d1e345bb6893076f/chrome/browser/web_applications/components/web_app_data_retriever.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 21

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

commit 858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd
Author: Alexey Baskakov <loyso@chromium.org>
Date: Wed Nov 21 09:05:24 2018

WebApp: Download icons for Web App installation.

- Use WebAppIconDownloader in WebAppDataRetriever.
- Extract InstallFinalizer interface:
  WebAppInstallFinalizer is a BMO implementation.
  BookmarkAppInstallFinalizer will use extensions and CrxInstaller.

Bug: 901226
Change-Id: Ie865bfd4facfc6f890ab92d5d6451a37a34979ea
Reviewed-on: https://chromium-review.googlesource.com/c/1343410
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609958}
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/BUILD.gn
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/BUILD.gn
[add] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/install_finalizer.h
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_data_retriever.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_data_retriever.h
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_data_retriever_unittest.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_icon_downloader.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_icon_downloader.h
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_icon_downloader_unittest.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_icon_generator.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_install_utils.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/components/web_app_install_utils.h
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/test/test_data_retriever.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/test/test_data_retriever.h
[add] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/test/test_install_finalizer.cc
[add] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/test/test_install_finalizer.h
[add] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/web_app_install_finalizer.cc
[add] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/web_app_install_finalizer.h
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/web_app_install_manager.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/web_app_install_manager.h
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/web_app_install_manager_unittest.cc
[modify] https://crrev.com/858f8a1ec9a6326b53ffb15a5e81aeb2d182dfbd/chrome/browser/web_applications/web_app_provider.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 22

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

commit 2ea61a02ad5aba4f3a7244ab7fcae37dca052d65
Author: Alexey Baskakov <loyso@chromium.org>
Date: Thu Nov 22 03:18:55 2018

WebApp: Add WebAppInstallManager test for GetIcons.

Icon generation and resizing is covered in
web_app_icon_generator_unittest.cc.

Bug: 901226
Change-Id: Ib6be6e5653792a18ef76daf63df70a81df9b7e3c
Reviewed-on: https://chromium-review.googlesource.com/c/1345698
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610290}
[modify] https://crrev.com/2ea61a02ad5aba4f3a7244ab7fcae37dca052d65/chrome/browser/web_applications/web_app_install_manager_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 22

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

commit 319a7e48721ce9cae1afb68fb58c2fb9bbb43459
Author: Alexey Baskakov <loyso@chromium.org>
Date: Thu Nov 22 07:29:06 2018

WebApp: Use WebApp UMA metrics name.

Note: We should expose it out of WebAppDataRetriver if we want to reuse
WebAppDataRetriver for legacy extensions-based installations
(a replacement for BookmarkAppHelper).

Bug: 901226
Change-Id: I4192600cfdbe0f57da7d3ea56b14f8626072a3a5
Reviewed-on: https://chromium-review.googlesource.com/c/1345678
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610335}
[modify] https://crrev.com/319a7e48721ce9cae1afb68fb58c2fb9bbb43459/chrome/browser/web_applications/components/web_app_data_retriever.cc
[modify] https://crrev.com/319a7e48721ce9cae1afb68fb58c2fb9bbb43459/tools/metrics/histograms/histograms.xml

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 28

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

commit f14ab187f632ec16f6ded4f1b3fa4158694c2f1f
Author: Alexey Baskakov <loyso@chromium.org>
Date: Wed Nov 28 07:37:19 2018

WebApp: Write icons to disk in WebAppInstallFinalizer.

Output structure:
<ProfileDir>
    WebApps
        Sync Data
            LevelDB
        Temp
            <temp_name>
                Icons
                    <size1>.png
                    <sizeN>.png
        <AppId1>
            Icons
                <size1>.png
                <sizeN>.png
        <AppIdN>
            Icons
                <size1>.png
                <sizeN>.png

When all .png files written, we `mv` Temp/<temp_name> to WebApps/<AppId1> in one final
file system "commit".

TBR=dcheng@chromium.org

Bug: 901226
Change-Id: I2e8840aa3df230d9f78f287d5a637780ef34268b
Reviewed-on: https://chromium-review.googlesource.com/c/1349148
Reviewed-by: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611589}
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/BUILD.gn
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/components/web_app_constants.h
[add] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/file_utils_wrapper.cc
[add] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/file_utils_wrapper.h
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/test/test_data_retriever.h
[add] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/test/test_file_utils.cc
[add] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/test/test_file_utils.h
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_database_factory.cc
[add] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_icon_manager.cc
[add] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_icon_manager.h
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_install_finalizer.cc
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_install_finalizer.h
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_install_manager_unittest.cc
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_provider.cc
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_provider.h
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_utils.cc
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/chrome/browser/web_applications/web_app_utils.h
[modify] https://crrev.com/f14ab187f632ec16f6ded4f1b3fa4158694c2f1f/tools/metrics/histograms/enums.xml

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 5

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

commit 8975f3563d6a120b8726288ade7106d723871b77
Author: Alexey Baskakov <loyso@chromium.org>
Date: Wed Dec 05 02:28:26 2018

WebApp: Add Icons meta info. Read icon's SkBitmap from disk API.

The UI in general (and AppService in particular) shows icons.
WebApp system must be able to load icons/bitmap by request from
a backend.

Pull out icon utils from web_app_install_manager_unittest.cc
into WebAppTest fixture.

Bug: 901226
Change-Id: Ibed0d24de39e595521c20222dd55d5e8b98cd5ad
Reviewed-on: https://chromium-review.googlesource.com/c/1350553
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Reviewed-by: Alan Cutter <alancutter@chromium.org>
Reviewed-by: Nigel Tao <nigeltao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613823}
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/BUILD.gn
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/proto/web_app.proto
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/test/web_app_test.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/test/web_app_test.h
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app.h
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_database.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_database_unittest.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_icon_manager.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_icon_manager.h
[add] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_icon_manager_unittest.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_install_finalizer.cc
[modify] https://crrev.com/8975f3563d6a120b8726288ade7106d723871b77/chrome/browser/web_applications/web_app_install_manager_unittest.cc

Blocking: 915043
Blocking: 916381

Sign in to add a comment