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 { ...@@ -163,6 +163,16 @@ public class NavigationPopupTest extends ChromeShellTestBase {
public void goToNavigationIndex(int index) { public void goToNavigationIndex(int index) {
mNavigatedIndex = index; mNavigatedIndex = index;
} }
@Override
public int getLastCommittedEntryIndex() {
return -1;
}
@Override
public boolean removeEntryAtIndex(int index) {
return false;
}
} }
@MediumTest @MediumTest
......
...@@ -311,4 +311,15 @@ NavigationControllerAndroid::GetPendingEntry(JNIEnv* env, jobject obj) { ...@@ -311,4 +311,15 @@ NavigationControllerAndroid::GetPendingEntry(JNIEnv* env, jobject obj) {
env, entry, navigation_controller_->GetPendingEntryIndex()); 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 } // namespace content
...@@ -77,6 +77,8 @@ class CONTENT_EXPORT NavigationControllerAndroid { ...@@ -77,6 +77,8 @@ class CONTENT_EXPORT NavigationControllerAndroid {
base::android::ScopedJavaLocalRef<jstring> base::android::ScopedJavaLocalRef<jstring>
GetOriginalUrlForVisibleNavigationEntry(JNIEnv* env, jobject obj); GetOriginalUrlForVisibleNavigationEntry(JNIEnv* env, jobject obj);
void ClearHistory(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: private:
NavigationController* navigation_controller_; NavigationController* navigation_controller_;
......
...@@ -210,6 +210,22 @@ import org.chromium.content_public.browser.NavigationHistory; ...@@ -210,6 +210,22 @@ import org.chromium.content_public.browser.NavigationHistory;
return null; 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 @CalledByNative
private static void addToNavigationHistory(Object history, Object navigationEntry) { private static void addToNavigationHistory(Object history, Object navigationEntry) {
((NavigationHistory) history).addEntry((NavigationEntry) navigationEntry); ((NavigationHistory) history).addEntry((NavigationEntry) navigationEntry);
...@@ -264,4 +280,7 @@ import org.chromium.content_public.browser.NavigationHistory; ...@@ -264,4 +280,7 @@ import org.chromium.content_public.browser.NavigationHistory;
private native void nativeSetUseDesktopUserAgent(long nativeNavigationControllerAndroid, private native void nativeSetUseDesktopUserAgent(long nativeNavigationControllerAndroid,
boolean override, boolean reloadOnChange); boolean override, boolean reloadOnChange);
private native NavigationEntry nativeGetPendingEntry(long nativeNavigationControllerAndroid); 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 { ...@@ -141,4 +141,16 @@ public interface NavigationController {
* exists. * exists.
*/ */
public NavigationEntry getPendingEntry(); 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