Title: [88906] trunk/Source/WebKit2
- Revision
- 88906
- Author
- [email protected]
- Date
- 2011-06-14 22:29:08 -0700 (Tue, 14 Jun 2011)
Log Message
2011-06-14 Sam Weinig <[email protected]>
Reviewed by Simon Fraser.
Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot
https://bugs.webkit.org/show_bug.cgi?id=62666
* Shared/API/c/cg/WKImageCG.cpp:
(WKImageCreateCGImage):
(WKImageCreateFromCGImage):
Don't null check the arguments (as per our API design) or the direct result of WebImage::create.
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
Remove redundant check and make not being able to create a handle the same
as not being backed by shareable memory.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (88905 => 88906)
--- trunk/Source/WebKit2/ChangeLog 2011-06-15 04:37:51 UTC (rev 88905)
+++ trunk/Source/WebKit2/ChangeLog 2011-06-15 05:29:08 UTC (rev 88906)
@@ -1,3 +1,20 @@
+2011-06-14 Sam Weinig <[email protected]>
+
+ Reviewed by Simon Fraser.
+
+ Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot
+ https://bugs.webkit.org/show_bug.cgi?id=62666
+
+ * Shared/API/c/cg/WKImageCG.cpp:
+ (WKImageCreateCGImage):
+ (WKImageCreateFromCGImage):
+ Don't null check the arguments (as per our API design) or the direct result of WebImage::create.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ Remove redundant check and make not being able to create a handle the same
+ as not being backed by shareable memory.
+
2011-06-14 John Sullivan <[email protected]>
Reviewed by Ada Chan.
Modified: trunk/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp (88905 => 88906)
--- trunk/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp 2011-06-15 04:37:51 UTC (rev 88905)
+++ trunk/Source/WebKit2/Shared/API/c/cg/WKImageCG.cpp 2011-06-15 05:29:08 UTC (rev 88906)
@@ -36,13 +36,10 @@
CGImageRef WKImageCreateCGImage(WKImageRef imageRef)
{
- if (!imageRef)
- return 0;
-
WebImage* webImage = toImpl(imageRef);
- if (!webImage || !webImage->bitmap())
+ if (!webImage->bitmap())
return 0;
-
+
return webImage->bitmap()->makeCGImageCopy().leakRef();
}
@@ -53,9 +50,9 @@
IntSize imageSize(CGImageGetWidth(imageRef), CGImageGetHeight(imageRef));
RefPtr<WebImage> webImage = WebImage::create(imageSize, toImageOptions(options));
- if (!webImage || !webImage->bitmap())
+ if (!webImage->bitmap())
return 0;
-
+
OwnPtr<GraphicsContext> graphicsContext = webImage->bitmap()->createGraphicsContext();
CGContextDrawImage(graphicsContext->platformContext(), CGRectMake(0, 0, imageSize.width(), imageSize.height()), imageRef);
return toAPI(webImage.release().leakRef());
Modified: trunk/Source/WebKit2/Shared/UserMessageCoders.h (88905 => 88906)
--- trunk/Source/WebKit2/Shared/UserMessageCoders.h 2011-06-15 04:37:51 UTC (rev 88905)
+++ trunk/Source/WebKit2/Shared/UserMessageCoders.h 2011-06-15 05:29:08 UTC (rev 88906)
@@ -128,17 +128,17 @@
}
case APIObject::TypeImage: {
WebImage* image = static_cast<WebImage*>(m_root);
- if (!image->bitmap() || !image->bitmap()->isBackedBySharedMemory()) {
+
+ ShareableBitmap::Handle handle;
+ if (!image->bitmap() || !image->bitmap()->isBackedBySharedMemory() || !image->bitmap()->createHandle(handle)) {
+ // Initial false indicates no allocated bitmap or is not shareable.
encoder->encode(false);
return true;
}
- ShareableBitmap::Handle handle;
- if (!image->bitmap() || !image->bitmap()->createHandle(handle))
- return false;
+ // Initial true indicates a bitmap was allocated and is shareable.
+ encoder->encode(true);
- encoder->encode(true);
-
encoder->encode(handle);
return true;
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes