Commit 7ee2d050 authored by Mohamed Heikal's avatar Mohamed Heikal Committed by Commit Bot

Remove unnecessary gcm token plumbing

GCM token used to be plumbed from native to java and back so that it is stored
in the job scheduler across browser restarts. This is no longer required as
now, the GCM token is stored in prefs on native's side. This cl removes all the
unneeded plumbing code.

Bug: 972218
Change-Id: I6e2b91140760c197ee872fc4c761cd6637451ef2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1649341
Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
Commit-Queue: Carlos Knippschild <carlosk@chromium.org>
Reviewed-by: default avatarCarlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667362}
parent aaa7027f
......@@ -25,9 +25,6 @@ public class PrefetchBackgroundTask extends NativeBackgroundTask {
/** Key used in the extra data {@link Bundle} when the limitless flag is enabled. */
public static final String LIMITLESS_BUNDLE_KEY = "limitlessPrefetching";
/** Key used in the extra data {@link Bundle} to store the GCM token. */
public static final String GCM_TOKEN_BUNDLE_KEY = "gcmToken";
private static final int MINIMUM_BATTERY_PERCENTAGE_FOR_PREFETCHING = 50;
private static boolean sSkipConditionCheckingForTesting;
......@@ -43,8 +40,6 @@ public class PrefetchBackgroundTask extends NativeBackgroundTask {
private boolean mCachedRescheduleResult = true;
private boolean mLimitlessPrefetchingEnabled;
private String mGcmToken;
public PrefetchBackgroundTask() {}
@Override
......@@ -59,7 +54,6 @@ public class PrefetchBackgroundTask extends NativeBackgroundTask {
mTaskFinishedCallback = callback;
mLimitlessPrefetchingEnabled = taskParameters.getExtras().getBoolean(LIMITLESS_BUNDLE_KEY);
mGcmToken = taskParameters.getExtras().getString(GCM_TOKEN_BUNDLE_KEY);
// Check current device conditions. They might be set to null when testing and for some
// specific Android devices.
......@@ -113,7 +107,7 @@ public class PrefetchBackgroundTask extends NativeBackgroundTask {
return;
}
nativeStartPrefetchTask(mGcmToken);
nativeStartPrefetchTask();
}
private boolean isBrowserRunningInReducedMode() {
......@@ -143,9 +137,9 @@ public class PrefetchBackgroundTask extends NativeBackgroundTask {
// that backoff states are rare, we decided not to start native here just to get an unlikely
// set value of backoff time for the schedule calls.
if (mLimitlessPrefetchingEnabled) {
PrefetchBackgroundTaskScheduler.scheduleTaskLimitless(0, mGcmToken);
PrefetchBackgroundTaskScheduler.scheduleTaskLimitless(0);
} else {
PrefetchBackgroundTaskScheduler.scheduleTask(0, mGcmToken);
PrefetchBackgroundTaskScheduler.scheduleTask(0);
}
}
......@@ -210,7 +204,7 @@ public class PrefetchBackgroundTask extends NativeBackgroundTask {
}
@VisibleForTesting
native boolean nativeStartPrefetchTask(String gcmToken);
native boolean nativeStartPrefetchTask();
@VisibleForTesting
native boolean nativeOnStopTask(long nativePrefetchBackgroundTaskAndroid);
native void nativeSetTaskReschedulingForTesting(
......
......@@ -28,8 +28,8 @@ public class PrefetchBackgroundTaskScheduler {
* TODO(dewittj): Handle skipping work if the battery percentage is too low.
*/
@CalledByNative
public static void scheduleTask(int additionalDelaySeconds, String gcmToken) {
scheduleTaskInternal(additionalDelaySeconds, false, gcmToken);
public static void scheduleTask(int additionalDelaySeconds) {
scheduleTaskInternal(additionalDelaySeconds, false);
}
/**
......@@ -37,18 +37,12 @@ public class PrefetchBackgroundTaskScheduler {
* delays and no network restrictions (device needs only to be online).
*/
@CalledByNative
public static void scheduleTaskLimitless(int additionalDelaySeconds, String gcmToken) {
scheduleTaskInternal(additionalDelaySeconds, true, gcmToken);
}
static Bundle createGCMTokenBundle(String gcmToken) {
Bundle bundle = new Bundle(1);
bundle.putString(PrefetchBackgroundTask.GCM_TOKEN_BUNDLE_KEY, gcmToken);
return bundle;
public static void scheduleTaskLimitless(int additionalDelaySeconds) {
scheduleTaskInternal(additionalDelaySeconds, true);
}
private static void scheduleTaskInternal(
int additionalDelaySeconds, boolean limitlessPrefetching, String gcmToken) {
int additionalDelaySeconds, boolean limitlessPrefetching) {
final long minimumTimeSeconds =
(limitlessPrefetching ? LIMITLESS_START_DELAY_SECONDS : DEFAULT_START_DELAY_SECONDS)
+ additionalDelaySeconds;
......@@ -63,17 +57,16 @@ public class PrefetchBackgroundTaskScheduler {
.setRequiredNetworkType(TaskInfo.NetworkType.UNMETERED)
.setIsPersisted(true)
.setUpdateCurrent(true);
Bundle bundle = createGCMTokenBundle(gcmToken);
/* Limitless prefetching eliminates the default wait time but still complies with backoff
* delays determined by |additionalDelaySeconds|. There's also no restriction on the network
* type.
*/
if (limitlessPrefetching) {
taskInfoBuilder.setRequiredNetworkType(TaskInfo.NetworkType.ANY);
Bundle bundle = new Bundle(1);
bundle.putBoolean(PrefetchBackgroundTask.LIMITLESS_BUNDLE_KEY, true);
taskInfoBuilder.setExtras(bundle);
}
taskInfoBuilder.setExtras(bundle);
BackgroundTaskSchedulerFactory.getScheduler().schedule(
ContextUtils.getApplicationContext(), taskInfoBuilder.build());
}
......
......@@ -50,7 +50,6 @@ public class PrefetchBackgroundTaskTest {
private static final double BACKOFF_JITTER_FACTOR = 0.33;
private static final int SEMAPHORE_TIMEOUT_MS = 5000;
private static final String GCM_TOKEN = "dummy_gcm_token";
private TestBackgroundTaskScheduler mScheduler;
private static class TestPrefetchBackgroundTask extends PrefetchBackgroundTask {
......@@ -63,9 +62,7 @@ public class PrefetchBackgroundTaskTest {
public void startTask(Context context, final TaskFinishedCallback callback) {
TaskParameters.Builder builder =
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(
GCM_TOKEN));
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
TaskParameters params = builder.build();
onStartTask(context, params, new TaskFinishedCallback() {
@Override
......@@ -83,9 +80,7 @@ public class PrefetchBackgroundTaskTest {
public void stopTask() {
TestThreadUtils.runOnUiThreadBlocking(() -> {
TaskParameters.Builder builder =
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(
GCM_TOKEN));
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
TaskParameters params = builder.build();
onStopTask(ContextUtils.getApplicationContext(), params);
});
......@@ -203,9 +198,8 @@ public class PrefetchBackgroundTaskTest {
}
private void scheduleTask(int additionalDelaySeconds) {
TestThreadUtils.runOnUiThreadBlocking(() -> {
PrefetchBackgroundTaskScheduler.scheduleTask(additionalDelaySeconds, GCM_TOKEN);
});
TestThreadUtils.runOnUiThreadBlocking(
() -> { PrefetchBackgroundTaskScheduler.scheduleTask(additionalDelaySeconds); });
}
@Test
......
......@@ -102,7 +102,6 @@ public class PrefetchFeedFlowTest implements WebServer.RequestHandler {
"https://www.nytimes.com/2017/11/10/world/asia/trump-apec-asia-trade.html";
private static final String THUMBNAIL_URL2 =
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRh1tEaJT-br6mBxM89U3vgjDldwb9L_baZszhstAGMQh3_fuG13ax3C9ewR2tq45tbZj74CHl3KNU";
private static final String GCM_TOKEN = "dummy_gcm_token";
// Returns a small PNG image data.
private static byte[] testImageData() {
......@@ -256,9 +255,7 @@ public class PrefetchFeedFlowTest implements WebServer.RequestHandler {
PrefetchBackgroundTask task = new PrefetchBackgroundTask();
TestThreadUtils.runOnUiThreadBlocking(() -> {
TaskParameters.Builder builder =
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(
GCM_TOKEN));
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
PrefetchBackgroundTask.skipConditionCheckingForTesting();
task.onStartTask(ContextUtils.getApplicationContext(), builder.build(),
(boolean needsReschedule) -> { finished.notifyCalled(); });
......
......@@ -62,7 +62,6 @@ import java.util.concurrent.TimeoutException;
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
public class PrefetchFlowTest implements WebServer.RequestHandler {
private static final String TAG = "PrefetchFlowTest";
private static final String GCM_TOKEN = "dummy_gcm_token";
private TestOfflinePageService mOPS = new TestOfflinePageService();
private TestSuggestionsService mSuggestionsService = new TestSuggestionsService();
private WebServer mServer;
......@@ -169,9 +168,7 @@ public class PrefetchFlowTest implements WebServer.RequestHandler {
PrefetchBackgroundTask task = new PrefetchBackgroundTask();
TestThreadUtils.runOnUiThreadBlocking(() -> {
TaskParameters.Builder builder =
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(
GCM_TOKEN));
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
PrefetchBackgroundTask.skipConditionCheckingForTesting();
task.onStartTask(ContextUtils.getApplicationContext(), builder.build(),
(boolean needsReschedule) -> { finished.notifyCalled(); });
......
......@@ -90,7 +90,6 @@ public class PrefetchBackgroundTaskUnitTest {
public static final int HIGH_BATTERY_LEVEL = 75;
public static final int LOW_BATTERY_LEVEL = 25;
public static final boolean METERED = true;
private static final String GCM_TOKEN = "dummy_gcm_token";
@Spy
private PrefetchBackgroundTask mPrefetchBackgroundTask = new PrefetchBackgroundTask();
......@@ -128,7 +127,7 @@ public class PrefetchBackgroundTaskUnitTest {
}
})
.when(mPrefetchBackgroundTask)
.nativeStartPrefetchTask(eq(GCM_TOKEN));
.nativeStartPrefetchTask();
doReturn(true).when(mPrefetchBackgroundTask).nativeOnStopTask(1);
mFakeTaskScheduler = new FakeBackgroundTaskScheduler();
......@@ -138,7 +137,7 @@ public class PrefetchBackgroundTaskUnitTest {
@Test
public void scheduleTask() {
final int additionalDelaySeconds = 15;
PrefetchBackgroundTaskScheduler.scheduleTask(additionalDelaySeconds, GCM_TOKEN);
PrefetchBackgroundTaskScheduler.scheduleTask(additionalDelaySeconds);
TaskInfo scheduledTask =
mFakeTaskScheduler.getTaskInfo(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
assertNotNull(scheduledTask);
......@@ -157,7 +156,7 @@ public class PrefetchBackgroundTaskUnitTest {
@Test
public void scheduleTaskLimitless() {
final int additionalDelaySeconds = 20;
PrefetchBackgroundTaskScheduler.scheduleTaskLimitless(additionalDelaySeconds, GCM_TOKEN);
PrefetchBackgroundTaskScheduler.scheduleTaskLimitless(additionalDelaySeconds);
TaskInfo scheduledTask =
mFakeTaskScheduler.getTaskInfo(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
assertNotNull(scheduledTask);
......@@ -175,7 +174,7 @@ public class PrefetchBackgroundTaskUnitTest {
mFakeTaskScheduler.getTaskInfo(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
assertNull(scheduledTask);
PrefetchBackgroundTaskScheduler.scheduleTask(0, GCM_TOKEN);
PrefetchBackgroundTaskScheduler.scheduleTask(0);
scheduledTask = mFakeTaskScheduler.getTaskInfo(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID);
assertNotNull(scheduledTask);
assertEquals(TimeUnit.SECONDS.toMillis(
......@@ -191,9 +190,7 @@ public class PrefetchBackgroundTaskUnitTest {
public void createNativeTask() {
final ArrayList<Boolean> reschedules = new ArrayList<>();
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID).build();
// Setup battery conditions with no power connected.
DeviceConditions deviceConditions =
......@@ -220,7 +217,7 @@ public class PrefetchBackgroundTaskUnitTest {
@Test
public void createNativeTaskLimitless() {
final ArrayList<Boolean> reschedules = new ArrayList<>();
Bundle extrasBundle = PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN);
Bundle extrasBundle = new Bundle();
extrasBundle.putBoolean(PrefetchBackgroundTask.LIMITLESS_BUNDLE_KEY, true);
TaskParameters params = TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(extrasBundle)
......@@ -252,9 +249,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -275,9 +270,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -298,9 +291,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -325,7 +316,7 @@ public class PrefetchBackgroundTaskUnitTest {
ShadowDeviceConditions.setCurrentConditions(deviceConditionsNoNetwork);
// Check impact on starting before native loaded.
Bundle extrasBundle = PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN);
Bundle extrasBundle = new Bundle();
extrasBundle.putBoolean(PrefetchBackgroundTask.LIMITLESS_BUNDLE_KEY, true);
TaskParameters params = TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(extrasBundle)
......@@ -350,9 +341,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -373,9 +362,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -397,9 +384,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -421,9 +406,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......@@ -439,9 +422,7 @@ public class PrefetchBackgroundTaskUnitTest {
public void testOnStopAfterCallback() throws Exception {
final ArrayList<Boolean> reschedules = new ArrayList<>();
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID).build();
// Conditions should be appropriate for running the task.
DeviceConditions deviceConditions =
......@@ -471,9 +452,7 @@ public class PrefetchBackgroundTaskUnitTest {
// Check impact on starting before native loaded.
TaskParameters params =
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID)
.addExtras(PrefetchBackgroundTaskScheduler.createGCMTokenBundle(GCM_TOKEN))
.build();
TaskParameters.create(TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID).build();
int result = mPrefetchBackgroundTask.onStartTaskBeforeNativeLoaded(
RuntimeEnvironment.application, params, new TaskFinishedCallback() {
......
......@@ -5,7 +5,6 @@
#include <memory>
#include "base/android/jni_string.h"
#include "base/logging.h"
#include "base/time/time.h"
#include "chrome/browser/android/profile_key_util.h"
......@@ -27,9 +26,7 @@ namespace prefetch {
// JNI call to start request processing in scheduled mode.
static jboolean JNI_PrefetchBackgroundTask_StartPrefetchTask(
JNIEnv* env,
const JavaParamRef<jobject>& jcaller,
// TODO(https://crbug.com/972218): remove unused param
const JavaParamRef<jstring>& gcm_token) {
const JavaParamRef<jobject>& jcaller) {
ProfileKey* profile_key = ::android::GetMainProfileKey();
DCHECK(profile_key);
......
......@@ -6,28 +6,23 @@
#include <memory>
#include "base/android/jni_string.h"
#include "jni/PrefetchBackgroundTaskScheduler_jni.h"
namespace offline_pages {
// static
void PrefetchBackgroundTaskScheduler::Schedule(int additional_delay_seconds,
const std::string& gcm_token) {
void PrefetchBackgroundTaskScheduler::Schedule(int additional_delay_seconds) {
JNIEnv* env = base::android::AttachCurrentThread();
prefetch::Java_PrefetchBackgroundTaskScheduler_scheduleTask(
env, additional_delay_seconds,
base::android::ConvertUTF8ToJavaString(env, gcm_token));
env, additional_delay_seconds);
}
// static
void PrefetchBackgroundTaskScheduler::ScheduleLimitless(
int additional_delay_seconds,
const std::string& gcm_token) {
int additional_delay_seconds) {
JNIEnv* env = base::android::AttachCurrentThread();
prefetch::Java_PrefetchBackgroundTaskScheduler_scheduleTaskLimitless(
env, additional_delay_seconds,
base::android::ConvertUTF8ToJavaString(env, gcm_token));
env, additional_delay_seconds);
}
// static
......
......@@ -40,14 +40,12 @@ void PrefetchBackgroundTaskHandlerImpl::CancelBackgroundTask() {
PrefetchBackgroundTaskScheduler::Cancel();
}
void PrefetchBackgroundTaskHandlerImpl::EnsureTaskScheduled(
const std::string& gcm_token) {
void PrefetchBackgroundTaskHandlerImpl::EnsureTaskScheduled() {
if (prefetch_prefs::IsLimitlessPrefetchingEnabled(prefs_)) {
PrefetchBackgroundTaskScheduler::ScheduleLimitless(
GetAdditionalBackoffSeconds(), gcm_token);
GetAdditionalBackoffSeconds());
} else {
PrefetchBackgroundTaskScheduler::Schedule(GetAdditionalBackoffSeconds(),
gcm_token);
PrefetchBackgroundTaskScheduler::Schedule(GetAdditionalBackoffSeconds());
}
}
......
......@@ -6,7 +6,6 @@
#define CHROME_BROWSER_OFFLINE_PAGES_PREFETCH_PREFETCH_BACKGROUND_TASK_HANDLER_IMPL_H_
#include <memory>
#include <string>
#include "base/macros.h"
#include "components/offline_pages/core/prefetch/prefetch_background_task_handler.h"
......@@ -45,7 +44,7 @@ class PrefetchBackgroundTaskHandlerImpl : public PrefetchBackgroundTaskHandler {
// PrefetchBackgroundTaskHandler implementation.
void CancelBackgroundTask() override;
void EnsureTaskScheduled(const std::string& gcm_token) override;
void EnsureTaskScheduled() override;
// Backoff control. These functions directly modify/read prefs.
void Backoff() override;
......
......@@ -5,8 +5,6 @@
#ifndef CHROME_BROWSER_OFFLINE_PAGES_PREFETCH_PREFETCH_BACKGROUND_TASK_SCHEDULER_H_
#define CHROME_BROWSER_OFFLINE_PAGES_PREFETCH_PREFETCH_BACKGROUND_TASK_SCHEDULER_H_
#include <string>
namespace offline_pages {
class PrefetchBackgroundTaskScheduler {
......@@ -14,17 +12,13 @@ class PrefetchBackgroundTaskScheduler {
// API for interacting with BackgroundTaskScheduler from native.
// Schedules the default 'NWake' prefetching task.
// |additional_delay_seconds| is relative to the default 15 minute delay.
// |gcm_token| is used so as to not require GCM handler when chrome wakes up
// for the background task.
// Implemented in platform-specific object files.
static void Schedule(int additional_delay_seconds,
const std::string& gcm_token);
static void Schedule(int additional_delay_seconds);
// Same as |Schedule| but adapted to when limitless prefetching is enabled so
// that less restrictions are applied to the scheduling of the background
// task.
static void ScheduleLimitless(int additional_delay_seconds,
const std::string& gcm_token);
static void ScheduleLimitless(int additional_delay_seconds);
// Cancels the default 'NWake' prefetching task.
// Implemented in platform-specific object files.
......
......@@ -34,7 +34,6 @@
#include "components/offline_pages/core/prefetch/prefetch_background_task_handler.h"
#include "components/offline_pages/core/prefetch/prefetch_dispatcher.h"
#include "components/offline_pages/core/prefetch/prefetch_downloader.h"
#include "components/offline_pages/core/prefetch/prefetch_gcm_handler.h"
#include "components/offline_pages/core/prefetch/prefetch_prefs.h"
#include "components/offline_pages/core/prefetch/prefetch_service.h"
#include "components/offline_pages/core/prefetch/prefetch_types.h"
......@@ -266,8 +265,8 @@ void OfflineInternalsUIMessageHandler::HandleScheduleNwake(
if (prefetch_service_) {
prefetch_service_->ForceRefreshSuggestions();
prefetch_service_->GetPrefetchBackgroundTaskHandler()->EnsureTaskScheduled(
prefetch_service_->GetCachedGCMToken());
prefetch_service_->GetPrefetchBackgroundTaskHandler()
->EnsureTaskScheduled();
ResolveJavascriptCallback(*callback_id, base::Value("Scheduled."));
} else {
RejectJavascriptCallback(*callback_id,
......
......@@ -38,10 +38,8 @@ PrefetchBackgroundTask::~PrefetchBackgroundTask() {
break;
}
if (reschedule_type_ != PrefetchBackgroundTaskRescheduleType::NO_RESCHEDULE) {
DCHECK(!service_->GetCachedGCMToken().empty());
handler->EnsureTaskScheduled(service_->GetCachedGCMToken());
}
if (reschedule_type_ != PrefetchBackgroundTaskRescheduleType::NO_RESCHEDULE)
handler->EnsureTaskScheduled();
}
void PrefetchBackgroundTask::SetReschedule(
......
......@@ -6,7 +6,6 @@
#define COMPONENTS_OFFLINE_PAGES_CORE_PREFETCH_PREFETCH_BACKGROUND_TASK_HANDLER_H_
#include <memory>
#include <string>
namespace offline_pages {
......@@ -20,7 +19,7 @@ class PrefetchBackgroundTaskHandler {
// Ensures that Chrome will be started using a background task at an
// appropriate time in the future.
virtual void EnsureTaskScheduled(const std::string& gcm_token) = 0;
virtual void EnsureTaskScheduled() = 0;
// Requests that the network backoff be increased due to a server response.
virtual void Backoff() = 0;
......
......@@ -91,8 +91,7 @@ void PrefetchDispatcherImpl::EnsureTaskScheduled() {
background_task_->SetReschedule(
PrefetchBackgroundTaskRescheduleType::RESCHEDULE_WITHOUT_BACKOFF);
} else {
service_->GetPrefetchBackgroundTaskHandler()->EnsureTaskScheduled(
service_->GetCachedGCMToken());
service_->GetPrefetchBackgroundTaskHandler()->EnsureTaskScheduled();
}
}
......
......@@ -8,7 +8,6 @@
#include <string>
#include "base/callback.h"
#include "base/memory/weak_ptr.h"
#include "components/keyed_service/core/keyed_service.h"
class GURL;
......
......@@ -46,7 +46,7 @@ class StubPrefetchBackgroundTaskHandler : public PrefetchBackgroundTaskHandler {
StubPrefetchBackgroundTaskHandler() = default;
~StubPrefetchBackgroundTaskHandler() override = default;
void CancelBackgroundTask() override {}
void EnsureTaskScheduled(const std::string& gcm_token) override {}
void EnsureTaskScheduled() override {}
void Backoff() override {}
void ResetBackoff() override {}
void PauseBackoffUntilNextRun() override {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment