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

Unified Diff: chrome/browser/android/offline_pages/offline_page_bridge.cc

Issue 1694863003: Refactor the offline page storage to include client namespace and id. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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/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 716403c09ba54c529e2eb42b0da7a4f9fd50ae0c..9c2af4b84e3a5813825fc8194a70dc6a4a63ee08 100644
--- a/chrome/browser/android/offline_pages/offline_page_bridge.cc
+++ b/chrome/browser/android/offline_pages/offline_page_bridge.cc
@@ -16,6 +16,7 @@
#include "components/offline_pages/offline_page_feature.h"
#include "components/offline_pages/offline_page_item.h"
#include "components/offline_pages/offline_page_model.h"
+#include "components/offline_pages/proto/offline_pages.pb.h"
fgorski 2016/02/12 21:43:40 per discussion, perhaps we should limit protobuf c
bburns 2016/02/20 01:14:17 Done.
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
#include "jni/OfflinePageBridge_jni.h"
@@ -56,7 +57,7 @@ void ToJavaOfflinePageList(JNIEnv* env,
Java_OfflinePageBridge_createOfflinePageAndAddToList(
env, j_result_obj,
ConvertUTF8ToJavaString(env, offline_page.url.spec()).obj(),
- offline_page.bookmark_id,
+ offline_page.offline_id,
ConvertUTF8ToJavaString(env, offline_page.GetOfflineURL().spec()).obj(),
offline_page.file_size,
offline_page.creation_time.ToJavaTime(),
@@ -108,12 +109,12 @@ void OfflinePageBridge::OfflinePageModelChanged(OfflinePageModel* model) {
Java_OfflinePageBridge_offlinePageModelChanged(env, obj.obj());
}
-void OfflinePageBridge::OfflinePageDeleted(int64_t bookmark_id) {
+void OfflinePageBridge::OfflinePageDeleted(int64_t offline_id) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = weak_java_ref_.get(env);
if (obj.is_null())
return;
- Java_OfflinePageBridge_offlinePageDeleted(env, obj.obj(), bookmark_id);
+ Java_OfflinePageBridge_offlinePageDeleted(env, obj.obj(), offline_id);
}
void OfflinePageBridge::GetAllPages(JNIEnv* env,
@@ -137,12 +138,12 @@ void OfflinePageBridge::GetPagesToCleanUp(
ToJavaOfflinePageList(env, j_result_obj, offline_pages);
}
-ScopedJavaLocalRef<jobject> OfflinePageBridge::GetPageByBookmarkId(
+ScopedJavaLocalRef<jobject> OfflinePageBridge::GetPageByOfflineId(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
- jlong bookmark_id) {
+ jlong offline_id) {
const OfflinePageItem* offline_page =
- offline_page_model_->GetPageByBookmarkId(bookmark_id);
+ offline_page_model_->GetPageByOfflineId(offline_id);
if (!offline_page)
return ScopedJavaLocalRef<jobject>();
return CreateOfflinePageItem(env, *offline_page);
@@ -163,7 +164,9 @@ void OfflinePageBridge::SavePage(JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jobject>& j_callback_obj,
const JavaParamRef<jobject>& j_web_contents,
- jlong bookmark_id) {
+ jlong offline_id,
+ jstring client_id_namespace,
+ jstring client_id) {
DCHECK(j_callback_obj);
DCHECK(j_web_contents);
@@ -177,27 +180,36 @@ void OfflinePageBridge::SavePage(JNIEnv* env,
scoped_ptr<OfflinePageArchiver> archiver(
new OfflinePageMHTMLArchiver(web_contents));
+ offline_pages::ClientId cid;
+ const char *s = env->GetStringUTFChars(client_id_namespace, NULL);
fgorski 2016/02/12 21:43:40 ConvertUTF8ToJavaString is what we use typically,
bburns 2016/02/20 01:14:17 Done.
+ cid.set_space(s);
+ env->ReleaseStringUTFChars(client_id_namespace, s);
+
+ s = env->GetStringUTFChars(client_id, NULL);
+ cid.set_id(s);
+ env->ReleaseStringUTFChars(client_id, s);
+
offline_page_model_->SavePage(
- url, bookmark_id, std::move(archiver),
+ url, offline_id, cid, std::move(archiver),
base::Bind(&SavePageCallback, j_callback_ref, url));
}
void OfflinePageBridge::MarkPageAccessed(JNIEnv* env,
const JavaParamRef<jobject>& obj,
- jlong bookmark_id) {
- offline_page_model_->MarkPageAccessed(bookmark_id);
+ jlong offline_id) {
+ offline_page_model_->MarkPageAccessed(offline_id);
}
void OfflinePageBridge::DeletePage(JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jobject>& j_callback_obj,
- jlong bookmark_id) {
+ jlong offline_id) {
DCHECK(j_callback_obj);
ScopedJavaGlobalRef<jobject> j_callback_ref;
j_callback_ref.Reset(env, j_callback_obj);
- offline_page_model_->DeletePageByBookmarkId(bookmark_id, base::Bind(
+ offline_page_model_->DeletePageByOfflineId(offline_id, base::Bind(
&DeletePageCallback, j_callback_ref));
}
@@ -205,18 +217,18 @@ void OfflinePageBridge::DeletePages(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jobject>& j_callback_obj,
- const JavaParamRef<jlongArray>& bookmark_ids_array) {
+ const JavaParamRef<jlongArray>& offline_ids_array) {
DCHECK(j_callback_obj);
ScopedJavaGlobalRef<jobject> j_callback_ref;
j_callback_ref.Reset(env, j_callback_obj);
- std::vector<int64_t> bookmark_ids;
- base::android::JavaLongArrayToInt64Vector(env, bookmark_ids_array,
- &bookmark_ids);
+ std::vector<int64_t> offline_ids;
+ base::android::JavaLongArrayToInt64Vector(env, offline_ids_array,
+ &offline_ids);
- offline_page_model_->DeletePagesByBookmarkId(
- bookmark_ids,
+ offline_page_model_->DeletePagesByOfflineId(
+ offline_ids,
base::Bind(&DeletePageCallback, j_callback_ref));
}
@@ -261,7 +273,7 @@ ScopedJavaLocalRef<jobject> OfflinePageBridge::CreateOfflinePageItem(
const OfflinePageItem& offline_page) const {
return Java_OfflinePageBridge_createOfflinePageItem(
env, ConvertUTF8ToJavaString(env, offline_page.url.spec()).obj(),
- offline_page.bookmark_id,
+ offline_page.offline_id,
ConvertUTF8ToJavaString(env, offline_page.GetOfflineURL().spec()).obj(),
offline_page.file_size,
offline_page.creation_time.ToJavaTime(),

Powered by Google App Engine
This is Rietveld 408576698