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

Unified Diff: chrome/browser/android/banners/app_banner_manager.cc

Issue 914403006: [App banners] Start adding unit tets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments Created 5 years, 10 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/banners/app_banner_manager.cc
diff --git a/chrome/browser/android/banners/app_banner_manager.cc b/chrome/browser/android/banners/app_banner_manager.cc
index 25fa8a265b0bbb963782148eee14eaa1e6a07588..0f0dcb56ae3f0191bd1af44bada9142329f874aa 100644
--- a/chrome/browser/android/banners/app_banner_manager.cc
+++ b/chrome/browser/android/banners/app_banner_manager.cc
@@ -44,6 +44,7 @@ using base::android::ConvertUTF16ToJavaString;
namespace {
const char kBannerTag[] = "google-play-id";
+base::TimeDelta gTimeDeltaForTesting;
}
namespace banners {
@@ -144,20 +145,20 @@ void AppBannerManager::RecordCouldShowBanner(
const std::string& package_or_start_url) {
AppBannerSettingsHelper::RecordBannerEvent(
web_contents(), validated_url_, package_or_start_url,
- AppBannerSettingsHelper::APP_BANNER_EVENT_COULD_SHOW, base::Time::Now());
+ AppBannerSettingsHelper::APP_BANNER_EVENT_COULD_SHOW, GetCurrentTime());
}
bool AppBannerManager::CheckIfShouldShow(
const std::string& package_or_start_url) {
if (!AppBannerSettingsHelper::ShouldShowBanner(web_contents(), validated_url_,
package_or_start_url,
- base::Time::Now())) {
+ GetCurrentTime())) {
return false;
}
AppBannerSettingsHelper::RecordBannerEvent(
web_contents(), validated_url_, package_or_start_url,
- AppBannerSettingsHelper::APP_BANNER_EVENT_DID_SHOW, base::Time::Now());
+ AppBannerSettingsHelper::APP_BANNER_EVENT_DID_SHOW, GetCurrentTime());
return true;
}
@@ -258,6 +259,10 @@ bool AppBannerManager::OnAppDetailsRetrieved(JNIEnv* env,
return FetchIcon(GURL(image_url));
}
+int AppBannerManager::GetNumActiveFetchers(JNIEnv* env, jobject obj) {
+ return fetcher_.get() ? 1 : 0;
+}
+
bool AppBannerManager::FetchIcon(const GURL& image_url) {
if (!web_contents())
return false;
@@ -284,6 +289,11 @@ int AppBannerManager::GetPreferredIconSize() {
return Java_AppBannerManager_getPreferredIconSize(env, jobj.obj());
}
+// static
+base::Time AppBannerManager::GetCurrentTime() {
+ return base::Time::Now() + gTimeDeltaForTesting;
+}
+
void RecordDismissEvent(JNIEnv* env, jclass clazz, jint metric) {
banners::TrackDismissEvent(metric);
}
@@ -302,6 +312,10 @@ jboolean IsEnabled(JNIEnv* env, jclass clazz) {
switches::kEnableAppInstallAlerts);
}
+void SetTimeDeltaForTesting(JNIEnv* env, jclass clazz, jint days) {
+ gTimeDeltaForTesting = base::TimeDelta::FromDays(days);
+}
+
// Register native methods
bool RegisterAppBannerManager(JNIEnv* env) {
return RegisterNativesImpl(env);
« no previous file with comments | « chrome/browser/android/banners/app_banner_manager.h ('k') | chrome/test/data/android/banners/native_app_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698