Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1225)

Unified Diff: content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java

Issue 141533006: [Android] Move the java content/ package to content_public/ to start the split. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Small fixes and findbugs line update Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java b/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
deleted file mode 100644
index 8df5f6052d0f6bfc4e54d80206f1d11319dec961..0000000000000000000000000000000000000000
--- a/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
+++ /dev/null
@@ -1,323 +0,0 @@
-// Copyright 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.content.browser;
-
-import org.chromium.base.CalledByNative;
-import org.chromium.base.JNINamespace;
-
-import java.util.Map;
-
-/**
- * Holds parameters for ContentViewCore.LoadUrl. Parameters should match
- * counterparts in NavigationController::LoadURLParams, including default
- * values.
- */
-@JNINamespace("content")
-public class LoadUrlParams {
- // Should match NavigationController::LoadUrlType exactly. See comments
- // there for proper usage. Values are initialized in initializeConstants.
- public static int LOAD_TYPE_DEFAULT;
- public static int LOAD_TYPE_BROWSER_INITIATED_HTTP_POST;
- public static int LOAD_TYPE_DATA;
-
- // Should match NavigationController::UserAgentOverrideOption exactly.
- // See comments there for proper usage. Values are initialized in
- // initializeConstants.
- public static int UA_OVERRIDE_INHERIT;
- public static int UA_OVERRIDE_FALSE;
- public static int UA_OVERRIDE_TRUE;
-
- // Fields with counterparts in NavigationController::LoadURLParams.
- // Package private so that ContentViewCore.loadUrl can pass them down to
- // native code. Should not be accessed directly anywhere else outside of
- // this class.
- final String mUrl;
- int mLoadUrlType;
- int mTransitionType;
- int mUaOverrideOption;
- private Map<String, String> mExtraHeaders;
- byte[] mPostData;
- String mBaseUrlForDataUrl;
- String mVirtualUrlForDataUrl;
- boolean mCanLoadLocalResources;
-
- public LoadUrlParams(String url) {
- // Check initializeConstants was called.
- assert LOAD_TYPE_DEFAULT != LOAD_TYPE_BROWSER_INITIATED_HTTP_POST;
-
- mUrl = url;
- mLoadUrlType = LOAD_TYPE_DEFAULT;
- mTransitionType = PageTransitionTypes.PAGE_TRANSITION_LINK;
- mUaOverrideOption = UA_OVERRIDE_INHERIT;
- mPostData = null;
- mBaseUrlForDataUrl = null;
- mVirtualUrlForDataUrl = null;
- }
-
- /**
- * Helper method to create a LoadUrlParams object for data url.
- * @param data Data to be loaded.
- * @param mimeType Mime type of the data.
- * @param isBase64Encoded True if the data is encoded in Base 64 format.
- */
- public static LoadUrlParams createLoadDataParams(
- String data, String mimeType, boolean isBase64Encoded) {
- return createLoadDataParams(data, mimeType, isBase64Encoded, null);
- }
-
- /**
- * Helper method to create a LoadUrlParams object for data url.
- * @param data Data to be loaded.
- * @param mimeType Mime type of the data.
- * @param isBase64Encoded True if the data is encoded in Base 64 format.
- * @param charset The character set for the data. Pass null if the mime type
- * does not require a special charset.
- */
- public static LoadUrlParams createLoadDataParams(
- String data, String mimeType, boolean isBase64Encoded, String charset) {
- StringBuilder dataUrl = new StringBuilder("data:");
- dataUrl.append(mimeType);
- if (charset != null && !charset.isEmpty()) {
- dataUrl.append(";charset=" + charset);
- }
- if (isBase64Encoded) {
- dataUrl.append(";base64");
- }
- dataUrl.append(",");
- dataUrl.append(data);
-
- LoadUrlParams params = new LoadUrlParams(dataUrl.toString());
- params.setLoadType(LoadUrlParams.LOAD_TYPE_DATA);
- params.setTransitionType(PageTransitionTypes.PAGE_TRANSITION_TYPED);
- return params;
- }
-
- /**
- * Helper method to create a LoadUrlParams object for data url with base
- * and virtual url.
- * @param data Data to be loaded.
- * @param mimeType Mime type of the data.
- * @param isBase64Encoded True if the data is encoded in Base 64 format.
- * @param baseUrl Base url of this data load. Note that for WebView compatibility,
- * baseUrl and historyUrl are ignored if this is a data: url.
- * Defaults to about:blank if null.
- * @param historyUrl History url for this data load. Note that for WebView compatibility,
- * this is ignored if baseUrl is a data: url. Defaults to about:blank
- * if null.
- */
- public static LoadUrlParams createLoadDataParamsWithBaseUrl(
- String data, String mimeType, boolean isBase64Encoded,
- String baseUrl, String historyUrl) {
- return createLoadDataParamsWithBaseUrl(data, mimeType, isBase64Encoded,
- baseUrl, historyUrl, null);
- }
-
- /**
- * Helper method to create a LoadUrlParams object for data url with base
- * and virtual url.
- * @param data Data to be loaded.
- * @param mimeType Mime type of the data.
- * @param isBase64Encoded True if the data is encoded in Base 64 format.
- * @param baseUrl Base url of this data load. Note that for WebView compatibility,
- * baseUrl and historyUrl are ignored if this is a data: url.
- * Defaults to about:blank if null.
- * @param historyUrl History url for this data load. Note that for WebView compatibility,
- * this is ignored if baseUrl is a data: url. Defaults to about:blank
- * if null.
- * @param charset The character set for the data. Pass null if the mime type
- * does not require a special charset.
- */
- public static LoadUrlParams createLoadDataParamsWithBaseUrl(
- String data, String mimeType, boolean isBase64Encoded,
- String baseUrl, String historyUrl, String charset) {
- LoadUrlParams params = createLoadDataParams(data, mimeType, isBase64Encoded, charset);
- // For WebView compatibility, when the base URL has the 'data:'
- // scheme, we treat it as a regular data URL load and skip setting
- // baseUrl and historyUrl.
- // TODO(joth): we should just append baseURL and historyURL here, and move the
- // WebView specific transform up to a wrapper factory function in android_webview/.
- if (baseUrl == null || !baseUrl.toLowerCase().startsWith("data:")) {
- params.setBaseUrlForDataUrl(baseUrl != null ? baseUrl : "about:blank");
- params.setVirtualUrlForDataUrl(historyUrl != null ? historyUrl : "about:blank");
- }
- return params;
- }
-
- /**
- * Helper method to create a LoadUrlParams object for an HTTP POST load.
- * @param url URL of the load.
- * @param postData Post data of the load. Can be null.
- */
- public static LoadUrlParams createLoadHttpPostParams(
- String url, byte[] postData) {
- LoadUrlParams params = new LoadUrlParams(url);
- params.setLoadType(LOAD_TYPE_BROWSER_INITIATED_HTTP_POST);
- params.setTransitionType(PageTransitionTypes.PAGE_TRANSITION_TYPED);
- params.setPostData(postData);
- return params;
- }
-
- /**
- * Return the url.
- */
- public String getUrl() {
- return mUrl;
- }
-
- /**
- * Return the base url for a data url, otherwise null.
- */
- public String getBaseUrl() {
- return mBaseUrlForDataUrl;
- }
-
- /**
- * Set load type of this load. Defaults to LOAD_TYPE_DEFAULT.
- * @param loadType One of LOAD_TYPE static constants above.
- */
- public void setLoadType(int loadType) {
- mLoadUrlType = loadType;
- }
-
- /**
- * Set transition type of this load. Defaults to PAGE_TRANSITION_LINK.
- * @param transitionType One of PAGE_TRANSITION static constants in ContentView.
- */
- public void setTransitionType(int transitionType) {
- mTransitionType = transitionType;
- }
-
- /**
- * Return the transition type.
- */
- public int getTransitionType() {
- return mTransitionType;
- }
-
- /**
- * Set user agent override option of this load. Defaults to UA_OVERRIDE_INHERIT.
- * @param uaOption One of UA_OVERRIDE static constants above.
- */
- public void setOverrideUserAgent(int uaOption) {
- mUaOverrideOption = uaOption;
- }
-
- /**
- * Set extra headers for this load.
- * @param extraHeaders Extra HTTP headers for this load. Note that these
- * headers will never overwrite existing ones set by Chromium.
- */
- public void setExtraHeaders(Map<String, String> extraHeaders) {
- mExtraHeaders = extraHeaders;
- }
-
- /**
- * Return the extra headers as a single String separated by "\n", or null if no extra header
- * is set. This form is suitable for passing to native
- * NavigationController::LoadUrlParams::extra_headers.
- */
- String getExtraHeadersString() {
- return getExtraHeadersString("\n", false);
- }
-
- /**
- * Return the extra headers as a single String separated by "\r\n", or null if no extra header
- * is set. This form is suitable for passing to native
- * net::HttpRequestHeaders::AddHeadersFromString.
- */
- public String getExtraHttpRequestHeadersString() {
- return getExtraHeadersString("\r\n", true);
- }
-
- private String getExtraHeadersString(String delimiter, boolean addTerminator) {
- if (mExtraHeaders == null) return null;
-
- StringBuilder headerBuilder = new StringBuilder();
- for (Map.Entry<String, String> header : mExtraHeaders.entrySet()) {
- if (headerBuilder.length() > 0) headerBuilder.append(delimiter);
-
- // Header name should be lower case.
- headerBuilder.append(header.getKey().toLowerCase());
- headerBuilder.append(":");
- headerBuilder.append(header.getValue());
- }
- if (addTerminator)
- headerBuilder.append(delimiter);
-
- return headerBuilder.toString();
- }
-
- /**
- * Set the post data of this load. This field is ignored unless load type is
- * LOAD_TYPE_BROWSER_INITIATED_HTTP_POST.
- * @param postData Post data for this http post load.
- */
- public void setPostData(byte[] postData) {
- mPostData = postData;
- }
-
- /**
- * 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.
- * @param baseUrl The base url for this data load.
- */
- public void setBaseUrlForDataUrl(String baseUrl) {
- mBaseUrlForDataUrl = baseUrl;
- }
-
- /**
- * 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.
- * @param virtualUrl The virtual url for this data load.
- */
- public void setVirtualUrlForDataUrl(String virtualUrl) {
- mVirtualUrlForDataUrl = virtualUrl;
- }
-
- /**
- * Set whether the load should be able to access local resources. This
- * defaults to false.
- */
- public void setCanLoadLocalResources(boolean canLoad) {
- mCanLoadLocalResources = canLoad;
- }
-
- public int getLoadUrlType() {
- return mLoadUrlType;
- }
-
- 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) {
- return true;
- }
- return nativeIsDataScheme(mBaseUrlForDataUrl);
- }
-
- @SuppressWarnings("unused")
- @CalledByNative
- private static void initializeConstants(
- int load_type_default,
- int load_type_browser_initiated_http_post,
- int load_type_data,
- int ua_override_inherit,
- int ua_override_false,
- int ua_override_true) {
- LOAD_TYPE_DEFAULT = load_type_default;
- LOAD_TYPE_BROWSER_INITIATED_HTTP_POST = load_type_browser_initiated_http_post;
- LOAD_TYPE_DATA = load_type_data;
- UA_OVERRIDE_INHERIT = ua_override_inherit;
- UA_OVERRIDE_FALSE = ua_override_false;
- UA_OVERRIDE_TRUE = ua_override_true;
- }
-
- /**
- * Parses |url| as a GURL on the native side, and
- * returns true if it's scheme is data:.
- */
- private static native boolean nativeIsDataScheme(String url);
-}

Powered by Google App Engine
This is Rietveld 408576698