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

Side by Side Diff: chrome/browser/android/precache/precache_launcher.cc

Issue 1272443002: Only set precache.last_time when precache ran. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@filter_stats
Patch Set: Don't retry often unless backend pending. Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/precache/precache_launcher.h" 5 #include "chrome/browser/android/precache/precache_launcher.h"
6 6
7 #include <jni.h> 7 #include <jni.h>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_weak_ref.h" 10 #include "base/android/jni_weak_ref.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 59
60 void PrecacheLauncher::Start(JNIEnv* env, jobject obj) { 60 void PrecacheLauncher::Start(JNIEnv* env, jobject obj) {
61 // TODO(bengr): Add integration tests for the whole feature. 61 // TODO(bengr): Add integration tests for the whole feature.
62 Profile* profile = GetProfile(); 62 Profile* profile = GetProfile();
63 63
64 PrecacheManager* precache_manager = GetPrecacheManager(profile); 64 PrecacheManager* precache_manager = GetPrecacheManager(profile);
65 history::HistoryService* hs = HistoryServiceFactory::GetForProfile( 65 history::HistoryService* hs = HistoryServiceFactory::GetForProfile(
66 profile, ServiceAccessType::IMPLICIT_ACCESS); 66 profile, ServiceAccessType::IMPLICIT_ACCESS);
67 67
68 if (precache_manager == nullptr || hs == nullptr) { 68 if (precache_manager == nullptr || hs == nullptr) {
69 OnPrecacheCompleted(); 69 OnPrecacheCompleted(false);
70 return; 70 return;
71 } 71 }
72 72
73 precache_manager->StartPrecaching( 73 precache_manager->StartPrecaching(
74 base::Bind(&PrecacheLauncher::OnPrecacheCompleted, 74 base::Bind(&PrecacheLauncher::OnPrecacheCompleted,
75 weak_factory_.GetWeakPtr()), 75 weak_factory_.GetWeakPtr()),
76 *hs); 76 *hs);
77 } 77 }
78 78
79 void PrecacheLauncher::Cancel(JNIEnv* env, jobject obj) { 79 void PrecacheLauncher::Cancel(JNIEnv* env, jobject obj) {
80 Profile* profile = GetProfile(); 80 Profile* profile = GetProfile();
81 PrecacheManager* precache_manager = GetPrecacheManager(profile); 81 PrecacheManager* precache_manager = GetPrecacheManager(profile);
82 82
83 precache_manager->CancelPrecaching(); 83 precache_manager->CancelPrecaching();
84 } 84 }
85 85
86 void PrecacheLauncher::OnPrecacheCompleted() { 86 void PrecacheLauncher::OnPrecacheCompleted(bool try_again_soon) {
87 JNIEnv* env = AttachCurrentThread(); 87 JNIEnv* env = AttachCurrentThread();
88 Java_PrecacheLauncher_onPrecacheCompletedCallback( 88 Java_PrecacheLauncher_onPrecacheCompletedCallback(
89 env, weak_java_precache_launcher_.get(env).obj()); 89 env, weak_java_precache_launcher_.get(env).obj(),
90 try_again_soon ? JNI_TRUE : JNI_FALSE);
90 } 91 }
91 92
92 static jlong Init(JNIEnv* env, jobject obj) { 93 static jlong Init(JNIEnv* env, jobject obj) {
93 return reinterpret_cast<intptr_t>(new PrecacheLauncher(env, obj)); 94 return reinterpret_cast<intptr_t>(new PrecacheLauncher(env, obj));
94 } 95 }
95 96
96 // Must be run on the UI thread. 97 // Must be run on the UI thread.
97 static jboolean ShouldRun(JNIEnv* env, jobject obj) { 98 static jboolean ShouldRun(JNIEnv* env, jobject obj) {
98 Profile* profile = GetProfile(); 99 Profile* profile = GetProfile();
99 PrecacheManager* precache_manager = GetPrecacheManager(profile); 100 PrecacheManager* precache_manager = GetPrecacheManager(profile);
100 return precache_manager && precache_manager->ShouldRun(); 101 return precache_manager && precache_manager->ShouldRun();
101 } 102 }
102 103
103 bool RegisterPrecacheLauncher(JNIEnv* env) { 104 bool RegisterPrecacheLauncher(JNIEnv* env) {
104 return RegisterNativesImpl(env); 105 return RegisterNativesImpl(env);
105 } 106 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698