Commit 45bc8c57 authored by jaekyun's avatar jaekyun Committed by Commit bot

Export GetLastCommittedEntryIndex and RemoveEntryAtIndex to Java layer

BUG=426679

Review URL: https://codereview.chromium.org/675133002

Cr-Commit-Position: refs/heads/master@{#302408}
parent df55cf72
......@@ -163,6 +163,16 @@ public class NavigationPopupTest extends ChromeShellTestBase {
public void goToNavigationIndex(int index) {
mNavigatedIndex = index;
}
@Override
public int getLastCommittedEntryIndex() {
return -1;
}
@Override
public boolean removeEntryAtIndex(int index) {
return false;
}
}
@MediumTest
......
......@@ -311,4 +311,15 @@ NavigationControllerAndroid::GetPendingEntry(JNIEnv* env, jobject obj) {
env, entry, navigation_controller_->GetPendingEntryIndex());
}
jint NavigationControllerAndroid::GetLastCommittedEntryIndex(JNIEnv* env,
jobject obj) {
return navigation_controller_->GetLastCommittedEntryIndex();
}
jboolean NavigationControllerAndroid::RemoveEntryAtIndex(JNIEnv* env,
jobject obj,
jint index) {
return navigation_controller_->RemoveEntryAtIndex(index);
}
} // namespace content
......@@ -77,6 +77,8 @@ class CONTENT_EXPORT NavigationControllerAndroid {
base::android::ScopedJavaLocalRef<jstring>
GetOriginalUrlForVisibleNavigationEntry(JNIEnv* env, jobject obj);
void ClearHistory(JNIEnv* env, jobject obj);
int GetLastCommittedEntryIndex(JNIEnv* env, jobject obj);
jboolean RemoveEntryAtIndex(JNIEnv* env, jobject obj, jint index);
private:
NavigationController* navigation_controller_;
......
......@@ -210,6 +210,22 @@ import org.chromium.content_public.browser.NavigationHistory;
return null;
}
@Override
public int getLastCommittedEntryIndex() {
if (mNativeNavigationControllerAndroid != 0) {
return nativeGetLastCommittedEntryIndex(mNativeNavigationControllerAndroid);
}
return -1;
}
@Override
public boolean removeEntryAtIndex(int index) {
if (mNativeNavigationControllerAndroid != 0) {
return nativeRemoveEntryAtIndex(mNativeNavigationControllerAndroid, index);
}
return false;
}
@CalledByNative
private static void addToNavigationHistory(Object history, Object navigationEntry) {
((NavigationHistory) history).addEntry((NavigationEntry) navigationEntry);
......@@ -264,4 +280,7 @@ import org.chromium.content_public.browser.NavigationHistory;
private native void nativeSetUseDesktopUserAgent(long nativeNavigationControllerAndroid,
boolean override, boolean reloadOnChange);
private native NavigationEntry nativeGetPendingEntry(long nativeNavigationControllerAndroid);
private native int nativeGetLastCommittedEntryIndex(long nativeNavigationControllerAndroid);
private native boolean nativeRemoveEntryAtIndex(long nativeNavigationControllerAndroid,
int index);
}
......@@ -141,4 +141,16 @@ public interface NavigationController {
* exists.
*/
public NavigationEntry getPendingEntry();
/**
* @return The index of the last committed entry.
*/
public int getLastCommittedEntryIndex();
/**
* Removes the entry at the specified |index|.
* @return false, if the index is the last committed index or the pending entry. Otherwise this
* call discards any transient or pending entries.
*/
public boolean removeEntryAtIndex(int index);
}
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