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..97d4953b0a1e1a6c6602883263bd0c1789002815 100644 |
--- a/chrome/browser/android/logo_bridge.h |
+++ b/chrome/browser/android/logo_bridge.h |
@@ -38,8 +38,13 @@ 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| is guaranteed to be called at least once: |
+ // a) A cached doodle is available. |
+ // b) A new doodle is available. |
+ // c) Not having a doodle was revalidated. |
void GetCurrentLogo( |
JNIEnv* env, |
const base::android::JavaParamRef<jobject>& obj, |
@@ -60,13 +65,13 @@ class LogoBridge : public doodle::DoodleService::Observer { |
virtual ~LogoBridge(); |
// doodle::DoodleService::Observer implementation. |
+ void OnDoodleConfigRevalidated() override; |
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, |