Index: chrome/browser/android/webapk/webapk_installer.h |
diff --git a/chrome/browser/android/webapk/webapk_installer.h b/chrome/browser/android/webapk/webapk_installer.h |
index 052f988e0f7306a196e2799491ae6777f77965eb..1b102c2f09dd84b0e216bbf3daecdd28f0450206 100644 |
--- a/chrome/browser/android/webapk/webapk_installer.h |
+++ b/chrome/browser/android/webapk/webapk_installer.h |
@@ -6,6 +6,7 @@ |
#define CHROME_BROWSER_ANDROID_WEBAPK_WEBAPK_INSTALLER_H_ |
#include <jni.h> |
+#include <map> |
#include <memory> |
#include "base/android/scoped_java_ref.h" |
@@ -63,19 +64,22 @@ class WebApkInstaller : public net::URLFetcherDelegate { |
// Talks to the Chrome WebAPK server to update a WebAPK on the server and to |
// the Google Play server to install the downloaded WebAPK. Calls |callback| |
// after the request to install the WebAPK is sent to the Google Play server. |
- void UpdateAsync(content::BrowserContext* browser_context, |
- const FinishCallback& callback, |
- const std::string& icon_murmur2_hash, |
- const std::string& webapk_package, |
- int webapk_version); |
+ void UpdateAsync( |
+ content::BrowserContext* browser_context, |
+ const FinishCallback& callback, |
+ const std::string& webapk_package, |
+ int webapk_version, |
+ bool stale_manifest, |
+ const std::map<std::string, std::string>& icon_url_to_murmur2_hash_map); |
// Same as UpdateAsync() but uses the passed in |request_context_getter|. |
void UpdateAsyncWithURLRequestContextGetter( |
net::URLRequestContextGetter* request_context_getter, |
const FinishCallback& callback, |
- const std::string& icon_murmur2_hash, |
const std::string& webapk_package, |
- int webapk_version); |
+ int webapk_version, |
+ bool stale_manifest, |
+ const std::map<std::string, std::string>& icon_url_to_murmur2_hash_map); |
// Sets the timeout for the server requests. |
void SetTimeoutMs(int timeout_ms); |
@@ -121,6 +125,8 @@ class WebApkInstaller : public net::URLFetcherDelegate { |
void OnSuccess(); |
private: |
+ friend class WebApkInstallerRunner; |
+ |
enum TaskType { |
UNDEFINED, |
INSTALL, |
@@ -198,6 +204,14 @@ class WebApkInstaller : public net::URLFetcherDelegate { |
// installed. |
void OnFailure(); |
+ // Populates webapk::WebApk and returns it. |
+ // Must be called on a worker thread because it encodes an SkBitmap. |
+ static std::unique_ptr<webapk::WebApk> BuildWebApkProtoInBackground( |
dominickn
2016/12/15 03:33:40
A private static method with a friended test is ve
pkotwicz
2016/12/15 04:21:52
Dominick, how do you suggest making this cleaner.
dominickn
2016/12/15 04:30:35
Friending a test class is fine - what's ugly here
|
+ const ShortcutInfo& shortcut_info, |
+ const SkBitmap& shortcut_icon, |
+ bool stale_manifest, |
+ std::map<std::string, std::string> icon_url_to_murmur2_hash_map); |
dominickn
2016/12/15 03:33:40
Make this a const reference.
|
+ |
net::URLRequestContextGetter* request_context_getter_; |
// Sends HTTP request to WebAPK server. |
@@ -222,10 +236,6 @@ class WebApkInstaller : public net::URLFetcherDelegate { |
// WebAPK app icon. |
const SkBitmap shortcut_icon_; |
- // Murmur2 hash of the bitmap at the app icon URL prior to any transformations |
- // being applied to the bitmap (such as encoding/decoding the icon bitmap). |
- std::string shortcut_icon_murmur2_hash_; |
- |
// WebAPK server URL. |
GURL server_url_; |