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

Unified Diff: content/browser/frame_host/navigation_controller_android.cc

Issue 2365313002: Reland: Ntp: restore scroll position. (Closed)
Patch Set: Rebase. Created 4 years, 3 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: content/browser/frame_host/navigation_controller_android.cc
diff --git a/content/browser/frame_host/navigation_controller_android.cc b/content/browser/frame_host/navigation_controller_android.cc
index 670343abd6d70cd66b6382fb71165a0b8aa73407..8c406e9958eb22afce803458a0345a9ff0ce7e9d 100644
--- a/content/browser/frame_host/navigation_controller_android.cc
+++ b/content/browser/frame_host/navigation_controller_android.cc
@@ -9,6 +9,7 @@
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/callback.h"
+#include "base/strings/string16.h"
#include "content/browser/frame_host/navigation_controller_impl.h"
#include "content/browser/frame_host/navigation_entry_impl.h"
#include "content/public/browser/browser_context.h"
@@ -420,4 +421,32 @@ void NavigationControllerAndroid::CopyStateFromAndPrune(
replace_entry);
}
+ScopedJavaLocalRef<jstring> NavigationControllerAndroid::GetEntryExtraData(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ jint index,
+ const JavaParamRef<jstring>& jkey) {
+ if (index < 0 || index >= navigation_controller_->GetEntryCount())
+ return ScopedJavaLocalRef<jstring>();
+
+ std::string key = base::android::ConvertJavaStringToUTF8(env, jkey);
+ base::string16 value;
+ navigation_controller_->GetEntryAtIndex(index)->GetExtraData(key, &value);
+ return ConvertUTF16ToJavaString(env, value);
+}
+
+void NavigationControllerAndroid::SetEntryExtraData(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ jint index,
+ const JavaParamRef<jstring>& jkey,
+ const JavaParamRef<jstring>& jvalue) {
+ if (index < 0 || index >= navigation_controller_->GetEntryCount())
+ return;
+
+ std::string key = base::android::ConvertJavaStringToUTF8(env, jkey);
+ base::string16 value = base::android::ConvertJavaStringToUTF16(env, jvalue);
+ navigation_controller_->GetEntryAtIndex(index)->SetExtraData(key, value);
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698