diff options
author | mkosiba <mkosiba@chromium.org> | 2015-01-12 11:53:57 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-12 19:54:57 +0000 |
commit | e890fe3c07256d41c2533cd5d5d7268752d2e2c2 (patch) | |
tree | fe5e45815586b7c9afeb02e04ff4f747572d0a91 | |
parent | 8b51af8017e02cb46a17bff0980bebf973a23790 (diff) | |
download | chromium_src-e890fe3c07256d41c2533cd5d5d7268752d2e2c2.zip chromium_src-e890fe3c07256d41c2533cd5d5d7268752d2e2c2.tar.gz chromium_src-e890fe3c07256d41c2533cd5d5d7268752d2e2c2.tar.bz2 |
Don't initialize C++ constants in Java during JNI registration.
This removes code which would perform one-time constant initialization
during JNI registration. This is needed for the WebView which will
use lazy JNI registration and not call these methods at all.
BUG=436083
Review URL: https://codereview.chromium.org/834133004
Cr-Commit-Position: refs/heads/master@{#311089}
12 files changed, 79 insertions, 150 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java index 3ee10de..4d80be7 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java @@ -59,6 +59,8 @@ import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.NavigationController; import org.chromium.content_public.browser.NavigationHistory; import org.chromium.content_public.browser.WebContents; +import org.chromium.content_public.browser.navigation_controller.LoadURLType; +import org.chromium.content_public.browser.navigation_controller.UserAgentOverrideOption; import org.chromium.content_public.common.Referrer; import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.PageTransition; @@ -1151,8 +1153,7 @@ public class AwContents implements SmartClipProvider { public void loadUrl(LoadUrlParams params) { if (isDestroyed()) return; - if (params.getLoadUrlType() == LoadUrlParams.LOAD_TYPE_DATA - && !params.isBaseUrlDataScheme()) { + if (params.getLoadUrlType() == LoadURLType.DATA && !params.isBaseUrlDataScheme()) { // This allows data URLs with a non-data base URL access to file:///android_asset/ and // file:///android_res/ URLs. If AwSettings.getAllowFileAccess permits, it will also // allow access to file:// URLs (subject to OS level permission checks). @@ -1170,7 +1171,7 @@ public class AwContents implements SmartClipProvider { // For WebView, always use the user agent override, which is set // every time the user agent in AwSettings is modified. - params.setOverrideUserAgent(LoadUrlParams.UA_OVERRIDE_TRUE); + params.setOverrideUserAgent(UserAgentOverrideOption.TRUE); // We don't pass extra headers to the content layer, as WebViewClassic @@ -1203,8 +1204,7 @@ public class AwContents implements SmartClipProvider { requestVisitedHistoryFromClient(); } - if (params.getLoadUrlType() == LoadUrlParams.LOAD_TYPE_DATA - && params.getBaseUrl() != null) { + if (params.getLoadUrlType() == LoadURLType.DATA && params.getBaseUrl() != null) { // Data loads with a base url will be resolved in Blink, and not cause an onPageStarted // event to be sent. Sending the callback directly from here. mContentsClient.getCallbackHelper().postOnPageStarted(params.getBaseUrl()); diff --git a/android_webview/java_library_common.mk b/android_webview/java_library_common.mk index 0334598..ee38951 100644 --- a/android_webview/java_library_common.mk +++ b/android_webview/java_library_common.mk @@ -54,6 +54,8 @@ $(call intermediates-dir-for,GYP,shared)/enums/network_change_notifier_types_jav $(call intermediates-dir-for,GYP,shared)/enums/content_gamepad_mapping/org/chromium/content/browser/input/CanonicalAxisIndex.java \ $(call intermediates-dir-for,GYP,shared)/enums/content_gamepad_mapping/org/chromium/content/browser/input/CanonicalButtonIndex.java \ $(call intermediates-dir-for,GYP,shared)/enums/gesture_event_type_java/org/chromium/content/browser/GestureEventType.java \ +$(call intermediates-dir-for,GYP,shared)/enums/navigation_controller_java/org/chromium/content_public/browser/navigation_controller/LoadURLType.java \ +$(call intermediates-dir-for,GYP,shared)/enums/navigation_controller_java/org/chromium/content_public/browser/navigation_controller/UserAgentOverrideOption.java \ $(call intermediates-dir-for,GYP,shared)/enums/popup_item_type_java/org/chromium/content/browser/input/PopupItemType.java \ $(call intermediates-dir-for,GYP,shared)/enums/private_key_types_java/org/chromium/net/PrivateKeyType.java \ $(call intermediates-dir-for,GYP,shared)/enums/result_codes_java/org/chromium/content_public/common/ResultCode.java \ @@ -71,6 +73,9 @@ $(call intermediates-dir-for,GYP,shared)/enums/system_ui_resource_type_java/org/ $(call intermediates-dir-for,GYP,shared)/enums/text_input_type_java/org/chromium/ui/base/ime/TextInputType.java \ $(call intermediates-dir-for,GYP,shared)/enums/touch_device_types_java/org/chromium/ui/base/HoverType.java \ $(call intermediates-dir-for,GYP,shared)/enums/touch_device_types_java/org/chromium/ui/base/PointerType.java \ +$(call intermediates-dir-for,GYP,shared)/enums/web_input_event_java/org/chromium/blink_public/web/WebInputEventModifier.java \ +$(call intermediates-dir-for,GYP,shared)/enums/web_input_event_java/org/chromium/blink_public/web/WebInputEventType.java \ +$(call intermediates-dir-for,GYP,shared)/enums/web_text_input_type/org/chromium/blink_public/web/WebTextInputFlags.java \ $(call intermediates-dir-for,GYP,shared)/templates/net_errors_java/org/chromium/net/NetError.java \ $(call intermediates-dir-for,GYP,shared)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryMonitor.java \ $(call intermediates-dir-for,GYP,shared)/java_mojo/device_battery_mojo_bindings/src/org/chromium/mojom/device/BatteryMonitor_Internal.java \ diff --git a/android_webview/libwebviewchromium.gypi b/android_webview/libwebviewchromium.gypi index 49a2ef0..b082f12 100644 --- a/android_webview/libwebviewchromium.gypi +++ b/android_webview/libwebviewchromium.gypi @@ -18,6 +18,7 @@ '../base/base.gyp:base_java_memory_pressure_level', '../content/content.gyp:content_gamepad_mapping', '../content/content.gyp:gesture_event_type_java', + '../content/content.gyp:navigation_controller_java', '../content/content.gyp:popup_item_type_java', '../content/content.gyp:result_codes_java', '../content/content.gyp:screen_orientation_values_java', @@ -29,6 +30,8 @@ '../net/net.gyp:network_change_notifier_types_java', '../net/net.gyp:net_errors_java', '../net/net.gyp:private_key_types_java', + '../third_party/WebKit/public/blink_headers.gyp:web_input_event_java', + '../third_party/WebKit/public/blink_headers.gyp:web_text_input_type', '../ui/android/ui_android.gyp:android_resource_type_java', '../ui/android/ui_android.gyp:bitmap_format_java', '../ui/android/ui_android.gyp:page_transition_types_java', diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc index 358d7a1..85dc0b1 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc @@ -109,8 +109,7 @@ jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyUnreachable( // static bool DataReductionProxySettingsAndroid::Register(JNIEnv* env) { - bool register_natives_impl_result = RegisterNativesImpl(env); - return register_natives_impl_result; + return RegisterNativesImpl(env); } ScopedJavaLocalRef<jlongArray> diff --git a/content/browser/android/load_url_params.cc b/content/browser/android/load_url_params.cc index d276622..67802ea 100644 --- a/content/browser/android/load_url_params.cc +++ b/content/browser/android/load_url_params.cc @@ -12,29 +12,10 @@ #include "jni/LoadUrlParams_jni.h" #include "url/gurl.h" -namespace { - -using content::NavigationController; - -void RegisterConstants(JNIEnv* env) { - Java_LoadUrlParams_initializeConstants(env, - NavigationController::LOAD_TYPE_DEFAULT, - NavigationController::LOAD_TYPE_BROWSER_INITIATED_HTTP_POST, - NavigationController::LOAD_TYPE_DATA, - NavigationController::UA_OVERRIDE_INHERIT, - NavigationController::UA_OVERRIDE_FALSE, - NavigationController::UA_OVERRIDE_TRUE); -} - -} // namespace - namespace content { bool RegisterLoadUrlParams(JNIEnv* env) { - if (!RegisterNativesImpl(env)) - return false; - RegisterConstants(env); - return true; + return RegisterNativesImpl(env); } jboolean IsDataScheme(JNIEnv* env, jclass clazz, jstring jurl) { diff --git a/content/browser/renderer_host/ime_adapter_android.cc b/content/browser/renderer_host/ime_adapter_android.cc index d780d0c..ac820f5 100644 --- a/content/browser/renderer_host/ime_adapter_android.cc +++ b/content/browser/renderer_host/ime_adapter_android.cc @@ -66,27 +66,7 @@ NativeWebKeyboardEvent NativeWebKeyboardEventFromKeyEvent( } // anonymous namespace bool RegisterImeAdapter(JNIEnv* env) { - if (!RegisterNativesImpl(env)) - return false; - - Java_ImeAdapter_initializeWebInputEvents(env, - blink::WebInputEvent::RawKeyDown, - blink::WebInputEvent::KeyUp, - blink::WebInputEvent::Char, - blink::WebInputEvent::ShiftKey, - blink::WebInputEvent::AltKey, - blink::WebInputEvent::ControlKey, - blink::WebInputEvent::CapsLockOn, - blink::WebInputEvent::NumLockOn); - Java_ImeAdapter_initializeTextInputFlags( - env, - blink::WebTextInputFlagAutocompleteOn, - blink::WebTextInputFlagAutocompleteOff, - blink::WebTextInputFlagAutocorrectOn, - blink::WebTextInputFlagAutocorrectOff, - blink::WebTextInputFlagSpellcheckOn, - blink::WebTextInputFlagSpellcheckOff); - return true; + return RegisterNativesImpl(env); } // Callback from Java to convert BackgroundColorSpan data to a diff --git a/content/content.gyp b/content/content.gyp index 0e91372..55a76b1 100644 --- a/content/content.gyp +++ b/content/content.gyp @@ -436,11 +436,13 @@ '../net/net.gyp:net', '../ui/android/ui_android.gyp:ui_java', '../ui/touch_selection/ui_touch_selection.gyp:selection_event_type_java', + '../third_party/WebKit/public/blink_headers.gyp:blink_headers_java', 'common_aidl', 'content_common', 'content_strings_grd', 'content_gamepad_mapping', 'gesture_event_type_java', + 'navigation_controller_java', 'popup_item_type_java', 'result_codes_java', 'speech_recognition_error_java', @@ -484,6 +486,14 @@ 'includes': [ '../build/android/java_cpp_enum.gypi' ], }, { + 'target_name': 'navigation_controller_java', + 'type': 'none', + 'variables': { + 'source_file': 'public/browser/navigation_controller.h', + }, + 'includes': [ '../build/android/java_cpp_enum.gypi' ], + }, + { 'target_name': 'popup_item_type_java', 'type': 'none', 'variables': { diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn index 54497d9..f183202 100644 --- a/content/public/android/BUILD.gn +++ b/content/public/android/BUILD.gn @@ -41,6 +41,7 @@ android_library("content_java") { "//net/android:net_java", "//ui/android:ui_java", "//third_party/jsr-305:jsr_305_javalib", + "//third_party/WebKit/public:blink_headers_java", #"//content:content_common", ] @@ -109,6 +110,7 @@ java_cpp_enum("content_public_android_java_enums_srcjar") { "//content/browser/android/content_view_core_impl.cc", "//content/browser/android/gesture_event_type.h", "//content/browser/gamepad/gamepad_standard_mappings.h", + "//content/public/browser/navigation_controller.h", "//content/public/common/result_codes.h", "//content/public/common/screen_orientation_values.h", "//content/public/common/speech_recognition_error.h", @@ -119,6 +121,8 @@ java_cpp_enum("content_public_android_java_enums_srcjar") { "org/chromium/content/browser/input/CanonicalAxisIndex.java", "org/chromium/content/browser/input/CanonicalButtonIndex.java", "org/chromium/content/browser/input/PopupItemType.java", + "org/chromium/content_public/browser/navigation_controller/LoadURLType.java", + "org/chromium/content_public/browser/navigation_controller/UserAgentOverrideOption.java", "org/chromium/content_public/common/ResultCode.java", "org/chromium/content_public/common/ScreenOrientationValues.java", "org/chromium/content_public/common/SpeechRecognitionErrorCode.java", diff --git a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java index 600af68..249a37b 100644 --- a/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java +++ b/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java @@ -19,6 +19,8 @@ import android.view.inputmethod.ExtractedText; import android.view.inputmethod.ExtractedTextRequest; import org.chromium.base.VisibleForTesting; +import org.chromium.blink_public.web.WebInputEventType; +import org.chromium.blink_public.web.WebTextInputFlags; import org.chromium.ui.base.ime.TextInputType; /** @@ -69,14 +71,14 @@ public class AdapterInputConnection extends BaseInputConnection { int inputType = imeAdapter.getTextInputType(); int inputFlags = imeAdapter.getTextInputFlags(); - if ((inputFlags & ImeAdapter.sTextInputFlagAutocompleteOff) != 0) { + if ((inputFlags & WebTextInputFlags.AutocompleteOff) != 0) { outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS; } if (inputType == TextInputType.TEXT) { // Normal text field outAttrs.imeOptions |= EditorInfo.IME_ACTION_GO; - if ((inputFlags & ImeAdapter.sTextInputFlagAutocorrectOff) == 0) { + if ((inputFlags & WebTextInputFlags.AutocorrectOff) == 0) { outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT; } } else if (inputType == TextInputType.TEXT_AREA @@ -84,7 +86,7 @@ public class AdapterInputConnection extends BaseInputConnection { // TextArea or contenteditable. outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE | EditorInfo.TYPE_TEXT_FLAG_CAP_SENTENCES; - if ((inputFlags & ImeAdapter.sTextInputFlagAutocorrectOff) == 0) { + if ((inputFlags & WebTextInputFlags.AutocorrectOff) == 0) { outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT; } outAttrs.imeOptions |= EditorInfo.IME_ACTION_NONE; @@ -269,7 +271,7 @@ public class AdapterInputConnection extends BaseInputConnection { // Send TAB key event long timeStampMs = SystemClock.uptimeMillis(); mImeAdapter.sendSyntheticKeyEvent( - ImeAdapter.sEventTypeRawKeyDown, timeStampMs, KeyEvent.KEYCODE_TAB, 0, 0); + WebInputEventType.RawKeyDown, timeStampMs, KeyEvent.KEYCODE_TAB, 0, 0); } else { mImeAdapter.sendKeyEventWithKeyCode(KeyEvent.KEYCODE_ENTER, KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE @@ -366,10 +368,10 @@ public class AdapterInputConnection extends BaseInputConnection { boolean result = true; if (keyCode == KeyEvent.KEYCODE_UNKNOWN) { result = mImeAdapter.sendSyntheticKeyEvent( - ImeAdapter.sEventTypeRawKeyDown, SystemClock.uptimeMillis(), keyCode, 0, 0); + WebInputEventType.RawKeyDown, SystemClock.uptimeMillis(), keyCode, 0, 0); result &= mImeAdapter.deleteSurroundingText(beforeLength, afterLength); result &= mImeAdapter.sendSyntheticKeyEvent( - ImeAdapter.sEventTypeKeyUp, SystemClock.uptimeMillis(), keyCode, 0, 0); + WebInputEventType.KeyUp, SystemClock.uptimeMillis(), keyCode, 0, 0); } else { mImeAdapter.sendKeyEventWithKeyCode( keyCode, KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE); diff --git a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java index 3d81e1e..f787931 100644 --- a/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java +++ b/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java @@ -20,6 +20,9 @@ import android.view.inputmethod.EditorInfo; import org.chromium.base.CalledByNative; import org.chromium.base.JNINamespace; import org.chromium.base.VisibleForTesting; +import org.chromium.blink_public.web.WebInputEventModifier; +import org.chromium.blink_public.web.WebInputEventType; +import org.chromium.blink_public.web.WebTextInputFlags; import org.chromium.ui.base.ime.TextInputType; import org.chromium.ui.picker.InputDialogContainer; @@ -89,7 +92,7 @@ public class ImeAdapter { @Override public void run() { if (mNativeImeAdapter != 0) { - attach(mNativeImeAdapter, TextInputType.NONE, sTextInputFlagNone); + attach(mNativeImeAdapter, TextInputType.NONE, WebTextInputFlags.None); } dismissInput(true); } @@ -104,23 +107,6 @@ public class ImeAdapter { // letting the user perceiving important delays. private static final int INPUT_DISMISS_DELAY = 150; - // All the constants that are retrieved from the C++ code. - // They get set through initializeWebInputEvents and initializeTextInputTypes calls. - static int sEventTypeRawKeyDown; - static int sEventTypeKeyUp; - static int sEventTypeChar; - static int sTextInputFlagNone = 0; - static int sTextInputFlagAutocompleteOn; - static int sTextInputFlagAutocompleteOff; - static int sTextInputFlagAutocorrectOn; - static int sTextInputFlagAutocorrectOff; - static int sTextInputFlagSpellcheckOn; - static int sTextInputFlagSpellcheckOff; - static int sModifierShift; - static int sModifierAlt; - static int sModifierCtrl; - static int sModifierCapsLockOn; - static int sModifierNumLockOn; static char[] sSingleCharArray = new char[1]; static KeyCharacterMap sKeyCharacterMap; @@ -208,19 +194,19 @@ public class ImeAdapter { private static int getModifiers(int metaState) { int modifiers = 0; if ((metaState & KeyEvent.META_SHIFT_ON) != 0) { - modifiers |= sModifierShift; + modifiers |= WebInputEventModifier.ShiftKey; } if ((metaState & KeyEvent.META_ALT_ON) != 0) { - modifiers |= sModifierAlt; + modifiers |= WebInputEventModifier.AltKey; } if ((metaState & KeyEvent.META_CTRL_ON) != 0) { - modifiers |= sModifierCtrl; + modifiers |= WebInputEventModifier.ControlKey; } if ((metaState & KeyEvent.META_CAPS_LOCK_ON) != 0) { - modifiers |= sModifierCapsLockOn; + modifiers |= WebInputEventModifier.CapsLockOn; } if ((metaState & KeyEvent.META_NUM_LOCK_ON) != 0) { - modifiers |= sModifierNumLockOn; + modifiers |= WebInputEventModifier.NumLockOn; } return modifiers; } @@ -283,7 +269,7 @@ public class ImeAdapter { * @param nativeImeAdapter The pointer to the native ImeAdapter object. */ public void attach(long nativeImeAdapter) { - attach(nativeImeAdapter, TextInputType.NONE, sTextInputFlagNone); + attach(nativeImeAdapter, TextInputType.NONE, WebTextInputFlags.None); } private void showKeyboard() { @@ -459,7 +445,7 @@ public class ImeAdapter { // into the alternate solution should there be problems in the field. --bcwhite if (keyCode >= 0) { - nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, sEventTypeRawKeyDown, + nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, WebInputEventType.RawKeyDown, timeStampMs, keyCode, modifiers, 0); } @@ -471,7 +457,7 @@ public class ImeAdapter { } if (keyCode >= 0) { - nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, sEventTypeKeyUp, + nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, WebInputEventType.KeyUp, timeStampMs, keyCode, modifiers, 0); } @@ -615,33 +601,6 @@ public class ImeAdapter { // Calls from C++ to Java @CalledByNative - private static void initializeWebInputEvents(int eventTypeRawKeyDown, int eventTypeKeyUp, - int eventTypeChar, int modifierShift, int modifierAlt, int modifierCtrl, - int modifierCapsLockOn, int modifierNumLockOn) { - sEventTypeRawKeyDown = eventTypeRawKeyDown; - sEventTypeKeyUp = eventTypeKeyUp; - sEventTypeChar = eventTypeChar; - sModifierShift = modifierShift; - sModifierAlt = modifierAlt; - sModifierCtrl = modifierCtrl; - sModifierCapsLockOn = modifierCapsLockOn; - sModifierNumLockOn = modifierNumLockOn; - } - - @CalledByNative - private static void initializeTextInputFlags( - int textInputFlagAutocompleteOn, int textInputFlagAutocompleteOff, - int textInputFlagAutocorrectOn, int textInputFlagAutocorrectOff, - int textInputFlagSpellcheckOn, int textInputFlagSpellcheckOff) { - sTextInputFlagAutocompleteOn = textInputFlagAutocompleteOn; - sTextInputFlagAutocompleteOff = textInputFlagAutocompleteOff; - sTextInputFlagAutocorrectOn = textInputFlagAutocorrectOn; - sTextInputFlagAutocorrectOff = textInputFlagAutocorrectOff; - sTextInputFlagSpellcheckOn = textInputFlagSpellcheckOn; - sTextInputFlagSpellcheckOff = textInputFlagSpellcheckOff; - } - - @CalledByNative private void focusedNodeChanged(boolean isEditable) { if (mInputConnection != null && isEditable) mInputConnection.restartInput(); } diff --git a/content/public/android/java/src/org/chromium/content_public/browser/LoadUrlParams.java b/content/public/android/java/src/org/chromium/content_public/browser/LoadUrlParams.java index 25a9f763..4825431 100644 --- a/content/public/android/java/src/org/chromium/content_public/browser/LoadUrlParams.java +++ b/content/public/android/java/src/org/chromium/content_public/browser/LoadUrlParams.java @@ -4,8 +4,9 @@ package org.chromium.content_public.browser; -import org.chromium.base.CalledByNative; import org.chromium.base.JNINamespace; +import org.chromium.content_public.browser.navigation_controller.LoadURLType; +import org.chromium.content_public.browser.navigation_controller.UserAgentOverrideOption; import org.chromium.content_public.common.Referrer; import org.chromium.ui.base.PageTransition; @@ -19,19 +20,11 @@ import java.util.Map; */ @JNINamespace("content") public class LoadUrlParams { - // Should match NavigationController::LoadUrlType exactly. See comments - // there for proper usage. initializeConstants() checks that the values - // are correct. - public static final int LOAD_TYPE_DEFAULT = 0; - public static final int LOAD_TYPE_BROWSER_INITIATED_HTTP_POST = 1; - public static final int LOAD_TYPE_DATA = 2; - - // Should match NavigationController::UserAgentOverrideOption exactly. - // See comments there for proper usage. initializeConstants() checks that - // the values are correct. - public static final int UA_OVERRIDE_INHERIT = 0; - public static final int UA_OVERRIDE_FALSE = 1; - public static final int UA_OVERRIDE_TRUE = 2; + // These fields have been replaced by build-time generated enums and should be removed when + // no longer used downstream. + @Deprecated + public static final int LOAD_TYPE_BROWSER_INITIATED_HTTP_POST = + LoadURLType.BROWSER_INITIATED_HTTP_POST; // Fields with counterparts in NavigationController::LoadURLParams. // Package private so that ContentViewCore.loadUrl can pass them down to @@ -69,8 +62,8 @@ public class LoadUrlParams { // Initialize other fields to defaults matching defaults of the native // NavigationController::LoadUrlParams. - mLoadUrlType = LOAD_TYPE_DEFAULT; - mUaOverrideOption = UA_OVERRIDE_INHERIT; + mLoadUrlType = LoadURLType.DEFAULT; + mUaOverrideOption = UserAgentOverrideOption.INHERIT; mPostData = null; mBaseUrlForDataUrl = null; mVirtualUrlForDataUrl = null; @@ -109,7 +102,7 @@ public class LoadUrlParams { dataUrl.append(data); LoadUrlParams params = new LoadUrlParams(dataUrl.toString()); - params.setLoadType(LoadUrlParams.LOAD_TYPE_DATA); + params.setLoadType(LoadURLType.DATA); params.setTransitionType(PageTransition.TYPED); return params; } @@ -173,7 +166,7 @@ public class LoadUrlParams { public static LoadUrlParams createLoadHttpPostParams( String url, byte[] postData) { LoadUrlParams params = new LoadUrlParams(url); - params.setLoadType(LOAD_TYPE_BROWSER_INITIATED_HTTP_POST); + params.setLoadType(LoadURLType.BROWSER_INITIATED_HTTP_POST); params.setTransitionType(PageTransition.TYPED); params.setPostData(postData); return params; @@ -201,7 +194,7 @@ public class LoadUrlParams { } /** - * Set load type of this load. Defaults to LOAD_TYPE_DEFAULT. + * Set load type of this load. Defaults to LoadURLType.DEFAULT. * @param loadType One of LOAD_TYPE static constants above. */ public void setLoadType(int loadType) { @@ -307,7 +300,7 @@ public class LoadUrlParams { } /** - * Set user agent override option of this load. Defaults to UA_OVERRIDE_INHERIT. + * Set user agent override option of this load. Defaults to UserAgentOverrideOption.INHERIT. * @param uaOption One of UA_OVERRIDE static constants above. */ public void setOverrideUserAgent(int uaOption) { @@ -315,7 +308,7 @@ public class LoadUrlParams { } /** - * Get user agent override option of this load. Defaults to UA_OVERRIDE_INHERIT. + * Get user agent override option of this load. Defaults to UserAgentOverrideOption.INHERIT. * @param uaOption One of UA_OVERRIDE static constants above. */ public int getUserAgentOverrideOption() { @@ -324,7 +317,7 @@ public class LoadUrlParams { /** * Set the post data of this load. This field is ignored unless load type is - * LOAD_TYPE_BROWSER_INITIATED_HTTP_POST. + * LoadURLType.BROWSER_INITIATED_HTTP_POST. * @param postData Post data for this http post load. */ public void setPostData(byte[] postData) { @@ -341,7 +334,7 @@ public class LoadUrlParams { /** * Set the base url for data load. It is used both to resolve relative URLs * and when applying JavaScript's same origin policy. It is ignored unless - * load type is LOAD_TYPE_DATA. + * load type is LoadURLType.DATA. * @param baseUrl The base url for this data load. */ public void setBaseUrlForDataUrl(String baseUrl) { @@ -350,7 +343,7 @@ public class LoadUrlParams { /** * Get the virtual url for data load. It is the url displayed to the user. - * It is ignored unless load type is LOAD_TYPE_DATA. + * It is ignored unless load type is LoadURLType.DATA. * @return The virtual url for this data load. */ public String getVirtualUrlForDataUrl() { @@ -359,7 +352,7 @@ public class LoadUrlParams { /** * Set the virtual url for data load. It is the url displayed to the user. - * It is ignored unless load type is LOAD_TYPE_DATA. + * It is ignored unless load type is LoadURLType.DATA. * @param virtualUrl The virtual url for this data load. */ public void setVirtualUrlForDataUrl(String virtualUrl) { @@ -403,29 +396,12 @@ public class LoadUrlParams { public boolean isBaseUrlDataScheme() { // If there's no base url set, but this is a data load then // treat the scheme as data:. - if (mBaseUrlForDataUrl == null && mLoadUrlType == LOAD_TYPE_DATA) { + if (mBaseUrlForDataUrl == null && mLoadUrlType == LoadURLType.DATA) { return true; } return nativeIsDataScheme(mBaseUrlForDataUrl); } - @SuppressWarnings("unused") - @CalledByNative - private static void initializeConstants( - int loadTypeDefault, - int loadTypeBrowserInitiatedHttpPost, - int loadTypeData, - int uaOverrideInherit, - int uaOverrideFalse, - int uaOverrideTrue) { - assert LOAD_TYPE_DEFAULT == loadTypeDefault; - assert LOAD_TYPE_BROWSER_INITIATED_HTTP_POST == loadTypeBrowserInitiatedHttpPost; - assert LOAD_TYPE_DATA == loadTypeData; - assert UA_OVERRIDE_INHERIT == uaOverrideInherit; - assert UA_OVERRIDE_FALSE == uaOverrideFalse; - assert UA_OVERRIDE_TRUE == uaOverrideTrue; - } - /** * Parses |url| as a GURL on the native side, and * returns true if it's scheme is data:. diff --git a/content/public/browser/navigation_controller.h b/content/public/browser/navigation_controller.h index c8b0c21..dfb0092 100644 --- a/content/public/browser/navigation_controller.h +++ b/content/public/browser/navigation_controller.h @@ -46,6 +46,11 @@ class NavigationController { }; // Load type used in LoadURLParams. + // + // A Java counterpart will be generated for this enum. + // GENERATED_JAVA_ENUM_PACKAGE: ( + // org.chromium.content_public.browser.navigation_controller) + // GENERATED_JAVA_PREFIX_TO_STRIP: LOAD_TYPE_ enum LoadURLType { // For loads that do not fall into any types below. LOAD_TYPE_DEFAULT, @@ -64,6 +69,11 @@ class NavigationController { }; // User agent override type used in LoadURLParams. + // + // A Java counterpart will be generated for this enum. + // GENERATED_JAVA_ENUM_PACKAGE: ( + // org.chromium.content_public.browser.navigation_controller) + // GENERATED_JAVA_PREFIX_TO_STRIP: UA_OVERRIDE_ enum UserAgentOverrideOption { // Use the override value from the previous NavigationEntry in the // NavigationController. |