Add support for UAProf header in HTTP requests

Each HTTP request sent from a mobile handset is usually required to
include a x-wap-profile header following the UAProf specification. The
value of this header is a URL that points to the location of a
document which specifies relevant capabilities of the phone, e.g.
supported network bearers, video formats or screen size. This change
defines a global string resource that holds this URL, and also adds
the necessary code in the web widget to include this header in HTTP
requests.
This commit is contained in:
Matthias Thomae
2010-10-20 10:28:58 +02:00
parent c1c45a4dc9
commit bdb0896ba5
2 changed files with 16 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ package android.webkit;
import android.net.http.EventHandler;
import android.net.http.RequestHandle;
import android.os.Build;
import android.util.Log;
import android.webkit.CacheManager.CacheResult;
@@ -35,6 +36,7 @@ class FrameLoader {
private int mCacheMode;
private String mReferrer;
private String mContentType;
private final String mUaprofHeader;
private static final int URI_PROTOCOL = 0x100;
@@ -57,6 +59,8 @@ class FrameLoader {
mMethod = method;
mCacheMode = WebSettings.LOAD_NORMAL;
mSettings = settings;
mUaprofHeader = mListener.getContext().getResources().getString(
com.android.internal.R.string.config_useragentprofile_url, Build.MODEL);
}
public void setReferrer(String ref) {
@@ -356,6 +360,11 @@ class FrameLoader {
}
mHeaders.put("User-Agent", mSettings.getUserAgentString());
// Set the x-wap-profile header
if (mUaprofHeader != null && mUaprofHeader.length() > 0) {
mHeaders.put("x-wap-profile", mUaprofHeader);
}
}
/**

View File

@@ -332,4 +332,11 @@
<!-- 2 means give warning -->
<integer name="config_datause_notification_type">2</integer>
<!-- The URL that should be sent in an x-wap-profile header with an HTTP request,
as defined in the Open Mobile Alliance User Agent Profile specification
OMA-TS-UAProf-V2_0-20060206-A Section 8.1.1.1. If the URL contains a '%s'
format string then that substring will be replaced with the value of
Build.MODEL. The format string shall not be escaped. -->
<string name="config_useragentprofile_url"></string>
</resources>