Index: chrome/browser/android/logo_bridge.h |
diff --git a/chrome/browser/android/logo_bridge.h b/chrome/browser/android/logo_bridge.h |
index 89f5f48b12a3ecf1dbc0e09e08098b45d4aee407..749865eb011dceeb0051cdc04db2e14a52c3d394 100644 |
--- a/chrome/browser/android/logo_bridge.h |
+++ b/chrome/browser/android/logo_bridge.h |
@@ -38,8 +38,14 @@ class LogoBridge : public doodle::DoodleService::Observer { |
explicit LogoBridge(jobject j_profile); |
void Destroy(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj); |
+ // TODO(treib): Double-check the observer contract (esp. for LogoTracker). |
// Gets the current non-animated logo (downloading it if necessary) and passes |
// it to the observer. |
+ // The observer's |onLogoAvailable| will be called at least once: |
+ // a) A cached doodle is available. |
+ // b) A new doodle is available. This happens independent from a) or c). |
+ // c) If no cached doodle is available and no doodle can be expected soon, it |
+ // is called with an empty object. |
Marc Treib
2017/04/27 11:56:09
s/empty/null/ ?
fhorschig
2017/04/27 12:12:20
Done.
|
void GetCurrentLogo( |
JNIEnv* env, |
const base::android::JavaParamRef<jobject>& obj, |
@@ -63,10 +69,9 @@ class LogoBridge : public doodle::DoodleService::Observer { |
void OnDoodleConfigUpdated( |
const base::Optional<doodle::DoodleConfig>& maybe_doodle_config) override; |
- void DoodleConfigReceived( |
- const base::Optional<doodle::DoodleConfig>& maybe_doodle_config, |
- bool from_cache); |
- |
+ void NotifyNoLogoAvailable(bool from_cache); |
+ void FetchDoodleImage(const doodle::DoodleConfig& doodle_config, |
+ bool from_cache); |
void DoodleImageFetched(bool config_from_cache, |
const GURL& on_click_url, |
const std::string& alt_text, |