summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-05-18 09:59:57 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2015-05-18 09:59:57 +0200
commitbbd3a98a7aeb4872d9bcb120306173ef975b3f8f (patch)
tree2606756f750cb72262b0661c5cfa83ca47419242 /Source
parent9cbcd93cfe0ba6f7531574f7784e8978bd723110 (diff)
parent586bdc38324dfaeec65389bf7646c82cb35db017 (diff)
downloadqtwebkit-bbd3a98a7aeb4872d9bcb120306173ef975b3f8f.tar.gz
Merge remote-tracking branch 'origin/5.4.2' into 5.4
Change-Id: I5bacbd4ac254149e45003fea759855df598a2f36
Diffstat (limited to 'Source')
-rw-r--r--Source/WebCore/html/ImageDocument.cpp6
-rw-r--r--Source/WebCore/platform/Length.h5
2 files changed, 9 insertions, 2 deletions
diff --git a/Source/WebCore/html/ImageDocument.cpp b/Source/WebCore/html/ImageDocument.cpp
index 7d9bcc589..594ccad90 100644
--- a/Source/WebCore/html/ImageDocument.cpp
+++ b/Source/WebCore/html/ImageDocument.cpp
@@ -135,6 +135,8 @@ void ImageDocumentParser::appendBytes(DocumentWriter*, const char*, size_t)
return;
CachedImage* cachedImage = document()->cachedImage();
+ if (!cachedImage)
+ return;
RefPtr<ResourceBuffer> resourceData = frame->loader()->documentLoader()->mainResourceData();
cachedImage->addDataBuffer(resourceData.get());
@@ -143,8 +145,8 @@ void ImageDocumentParser::appendBytes(DocumentWriter*, const char*, size_t)
void ImageDocumentParser::finish()
{
- if (!isStopped() && document()->imageElement()) {
- CachedImage* cachedImage = document()->cachedImage();
+ CachedImage* cachedImage = 0;
+ if (!isStopped() && document()->imageElement() && (cachedImage = document()->cachedImage())) {
RefPtr<ResourceBuffer> data = document()->frame()->loader()->documentLoader()->mainResourceData();
// If this is a multipart image, make a copy of the current part, since the resource data
diff --git a/Source/WebCore/platform/Length.h b/Source/WebCore/platform/Length.h
index 2f91550da..72263b045 100644
--- a/Source/WebCore/platform/Length.h
+++ b/Source/WebCore/platform/Length.h
@@ -233,6 +233,11 @@ public:
Length blend(const Length& from, double progress) const
{
// Blend two lengths to produce a new length that is in between them. Used for animation.
+ if (from.isUndefined())
+ return *this;
+ if (isUndefined())
+ return from;
+
if (from.type() == Calculated || type() == Calculated)
return blendMixedTypes(from, progress);