summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Thomae <matthias.thomae@teleca.com>2010-10-20 10:28:58 +0200
committerMatthias Thomae <matthias.thomae@teleca.com>2010-11-02 13:26:24 +0100
commitbdb0896ba5078a09d667482c4c91ee279fa2f0e6 (patch)
tree0fe73f26f628de6c68f0101841e2b85e33c45c49
parentc1c45a4dc950865a7f5f76d8aab56be0cc8e0e91 (diff)
downloadframeworks_base-bdb0896ba5078a09d667482c4c91ee279fa2f0e6.zip
frameworks_base-bdb0896ba5078a09d667482c4c91ee279fa2f0e6.tar.gz
frameworks_base-bdb0896ba5078a09d667482c4c91ee279fa2f0e6.tar.bz2
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.
-rw-r--r--core/java/android/webkit/FrameLoader.java9
-rw-r--r--core/res/res/values/config.xml7
2 files changed, 16 insertions, 0 deletions
diff --git a/core/java/android/webkit/FrameLoader.java b/core/java/android/webkit/FrameLoader.java
index 7fd993a..021b53c 100644
--- a/core/java/android/webkit/FrameLoader.java
+++ b/core/java/android/webkit/FrameLoader.java
@@ -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);
+ }
}
/**
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 59e4a55..ebfab91 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -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>