OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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; | 5 package org.chromium.content.browser; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.app.Activity; | 8 import android.app.Activity; |
9 import android.app.SearchManager; | 9 import android.app.SearchManager; |
10 import android.content.ContentResolver; | 10 import android.content.ContentResolver; |
(...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
869 } | 869 } |
870 | 870 |
871 /** | 871 /** |
872 * Load url without fixing up the url string. Consumers of ContentView are r esponsible for | 872 * Load url without fixing up the url string. Consumers of ContentView are r esponsible for |
873 * ensuring the URL passed in is properly formatted (i.e. the scheme has bee n added if left | 873 * ensuring the URL passed in is properly formatted (i.e. the scheme has bee n added if left |
874 * off during user input). | 874 * off during user input). |
875 * | 875 * |
876 * @param params Parameters for this load. | 876 * @param params Parameters for this load. |
877 */ | 877 */ |
878 public void loadUrl(LoadUrlParams params) { | 878 public void loadUrl(LoadUrlParams params) { |
879 if (mNativeContentViewCore == 0) return; | 879 assert mWebContents != null; |
880 | 880 mWebContents.getNavigationController().loadUrl(params); |
881 nativeLoadUrl(mNativeContentViewCore, | |
882 params.mUrl, | |
883 params.mLoadUrlType, | |
884 params.mTransitionType, | |
885 params.getReferrer() != null ? params.getReferrer().getUrl() : n ull, | |
886 params.getReferrer() != null ? params.getReferrer().getPolicy() : 0, | |
887 params.mUaOverrideOption, | |
888 params.getExtraHeadersString(), | |
889 params.mPostData, | |
890 params.mBaseUrlForDataUrl, | |
891 params.mVirtualUrlForDataUrl, | |
892 params.mCanLoadLocalResources, | |
893 params.mIsRendererInitiated); | |
894 } | 881 } |
895 | 882 |
896 /** | 883 /** |
897 * Stops loading the current web contents. | 884 * Stops loading the current web contents. |
898 */ | 885 */ |
899 public void stopLoading() { | 886 public void stopLoading() { |
900 if (mWebContents != null) mWebContents.stop(); | 887 if (mWebContents != null) mWebContents.stop(); |
901 } | 888 } |
902 | 889 |
903 /** | 890 /** |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1094 */ | 1081 */ |
1095 public void continuePendingReload() { | 1082 public void continuePendingReload() { |
1096 if (mWebContents != null) mWebContents.getNavigationController().continu ePendingReload(); | 1083 if (mWebContents != null) mWebContents.getNavigationController().continu ePendingReload(); |
1097 } | 1084 } |
1098 | 1085 |
1099 /** | 1086 /** |
1100 * Clears the ContentViewCore's page history in both the backwards and | 1087 * Clears the ContentViewCore's page history in both the backwards and |
1101 * forwards directions. | 1088 * forwards directions. |
1102 */ | 1089 */ |
1103 public void clearHistory() { | 1090 public void clearHistory() { |
1104 if (mNativeContentViewCore != 0) nativeClearHistory(mNativeContentViewCo re); | 1091 assert mWebContents != null; |
1092 mWebContents.getNavigationController().clearHistory(); | |
1105 } | 1093 } |
1106 | 1094 |
1107 /** | 1095 /** |
1108 * @return The selected text (empty if no text selected). | 1096 * @return The selected text (empty if no text selected). |
1109 */ | 1097 */ |
1110 public String getSelectedText() { | 1098 public String getSelectedText() { |
1111 return mHasSelection ? mLastSelectedText : ""; | 1099 return mHasSelection ? mLastSelectedText : ""; |
1112 } | 1100 } |
1113 | 1101 |
1114 /** | 1102 /** |
(...skipping 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2241 mUnselectAllOnActionModeDismiss = true; | 2229 mUnselectAllOnActionModeDismiss = true; |
2242 if (mActionMode == null) { | 2230 if (mActionMode == null) { |
2243 // There is no ActionMode, so remove the selection. | 2231 // There is no ActionMode, so remove the selection. |
2244 mImeAdapter.unselect(); | 2232 mImeAdapter.unselect(); |
2245 } else { | 2233 } else { |
2246 getContentViewClient().onContextualActionBarShown(); | 2234 getContentViewClient().onContextualActionBarShown(); |
2247 } | 2235 } |
2248 } | 2236 } |
2249 | 2237 |
2250 public boolean getUseDesktopUserAgent() { | 2238 public boolean getUseDesktopUserAgent() { |
2251 if (mNativeContentViewCore != 0) { | 2239 assert mWebContents != null; |
2252 return nativeGetUseDesktopUserAgent(mNativeContentViewCore); | 2240 return mWebContents.getNavigationController().getUseDesktopUserAgent(); |
2253 } | |
2254 return false; | |
2255 } | 2241 } |
2256 | 2242 |
2257 /** | 2243 /** |
2258 * Set whether or not we're using a desktop user agent for the currently loa ded page. | 2244 * Set whether or not we're using a desktop user agent for the currently loa ded page. |
2259 * @param override If true, use a desktop user agent. Use a mobile one othe rwise. | 2245 * @param override If true, use a desktop user agent. Use a mobile one othe rwise. |
2260 * @param reloadOnChange Reload the page if the UA has changed. | 2246 * @param reloadOnChange Reload the page if the UA has changed. |
2261 */ | 2247 */ |
2262 public void setUseDesktopUserAgent(boolean override, boolean reloadOnChange) { | 2248 public void setUseDesktopUserAgent(boolean override, boolean reloadOnChange) { |
2263 if (mNativeContentViewCore != 0) { | 2249 assert mWebContents != null; |
Yaron
2014/07/22 20:49:06
Sadly, I think this one can happen, which would be
Ted C
2014/07/23 00:04:22
A CVC should always have a WebContents (unless des
| |
2264 nativeSetUseDesktopUserAgent(mNativeContentViewCore, override, reloa dOnChange); | 2250 mWebContents.getNavigationController().setUseDesktopUserAgent(override, |
2265 } | 2251 reloadOnChange); |
2266 } | 2252 } |
2267 | 2253 |
2268 public void clearSslPreferences() { | 2254 public void clearSslPreferences() { |
2269 if (mNativeContentViewCore != 0) nativeClearSslPreferences(mNativeConten tViewCore); | 2255 assert mWebContents != null; |
2256 mWebContents.getNavigationController().clearSslPreferences(); | |
2270 } | 2257 } |
2271 | 2258 |
2272 private boolean isSelectionHandleShowing() { | 2259 private boolean isSelectionHandleShowing() { |
2273 return mSelectionHandleController != null && mSelectionHandleController. isShowing(); | 2260 return mSelectionHandleController != null && mSelectionHandleController. isShowing(); |
2274 } | 2261 } |
2275 | 2262 |
2276 private boolean isInsertionHandleShowing() { | 2263 private boolean isInsertionHandleShowing() { |
2277 return mInsertionHandleController != null && mInsertionHandleController. isShowing(); | 2264 return mInsertionHandleController != null && mInsertionHandleController. isShowing(); |
2278 } | 2265 } |
2279 | 2266 |
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3078 * @param animate Whether the transition should be animated or not. | 3065 * @param animate Whether the transition should be animated or not. |
3079 */ | 3066 */ |
3080 public void updateTopControlsState(boolean enableHiding, boolean enableShowi ng, | 3067 public void updateTopControlsState(boolean enableHiding, boolean enableShowi ng, |
3081 boolean animate) { | 3068 boolean animate) { |
3082 assert mWebContents != null; | 3069 assert mWebContents != null; |
3083 mWebContents.updateTopControlsState( | 3070 mWebContents.updateTopControlsState( |
3084 enableHiding, enableShowing, animate); | 3071 enableHiding, enableShowing, animate); |
3085 } | 3072 } |
3086 | 3073 |
3087 /** | 3074 /** |
3088 * Callback factory method for nativeGetNavigationHistory(). | |
3089 */ | |
3090 @CalledByNative | |
3091 private void addToNavigationHistory(Object history, int index, String url, S tring virtualUrl, | |
3092 String originalUrl, String title, Bitmap favicon) { | |
3093 NavigationEntry entry = new NavigationEntry( | |
3094 index, url, virtualUrl, originalUrl, title, favicon); | |
3095 ((NavigationHistory) history).addEntry(entry); | |
3096 } | |
3097 | |
3098 /** | |
3099 * Get a copy of the navigation history of the view. | 3075 * Get a copy of the navigation history of the view. |
3100 */ | 3076 */ |
3101 public NavigationHistory getNavigationHistory() { | 3077 public NavigationHistory getNavigationHistory() { |
3102 NavigationHistory history = new NavigationHistory(); | 3078 assert mWebContents != null; |
3103 if (mNativeContentViewCore != 0) { | 3079 return mWebContents.getNavigationController().getNavigationHistory(); |
3104 int currentIndex = nativeGetNavigationHistory(mNativeContentViewCore , history); | |
3105 history.setCurrentEntryIndex(currentIndex); | |
3106 } | |
3107 return history; | |
3108 } | 3080 } |
3109 | 3081 |
3110 @Override | 3082 @Override |
3111 public NavigationHistory getDirectedNavigationHistory(boolean isForward, int itemLimit) { | 3083 public NavigationHistory getDirectedNavigationHistory(boolean isForward, int itemLimit) { |
3084 assert mWebContents != null; | |
3112 NavigationHistory history = new NavigationHistory(); | 3085 NavigationHistory history = new NavigationHistory(); |
3113 if (mNativeContentViewCore != 0) { | 3086 mWebContents.getNavigationController().getDirectedNavigationHistory( |
3114 nativeGetDirectedNavigationHistory( | 3087 isForward, itemLimit); |
3115 mNativeContentViewCore, history, isForward, itemLimit); | |
3116 } | |
3117 return history; | 3088 return history; |
3118 } | 3089 } |
3119 | 3090 |
3120 /** | 3091 /** |
3121 * @return The original request URL for the current navigation entry, or nul l if there is no | 3092 * @return The original request URL for the current navigation entry, or nul l if there is no |
3122 * current entry. | 3093 * current entry. |
3123 */ | 3094 */ |
3124 public String getOriginalUrlForActiveNavigationEntry() { | 3095 public String getOriginalUrlForActiveNavigationEntry() { |
3125 if (mNativeContentViewCore != 0) { | 3096 assert mWebContents != null; |
3126 return nativeGetOriginalUrlForActiveNavigationEntry(mNativeContentVi ewCore); | 3097 return mWebContents.getNavigationController(). |
3127 } | 3098 getOriginalUrlForActiveNavigationEntry(); |
3128 return ""; | |
3129 } | 3099 } |
3130 | 3100 |
3131 /** | 3101 /** |
3132 * @return The cached copy of render positions and scales. | 3102 * @return The cached copy of render positions and scales. |
3133 */ | 3103 */ |
3134 public RenderCoordinates getRenderCoordinates() { | 3104 public RenderCoordinates getRenderCoordinates() { |
3135 return mRenderCoordinates; | 3105 return mRenderCoordinates; |
3136 } | 3106 } |
3137 | 3107 |
3138 @CalledByNative | 3108 @CalledByNative |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3255 | 3225 |
3256 @CalledByNative | 3226 @CalledByNative |
3257 private boolean isFullscreenRequiredForOrientationLock() { | 3227 private boolean isFullscreenRequiredForOrientationLock() { |
3258 return mFullscreenRequiredForOrientationLock; | 3228 return mFullscreenRequiredForOrientationLock; |
3259 } | 3229 } |
3260 | 3230 |
3261 private native WebContents nativeGetWebContentsAndroid(long nativeContentVie wCoreImpl); | 3231 private native WebContents nativeGetWebContentsAndroid(long nativeContentVie wCoreImpl); |
3262 | 3232 |
3263 private native void nativeOnJavaContentViewCoreDestroyed(long nativeContentV iewCoreImpl); | 3233 private native void nativeOnJavaContentViewCoreDestroyed(long nativeContentV iewCoreImpl); |
3264 | 3234 |
3265 private native void nativeLoadUrl( | |
3266 long nativeContentViewCoreImpl, | |
3267 String url, | |
3268 int loadUrlType, | |
3269 int transitionType, | |
3270 String referrerUrl, | |
3271 int referrerPolicy, | |
3272 int uaOverrideOption, | |
3273 String extraHeaders, | |
3274 byte[] postData, | |
3275 String baseUrlForDataUrl, | |
3276 String virtualUrlForDataUrl, | |
3277 boolean canLoadLocalResources, | |
3278 boolean isRendererInitiated); | |
3279 | |
3280 private native String nativeGetURL(long nativeContentViewCoreImpl); | 3235 private native String nativeGetURL(long nativeContentViewCoreImpl); |
3281 | 3236 |
3282 private native boolean nativeIsIncognito(long nativeContentViewCoreImpl); | 3237 private native boolean nativeIsIncognito(long nativeContentViewCoreImpl); |
3283 | 3238 |
3284 private native void nativeSetFocus(long nativeContentViewCoreImpl, boolean f ocused); | 3239 private native void nativeSetFocus(long nativeContentViewCoreImpl, boolean f ocused); |
3285 | 3240 |
3286 private native void nativeSendOrientationChangeEvent( | 3241 private native void nativeSendOrientationChangeEvent( |
3287 long nativeContentViewCoreImpl, int orientation); | 3242 long nativeContentViewCoreImpl, int orientation); |
3288 | 3243 |
3289 // All touch events (including flings, scrolls etc) accept coordinates in ph ysical pixels. | 3244 // All touch events (including flings, scrolls etc) accept coordinates in ph ysical pixels. |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3340 private native void nativeMoveCaret(long nativeContentViewCoreImpl, float x, float y); | 3295 private native void nativeMoveCaret(long nativeContentViewCoreImpl, float x, float y); |
3341 | 3296 |
3342 private native void nativeResetGestureDetection(long nativeContentViewCoreIm pl); | 3297 private native void nativeResetGestureDetection(long nativeContentViewCoreIm pl); |
3343 private native void nativeSetDoubleTapSupportEnabled( | 3298 private native void nativeSetDoubleTapSupportEnabled( |
3344 long nativeContentViewCoreImpl, boolean enabled); | 3299 long nativeContentViewCoreImpl, boolean enabled); |
3345 private native void nativeSetMultiTouchZoomSupportEnabled( | 3300 private native void nativeSetMultiTouchZoomSupportEnabled( |
3346 long nativeContentViewCoreImpl, boolean enabled); | 3301 long nativeContentViewCoreImpl, boolean enabled); |
3347 | 3302 |
3348 private native void nativeSelectPopupMenuItems(long nativeContentViewCoreImp l, int[] indices); | 3303 private native void nativeSelectPopupMenuItems(long nativeContentViewCoreImp l, int[] indices); |
3349 | 3304 |
3350 private native void nativeClearHistory(long nativeContentViewCoreImpl); | |
3351 | |
3352 private native void nativeEvaluateJavaScript(long nativeContentViewCoreImpl, | 3305 private native void nativeEvaluateJavaScript(long nativeContentViewCoreImpl, |
3353 String script, JavaScriptCallback callback, boolean startRenderer); | 3306 String script, JavaScriptCallback callback, boolean startRenderer); |
3354 | 3307 |
3355 private native void nativePostMessageToFrame(long nativeContentViewCoreImpl, String frameId, | 3308 private native void nativePostMessageToFrame(long nativeContentViewCoreImpl, String frameId, |
3356 String message, String sourceOrigin, String targetOrigin); | 3309 String message, String sourceOrigin, String targetOrigin); |
3357 | 3310 |
3358 private native long nativeGetNativeImeAdapter(long nativeContentViewCoreImpl ); | 3311 private native long nativeGetNativeImeAdapter(long nativeContentViewCoreImpl ); |
3359 | 3312 |
3360 private native int nativeGetCurrentRenderProcessId(long nativeContentViewCor eImpl); | 3313 private native int nativeGetCurrentRenderProcessId(long nativeContentViewCor eImpl); |
3361 | 3314 |
3362 private native void nativeSetUseDesktopUserAgent(long nativeContentViewCoreI mpl, | |
3363 boolean enabled, boolean reloadOnChange); | |
3364 private native boolean nativeGetUseDesktopUserAgent(long nativeContentViewCo reImpl); | |
3365 | |
3366 private native void nativeClearSslPreferences(long nativeContentViewCoreImpl ); | |
3367 | |
3368 private native void nativeSetAllowJavascriptInterfacesInspection( | 3315 private native void nativeSetAllowJavascriptInterfacesInspection( |
3369 long nativeContentViewCoreImpl, boolean allow); | 3316 long nativeContentViewCoreImpl, boolean allow); |
3370 | 3317 |
3371 private native void nativeAddJavascriptInterface(long nativeContentViewCoreI mpl, Object object, | 3318 private native void nativeAddJavascriptInterface(long nativeContentViewCoreI mpl, Object object, |
3372 String name, Class requiredAnnotation); | 3319 String name, Class requiredAnnotation); |
3373 | 3320 |
3374 private native void nativeRemoveJavascriptInterface(long nativeContentViewCo reImpl, | 3321 private native void nativeRemoveJavascriptInterface(long nativeContentViewCo reImpl, |
3375 String name); | 3322 String name); |
3376 | 3323 |
3377 private native int nativeGetNavigationHistory(long nativeContentViewCoreImpl , Object context); | |
3378 private native void nativeGetDirectedNavigationHistory(long nativeContentVie wCoreImpl, | |
3379 Object context, boolean isForward, int maxEntries); | |
3380 private native String nativeGetOriginalUrlForActiveNavigationEntry( | |
3381 long nativeContentViewCoreImpl); | |
3382 | |
3383 private native void nativeWasResized(long nativeContentViewCoreImpl); | 3324 private native void nativeWasResized(long nativeContentViewCoreImpl); |
3384 | 3325 |
3385 private native void nativeSetAccessibilityEnabled( | 3326 private native void nativeSetAccessibilityEnabled( |
3386 long nativeContentViewCoreImpl, boolean enabled); | 3327 long nativeContentViewCoreImpl, boolean enabled); |
3387 | 3328 |
3388 private native void nativeExtractSmartClipData(long nativeContentViewCoreImp l, | 3329 private native void nativeExtractSmartClipData(long nativeContentViewCoreImp l, |
3389 int x, int y, int w, int h); | 3330 int x, int y, int w, int h); |
3390 private native void nativeSetBackgroundOpaque(long nativeContentViewCoreImpl , boolean opaque); | 3331 private native void nativeSetBackgroundOpaque(long nativeContentViewCoreImpl , boolean opaque); |
3391 | 3332 |
3392 private native void nativeResumeResponseDeferredAtStart( | 3333 private native void nativeResumeResponseDeferredAtStart( |
3393 long nativeContentViewCoreImpl); | 3334 long nativeContentViewCoreImpl); |
3394 private native void nativeSetHasPendingNavigationTransitionForTesting( | 3335 private native void nativeSetHasPendingNavigationTransitionForTesting( |
3395 long nativeContentViewCoreImpl); | 3336 long nativeContentViewCoreImpl); |
3396 } | 3337 } |
OLD | NEW |