OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.content.browser.framehost; | 5 package org.chromium.content.browser.framehost; |
6 | 6 |
| 7 import android.graphics.Bitmap; |
| 8 |
7 import org.chromium.base.CalledByNative; | 9 import org.chromium.base.CalledByNative; |
8 import org.chromium.base.JNINamespace; | 10 import org.chromium.base.JNINamespace; |
| 11 import org.chromium.content_public.browser.LoadUrlParams; |
9 import org.chromium.content_public.browser.NavigationController; | 12 import org.chromium.content_public.browser.NavigationController; |
| 13 import org.chromium.content_public.browser.NavigationEntry; |
| 14 import org.chromium.content_public.browser.NavigationHistory; |
10 | 15 |
11 /** | 16 /** |
12 * The NavigationControllerImpl Java wrapper to allow communicating with the nat
ive | 17 * The NavigationControllerImpl Java wrapper to allow communicating with the nat
ive |
13 * NavigationControllerImpl object. | 18 * NavigationControllerImpl object. |
14 */ | 19 */ |
15 @JNINamespace("content") | 20 @JNINamespace("content") |
16 // TODO(tedchoc): Remove the package restriction once this class moves to a non-
public content | 21 // TODO(tedchoc): Remove the package restriction once this class moves to a non-
public content |
17 // package whose visibility will be enforced via DEPS. | 22 // package whose visibility will be enforced via DEPS. |
18 /* package */ class NavigationControllerImpl implements NavigationController { | 23 /* package */ class NavigationControllerImpl implements NavigationController { |
19 | 24 |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 } | 119 } |
115 } | 120 } |
116 | 121 |
117 @Override | 122 @Override |
118 public void continuePendingReload() { | 123 public void continuePendingReload() { |
119 if (mNativeNavigationControllerAndroid != 0) { | 124 if (mNativeNavigationControllerAndroid != 0) { |
120 nativeContinuePendingReload(mNativeNavigationControllerAndroid); | 125 nativeContinuePendingReload(mNativeNavigationControllerAndroid); |
121 } | 126 } |
122 } | 127 } |
123 | 128 |
| 129 @Override |
| 130 public void loadUrl(LoadUrlParams params) { |
| 131 if (mNativeNavigationControllerAndroid != 0) { |
| 132 nativeLoadUrl( |
| 133 mNativeNavigationControllerAndroid, |
| 134 params.getUrl(), |
| 135 params.getLoadUrlType(), params.getTransitionType(), |
| 136 params.getReferrer() != null ? params.getReferrer().getUrl()
: null, |
| 137 params.getReferrer() != null ? params.getReferrer().getPolic
y() : 0, |
| 138 params.getUserAgentOverrideOption(), |
| 139 params.getExtraHeadersString(), |
| 140 params.getPostData(), |
| 141 params.getBaseUrl(), |
| 142 params.getVirtualUrlForDataUrl(), |
| 143 params.getCanLoadLocalResources(), |
| 144 params.getIsRendererInitiated()); |
| 145 } |
| 146 } |
| 147 |
| 148 @Override |
| 149 public void clearHistory() { |
| 150 if (mNativeNavigationControllerAndroid != 0) { |
| 151 nativeClearHistory(mNativeNavigationControllerAndroid); |
| 152 } |
| 153 } |
| 154 |
| 155 @Override |
| 156 public NavigationHistory getNavigationHistory() { |
| 157 if (mNativeNavigationControllerAndroid == 0) return null; |
| 158 NavigationHistory history = new NavigationHistory(); |
| 159 int currentIndex = nativeGetNavigationHistory( |
| 160 mNativeNavigationControllerAndroid, history); |
| 161 history.setCurrentEntryIndex(currentIndex); |
| 162 return history; |
| 163 } |
| 164 |
| 165 @Override |
| 166 public NavigationHistory getDirectedNavigationHistory(boolean isForward, int
itemLimit) { |
| 167 if (mNativeNavigationControllerAndroid == 0) return null; |
| 168 NavigationHistory history = new NavigationHistory(); |
| 169 nativeGetDirectedNavigationHistory(mNativeNavigationControllerAndroid, |
| 170 history, isForward, itemLimit); |
| 171 return history; |
| 172 } |
| 173 |
| 174 @Override |
| 175 public String getOriginalUrlForVisibleNavigationEntry() { |
| 176 if (mNativeNavigationControllerAndroid == 0) return null; |
| 177 return nativeGetOriginalUrlForVisibleNavigationEntry(mNativeNavigationCo
ntrollerAndroid); |
| 178 } |
| 179 |
| 180 @CalledByNative |
| 181 private void addToNavigationHistory(Object history, int index, String url, |
| 182 String virtualUrl,String originalUrl, String title, Bitmap favicon
) { |
| 183 NavigationEntry entry = new NavigationEntry(index, url, virtualUrl, |
| 184 originalUrl, title, favicon); |
| 185 ((NavigationHistory) history).addEntry(entry); |
| 186 } |
| 187 |
| 188 @Override |
| 189 public void clearSslPreferences() { |
| 190 if (mNativeNavigationControllerAndroid != 0) { |
| 191 nativeClearSslPreferences(mNativeNavigationControllerAndroid); |
| 192 } |
| 193 } |
| 194 |
| 195 @Override |
| 196 public boolean getUseDesktopUserAgent() { |
| 197 if (mNativeNavigationControllerAndroid == 0) return false; |
| 198 return nativeGetUseDesktopUserAgent(mNativeNavigationControllerAndroid); |
| 199 } |
| 200 |
| 201 @Override |
| 202 public void setUseDesktopUserAgent(boolean override, boolean reloadOnChange)
{ |
| 203 if (mNativeNavigationControllerAndroid != 0) { |
| 204 nativeSetUseDesktopUserAgent(mNativeNavigationControllerAndroid, |
| 205 override, reloadOnChange); |
| 206 } |
| 207 } |
| 208 |
124 private native boolean nativeCanGoBack(long nativeNavigationControllerAndroi
d); | 209 private native boolean nativeCanGoBack(long nativeNavigationControllerAndroi
d); |
125 private native boolean nativeCanGoForward(long nativeNavigationControllerAnd
roid); | 210 private native boolean nativeCanGoForward(long nativeNavigationControllerAnd
roid); |
126 private native void nativeLoadIfNecessary(long nativeNavigationControllerAnd
roid); | 211 private native void nativeLoadIfNecessary(long nativeNavigationControllerAnd
roid); |
127 private native void nativeRequestRestoreLoad(long nativeNavigationController
Android); | 212 private native void nativeRequestRestoreLoad(long nativeNavigationController
Android); |
128 private native boolean nativeCanGoToOffset( | 213 private native boolean nativeCanGoToOffset( |
129 long nativeNavigationControllerAndroid, int offset); | 214 long nativeNavigationControllerAndroid, int offset); |
130 private native void nativeGoBack(long nativeNavigationControllerAndroid); | 215 private native void nativeGoBack(long nativeNavigationControllerAndroid); |
131 private native void nativeGoForward(long nativeNavigationControllerAndroid); | 216 private native void nativeGoForward(long nativeNavigationControllerAndroid); |
132 private native void nativeGoToOffset(long nativeNavigationControllerAndroid,
int offset); | 217 private native void nativeGoToOffset(long nativeNavigationControllerAndroid,
int offset); |
133 private native void nativeGoToNavigationIndex( | 218 private native void nativeGoToNavigationIndex( |
134 long nativeNavigationControllerAndroid, int index); | 219 long nativeNavigationControllerAndroid, int index); |
135 private native void nativeCancelPendingReload(long nativeNavigationControlle
rAndroid); | 220 private native void nativeCancelPendingReload(long nativeNavigationControlle
rAndroid); |
136 private native void nativeContinuePendingReload(long nativeNavigationControl
lerAndroid); | 221 private native void nativeContinuePendingReload(long nativeNavigationControl
lerAndroid); |
137 private native void nativeReload(long nativeNavigationControllerAndroid, | 222 private native void nativeReload(long nativeNavigationControllerAndroid, |
138 boolean checkForRepost); | 223 boolean checkForRepost); |
139 private native void nativeReloadIgnoringCache(long nativeNavigationControlle
rAndroid, | 224 private native void nativeReloadIgnoringCache(long nativeNavigationControlle
rAndroid, |
140 boolean checkForRepost); | 225 boolean checkForRepost); |
| 226 private native void nativeLoadUrl( |
| 227 long nativeNavigationControllerAndroid, |
| 228 String url, |
| 229 int loadUrlType, |
| 230 int transitionType, |
| 231 String referrerUrl, |
| 232 int referrerPolicy, |
| 233 int uaOverrideOption, |
| 234 String extraHeaders, |
| 235 byte[] postData, |
| 236 String baseUrlForDataUrl, |
| 237 String virtualUrlForDataUrl, |
| 238 boolean canLoadLocalResources, |
| 239 boolean isRendererInitiated); |
| 240 private native void nativeClearHistory(long nativeNavigationControllerAndroi
d); |
| 241 private native int nativeGetNavigationHistory(long nativeNavigationControlle
rAndroid, |
| 242 Object history); |
| 243 private native void nativeGetDirectedNavigationHistory(long nativeNavigation
ControllerAndroid, |
| 244 NavigationHistory history, boolean isForward, int itemLimit); |
| 245 private native String nativeGetOriginalUrlForVisibleNavigationEntry( |
| 246 long nativeNavigationControllerAndroid); |
| 247 private native void nativeClearSslPreferences(long nativeNavigationControlle
rAndroid); |
| 248 private native boolean nativeGetUseDesktopUserAgent(long nativeNavigationCon
trollerAndroid); |
| 249 private native void nativeSetUseDesktopUserAgent(long nativeNavigationContro
llerAndroid, |
| 250 boolean override, boolean reloadOnChange); |
141 } | 251 } |
OLD | NEW |