Index: chrome/browser/android/offline_pages/offline_page_bridge.cc |
diff --git a/chrome/browser/android/offline_pages/offline_page_bridge.cc b/chrome/browser/android/offline_pages/offline_page_bridge.cc |
index 830d91d2e2a1fac8303818a9c504ecb89f7ea034..d98654165ae103b9ed433d48660a7b757e871dbe 100644 |
--- a/chrome/browser/android/offline_pages/offline_page_bridge.cc |
+++ b/chrome/browser/android/offline_pages/offline_page_bridge.cc |
@@ -12,8 +12,11 @@ |
#include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" |
#include "chrome/browser/android/offline_pages/offline_page_model_factory.h" |
#include "chrome/browser/android/offline_pages/offline_page_utils.h" |
+#include "chrome/browser/android/offline_pages/request_coordinator_factory.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_android.h" |
+#include "components/offline_pages/background/request_coordinator.h" |
+#include "components/offline_pages/background/save_page_request.h" |
#include "components/offline_pages/offline_page_feature.h" |
#include "components/offline_pages/offline_page_item.h" |
#include "components/offline_pages/offline_page_model.h" |
@@ -239,11 +242,11 @@ void OfflinePageBridge::GetAllPages( |
ScopedJavaLocalRef<jlongArray> OfflinePageBridge::GetOfflineIdsForClientId( |
JNIEnv* env, |
const JavaParamRef<jobject>& obj, |
- const JavaParamRef<jstring>& j_client_id_namespace, |
+ const JavaParamRef<jstring>& j_namespace, |
const JavaParamRef<jstring>& j_client_id) { |
DCHECK(offline_page_model_->is_loaded()); |
offline_pages::ClientId client_id; |
- client_id.name_space = ConvertJavaStringToUTF8(env, j_client_id_namespace); |
+ client_id.name_space = ConvertJavaStringToUTF8(env, j_namespace); |
client_id.id = ConvertJavaStringToUTF8(env, j_client_id); |
std::vector<int64_t> results = |
@@ -292,7 +295,7 @@ void OfflinePageBridge::SavePage( |
const JavaParamRef<jobject>& obj, |
const JavaParamRef<jobject>& j_callback_obj, |
const JavaParamRef<jobject>& j_web_contents, |
- const JavaParamRef<jstring>& j_client_id_namespace, |
+ const JavaParamRef<jstring>& j_namespace, |
const JavaParamRef<jstring>& j_client_id) { |
DCHECK(j_callback_obj); |
DCHECK(j_web_contents); |
@@ -308,7 +311,7 @@ void OfflinePageBridge::SavePage( |
new OfflinePageMHTMLArchiver(web_contents)); |
offline_pages::ClientId client_id; |
- client_id.name_space = ConvertJavaStringToUTF8(env, j_client_id_namespace); |
+ client_id.name_space = ConvertJavaStringToUTF8(env, j_namespace); |
client_id.id = ConvertJavaStringToUTF8(env, j_client_id); |
offline_page_model_->SavePage( |
@@ -316,6 +319,24 @@ void OfflinePageBridge::SavePage( |
base::Bind(&SavePageCallback, j_callback_ref, url)); |
} |
+void OfflinePageBridge::SavePageLater( |
+ JNIEnv* env, |
+ const JavaParamRef<jobject>& obj, |
+ const JavaParamRef<jstring>& j_url, |
+ const JavaParamRef<jstring>& j_namespace, |
+ const JavaParamRef<jstring>& j_client_id) { |
+ offline_pages::ClientId client_id; |
+ client_id.name_space = ConvertJavaStringToUTF8(env, j_namespace); |
+ client_id.id = ConvertJavaStringToUTF8(env, j_client_id); |
+ |
+ RequestCoordinator* coordinator = |
+ offline_pages::RequestCoordinatorFactory::GetInstance()-> |
+ GetForBrowserContext(browser_context_); |
+ |
+ coordinator->SavePageLater( |
+ GURL(ConvertJavaStringToUTF8(env, j_url)), client_id); |
+} |
+ |
void OfflinePageBridge::DeletePages( |
JNIEnv* env, |
const JavaParamRef<jobject>& obj, |