summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/WebCore/platform/graphics/android/MediaLayer.cpp3
-rw-r--r--Source/WebKit/android/WebCoreSupport/CacheResult.cpp11
-rw-r--r--Source/WebKit/android/jni/CacheManager.cpp1
3 files changed, 8 insertions, 7 deletions
diff --git a/Source/WebCore/platform/graphics/android/MediaLayer.cpp b/Source/WebCore/platform/graphics/android/MediaLayer.cpp
index 7fa5ac2..0181892 100644
--- a/Source/WebCore/platform/graphics/android/MediaLayer.cpp
+++ b/Source/WebCore/platform/graphics/android/MediaLayer.cpp
@@ -68,7 +68,8 @@ MediaLayer::~MediaLayer()
bool MediaLayer::drawGL(GLWebViewState* glWebViewState, SkMatrix& matrix)
{
- TilesManager::instance()->shader()->clip(drawClip());
+ FloatRect clippingRect = TilesManager::instance()->shader()->rectInScreenCoord(drawClip());
+ TilesManager::instance()->shader()->clip(clippingRect);
// when the plugin gains focus webkit applies an outline to the
// widget, which causes the layer to expand to accommodate the
diff --git a/Source/WebKit/android/WebCoreSupport/CacheResult.cpp b/Source/WebKit/android/WebCoreSupport/CacheResult.cpp
index 5309c66..6710e49 100644
--- a/Source/WebKit/android/WebCoreSupport/CacheResult.cpp
+++ b/Source/WebKit/android/WebCoreSupport/CacheResult.cpp
@@ -134,11 +134,11 @@ bool CacheResult::writeToFile(const String& filePath) const
if (!thread)
return false;
- CacheResult* me = const_cast<CacheResult*>(this);
- thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(me, &CacheResult::writeToFileImpl));
-
m_filePath = filePath.threadsafeCopy();
m_isAsyncOperationInProgress = true;
+
+ thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(const_cast<CacheResult*>(this), &CacheResult::writeToFileImpl));
+
while (m_isAsyncOperationInProgress)
m_condition.wait(m_mutex);
@@ -213,10 +213,9 @@ HttpResponseHeaders* CacheResult::responseHeaders() const
if (!thread)
return 0;
- CacheResult* me = const_cast<CacheResult*>(this);
- thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(me, &CacheResult::responseHeadersImpl));
-
m_isAsyncOperationInProgress = true;
+ thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(const_cast<CacheResult*>(this), &CacheResult::responseHeadersImpl));
+
while (m_isAsyncOperationInProgress)
m_condition.wait(m_mutex);
diff --git a/Source/WebKit/android/jni/CacheManager.cpp b/Source/WebKit/android/jni/CacheManager.cpp
index 144b62a..f600d00 100644
--- a/Source/WebKit/android/jni/CacheManager.cpp
+++ b/Source/WebKit/android/jni/CacheManager.cpp
@@ -90,6 +90,7 @@ static jobject getCacheResult(JNIEnv* env, jobject, jstring url)
String urlWtfString = jstringToWtfString(env, url);
Vector<char> encodedUrl;
base64Encode(urlWtfString.utf8().data(), urlWtfString.length(), encodedUrl, false /*insertLFs*/);
+ encodedUrl.append('\0');
String filePath = pathByAppendingComponent(getCacheFileBaseDir(env), encodedUrl.data());
if (!result->writeToFile(filePath))
return 0;