summaryrefslogtreecommitdiffstats
path: root/WebKit/android
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2011-03-10 02:54:22 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-03-10 02:54:22 -0800
commit9c900ca9d752728f3e909728f7e7c33a21a045a3 (patch)
tree51244334c737c220749f8775828a1747eb4fbf6d /WebKit/android
parent5156a92e0699b73092638695b263538dc64d24c3 (diff)
parent98df90ee912e96ba6b1ee2f6983bc9ac6e78d021 (diff)
downloadexternal_webkit-9c900ca9d752728f3e909728f7e7c33a21a045a3.zip
external_webkit-9c900ca9d752728f3e909728f7e7c33a21a045a3.tar.gz
external_webkit-9c900ca9d752728f3e909728f7e7c33a21a045a3.tar.bz2
am 98df90ee: am 08a7cd3d: Merge "Android part of fix for bug 3491968 Browser frozen on dunkindonuts.com" into honeycomb-mr1
* commit '98df90ee912e96ba6b1ee2f6983bc9ac6e78d021': Android part of fix for bug 3491968 Browser frozen on dunkindonuts.com
Diffstat (limited to 'WebKit/android')
-rw-r--r--WebKit/android/WebCoreSupport/WebRequest.cpp5
-rw-r--r--WebKit/android/WebCoreSupport/WebRequest.h2
-rw-r--r--WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp1
3 files changed, 8 insertions, 0 deletions
diff --git a/WebKit/android/WebCoreSupport/WebRequest.cpp b/WebKit/android/WebCoreSupport/WebRequest.cpp
index a14036f..a7321da 100644
--- a/WebKit/android/WebCoreSupport/WebRequest.cpp
+++ b/WebKit/android/WebCoreSupport/WebRequest.cpp
@@ -71,6 +71,7 @@ WebRequest::WebRequest(WebUrlLoaderClient* loader, const WebResourceRequest& web
, m_runnableFactory(this)
, m_wantToPause(false)
, m_isPaused(false)
+ , m_isSync(false)
{
GURL gurl(m_url);
@@ -96,6 +97,7 @@ WebRequest::WebRequest(WebUrlLoaderClient* loader, const WebResourceRequest& web
, m_runnableFactory(this)
, m_wantToPause(false)
, m_isPaused(false)
+ , m_isSync(false)
{
}
@@ -196,6 +198,9 @@ void WebRequest::updateLoadFlags(int& loadFlags)
loadFlags |= net::LOAD_BYPASS_CACHE;
if (m_cacheMode == 3) // LOAD_CACHE_ONLY
loadFlags |= net::LOAD_ONLY_FROM_CACHE;
+
+ if (m_isSync)
+ loadFlags |= net::LOAD_IGNORE_LIMITS;
}
void WebRequest::start()
diff --git a/WebKit/android/WebCoreSupport/WebRequest.h b/WebKit/android/WebCoreSupport/WebRequest.h
index dba7559..252267b 100644
--- a/WebKit/android/WebCoreSupport/WebRequest.h
+++ b/WebKit/android/WebCoreSupport/WebRequest.h
@@ -88,6 +88,7 @@ public:
const std::string& getUrl() const;
const std::string& getUserAgent() const;
+ void setSync(bool sync) { m_isSync = sync; }
private:
void startReading();
bool read(int* bytesRead);
@@ -113,6 +114,7 @@ private:
ScopedRunnableMethodFactory<WebRequest> m_runnableFactory;
bool m_wantToPause;
bool m_isPaused;
+ bool m_isSync;
#ifdef LOG_REQUESTS
time_t m_startTime;
#endif
diff --git a/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp b/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp
index 19f4f34..fcfb4ca 100644
--- a/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp
+++ b/WebKit/android/WebCoreSupport/WebUrlLoaderClient.cpp
@@ -175,6 +175,7 @@ bool WebUrlLoaderClient::start(bool isMainResource, bool isMainFrame, bool sync,
m_sync = sync;
if (m_sync) {
AutoLock autoLock(*syncLock());
+ m_request->setSync(sync);
m_request->setRequestContext(context);
thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(m_request.get(), &WebRequest::start));