Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1532)

Unified Diff: chrome/browser/android/logo_bridge.cc

Issue 2833473002: Record NTP.LogoShownTime for timely refreshs only (Closed)
Patch Set: Split refresh callback into own interface Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/logo_bridge.cc
diff --git a/chrome/browser/android/logo_bridge.cc b/chrome/browser/android/logo_bridge.cc
index 8b24611abf5673c2f5d5822656c2494971bc0b04..fd70d1608d98b9edcbf1294b4be7876081af44da 100644
--- a/chrome/browser/android/logo_bridge.cc
+++ b/chrome/browser/android/logo_bridge.cc
@@ -220,16 +220,23 @@ void LogoBridge::Destroy(JNIEnv* env, const JavaParamRef<jobject>& obj) {
delete this;
}
-void LogoBridge::GetCurrentLogo(JNIEnv* env,
- const JavaParamRef<jobject>& obj,
- const JavaParamRef<jobject>& j_logo_observer) {
+void LogoBridge::GetCurrentLogo(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ const JavaParamRef<jobject>& j_logo_observer,
+ const JavaParamRef<jobject>& j_refresh_skipped_callback) {
if (doodle_service_) {
j_logo_observer_.Reset(j_logo_observer);
// Immediately hand out any current cached config.
DoodleConfigReceived(doodle_service_->config(), /*from_cache=*/true);
Marc Treib 2017/04/26 10:17:16 Ah, here's the problem I'm talking about above, an
fhorschig 2017/04/27 10:31:44 OnLogoAvailable is now exactly called when a) we h
// Also request a refresh, in case something changed.
- doodle_service_->Refresh();
+ if (!doodle_service_->Refresh()) {
+ // If the request was skipped, tell the observer not to wait for
+ // notification. This ensures that metrics recording accounts for that.
+ Java_LogoRefreshCallback_onRefreshSkipped(env,
+ j_refresh_skipped_callback);
+ }
} else {
// |observer| is deleted in LogoObserverAndroid::OnObserverRemoved().
LogoObserverAndroid* observer = new LogoObserverAndroid(

Powered by Google App Engine
This is Rietveld 408576698