diff options
| author | Shimeng (Simon) Wang <swang@google.com> | 2010-11-12 10:36:13 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-11-12 10:36:14 -0800 |
| commit | 1833a7fa5cd5a19afd4cba9cfc4e103e44ded8eb (patch) | |
| tree | 6b4638f2d3ef863b85661a4f311563a121153d99 /WebKit/android | |
| parent | 64d528ad5f44f99ff9da226e8f26e96e52765bdf (diff) | |
| parent | 833804653e1cc85cc95b67838a544b676e7b5f3b (diff) | |
| download | external_webkit-1833a7fa5cd5a19afd4cba9cfc4e103e44ded8eb.zip external_webkit-1833a7fa5cd5a19afd4cba9cfc4e103e44ded8eb.tar.gz external_webkit-1833a7fa5cd5a19afd4cba9cfc4e103e44ded8eb.tar.bz2 | |
Merge "Fix mobile google.com flickering issue."
Diffstat (limited to 'WebKit/android')
4 files changed, 27 insertions, 2 deletions
diff --git a/WebKit/android/WebCoreSupport/ChromiumIncludes.h b/WebKit/android/WebCoreSupport/ChromiumIncludes.h index 377aa22..a79faec 100644 --- a/WebKit/android/WebCoreSupport/ChromiumIncludes.h +++ b/WebKit/android/WebCoreSupport/ChromiumIncludes.h @@ -61,6 +61,7 @@ #include <net/base/data_url.h> #include <net/base/host_resolver.h> #include <net/base/io_buffer.h> +#include <net/base/load_flags.h> #include <net/base/net_errors.h> #include <net/base/mime_util.h> #include <net/base/ssl_config_service.h> diff --git a/WebKit/android/WebCoreSupport/WebRequest.cpp b/WebKit/android/WebCoreSupport/WebRequest.cpp index e939be4..758ff31 100644 --- a/WebKit/android/WebCoreSupport/WebRequest.cpp +++ b/WebKit/android/WebCoreSupport/WebRequest.cpp @@ -74,6 +74,7 @@ WebRequest::WebRequest(WebUrlLoaderClient* loader, const WebResourceRequest& web m_request->SetExtraRequestHeaders(webResourceRequest.requestHeaders()); m_request->set_referrer(webResourceRequest.referrer()); m_request->set_method(webResourceRequest.method()); + m_request->set_load_flags(webResourceRequest.loadFlags()); } // This is a special URL for Android. Query the Java InputStream diff --git a/WebKit/android/WebCoreSupport/WebResourceRequest.cpp b/WebKit/android/WebCoreSupport/WebResourceRequest.cpp index e8fb520..c3ec562 100644 --- a/WebKit/android/WebCoreSupport/WebResourceRequest.cpp +++ b/WebKit/android/WebCoreSupport/WebResourceRequest.cpp @@ -30,13 +30,15 @@ #include <wtf/text/CString.h> +using namespace WebCore; + namespace android { WebResourceRequest::WebResourceRequest(const WebCore::ResourceRequest& resourceRequest) { // Set the request headers - const WebCore::HTTPHeaderMap& map = resourceRequest.httpHeaderFields(); - for (WebCore::HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) { + const HTTPHeaderMap& map = resourceRequest.httpHeaderFields(); + for (HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) { const std::string& nameUtf8 = it->first.string().utf8().data(); // Skip over referrer headers found in the header map because we already @@ -66,6 +68,21 @@ WebResourceRequest::WebResourceRequest(const WebCore::ResourceRequest& resourceR m_userAgent = resourceRequest.httpUserAgent().utf8().data(); m_url = resourceRequest.url().string().utf8().data(); + + m_loadFlags = net::LOAD_NORMAL; + switch (resourceRequest.cachePolicy()) { + case ReloadIgnoringCacheData: + m_loadFlags |= net::LOAD_VALIDATE_CACHE; + break; + case ReturnCacheDataElseLoad: + m_loadFlags |= net::LOAD_PREFERRING_CACHE; + break; + case ReturnCacheDataDontLoad: + m_loadFlags |= net::LOAD_ONLY_FROM_CACHE; + break; + case UseProtocolCachePolicy: + break; + } } } // namespace android diff --git a/WebKit/android/WebCoreSupport/WebResourceRequest.h b/WebKit/android/WebCoreSupport/WebResourceRequest.h index d0c7f90..38f37b5 100644 --- a/WebKit/android/WebCoreSupport/WebResourceRequest.h +++ b/WebKit/android/WebCoreSupport/WebResourceRequest.h @@ -66,12 +66,18 @@ public: return m_url; } + int loadFlags() const + { + return m_loadFlags; + } + private: std::string m_method; std::string m_referrer; std::string m_userAgent; net::HttpRequestHeaders m_requestHeaders; std::string m_url; + int m_loadFlags; }; } // namespace android |
