Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Unified Diff: third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp

Issue 1532473002: Add a origin clean flag in ImageBitmap class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: StaticBitmapImage now has a second parameter for origin clean flag Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp
diff --git a/third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp b/third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp
index 54f9870eaa7bb51e97f93d23f6bfaab92084981a..c4ea2812baf6175d57ddf89344bff3a6ceb1dabe 100644
--- a/third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp
+++ b/third_party/WebKit/Source/core/frame/ImageBitmapTest.cpp
@@ -82,16 +82,20 @@ protected:
TEST_F(ImageBitmapTest, ImageResourceConsistency)
{
RefPtrWillBeRawPtr<HTMLImageElement> imageElement = HTMLImageElement::create(*Document::create().get());
- imageElement->setImageResource(new ImageResource(StaticBitmapImage::create(m_image).get()));
+ imageElement->setImageResource(new ImageResource(StaticBitmapImage::create(m_image, true).get()));
RefPtrWillBeRawPtr<ImageBitmap> imageBitmapNoCrop = ImageBitmap::create(imageElement.get(),
- IntRect(0, 0, m_image->width(), m_image->height()));
+ IntRect(0, 0, m_image->width(), m_image->height()),
+ &(imageElement->document()));
RefPtrWillBeRawPtr<ImageBitmap> imageBitmapInteriorCrop = ImageBitmap::create(imageElement.get(),
- IntRect(m_image->width() / 2, m_image->height() / 2, m_image->width() / 2, m_image->height() / 2));
+ IntRect(m_image->width() / 2, m_image->height() / 2, m_image->width() / 2, m_image->height() / 2),
+ &(imageElement->document()));
RefPtrWillBeRawPtr<ImageBitmap> imageBitmapExteriorCrop = ImageBitmap::create(imageElement.get(),
- IntRect(-m_image->width() / 2, -m_image->height() / 2, m_image->width(), m_image->height()));
+ IntRect(-m_image->width() / 2, -m_image->height() / 2, m_image->width(), m_image->height()),
+ &(imageElement->document()));
RefPtrWillBeRawPtr<ImageBitmap> imageBitmapOutsideCrop = ImageBitmap::create(imageElement.get(),
- IntRect(-m_image->width(), -m_image->height(), m_image->width(), m_image->height()));
+ IntRect(-m_image->width(), -m_image->height(), m_image->width(), m_image->height()),
+ &(imageElement->document()));
ASSERT_EQ(imageBitmapNoCrop->bitmapImage()->imageForCurrentFrame(), imageElement->cachedImage()->image()->imageForCurrentFrame());
ASSERT_NE(imageBitmapInteriorCrop->bitmapImage()->imageForCurrentFrame(), imageElement->cachedImage()->image()->imageForCurrentFrame());
@@ -107,22 +111,22 @@ TEST_F(ImageBitmapTest, ImageBitmapLiveResourcePriority)
{
RefPtrWillBePersistent<HTMLImageElement> imageNoCrop = HTMLImageElement::create(*Document::create().get());
ResourcePtr<ImageResource> cachedImageNoCrop = new ImageResource(ResourceRequest("http://foo.com/1"),
- StaticBitmapImage::create(m_image).get());
+ StaticBitmapImage::create(m_image, true).get());
imageNoCrop->setImageResource(cachedImageNoCrop.get());
RefPtrWillBePersistent<HTMLImageElement> imageInteriorCrop = HTMLImageElement::create(*Document::create().get());
ResourcePtr<ImageResource> cachedImageInteriorCrop = new ImageResource(ResourceRequest("http://foo.com/2"),
- StaticBitmapImage::create(m_image).get());
+ StaticBitmapImage::create(m_image, true).get());
imageInteriorCrop->setImageResource(cachedImageInteriorCrop.get());
RefPtrWillBePersistent<HTMLImageElement> imageExteriorCrop = HTMLImageElement::create(*Document::create().get());
ResourcePtr<ImageResource> cachedImageExteriorCrop = new ImageResource(ResourceRequest("http://foo.com/3"),
- StaticBitmapImage::create(m_image).get());
+ StaticBitmapImage::create(m_image, true).get());
imageExteriorCrop->setImageResource(cachedImageExteriorCrop.get());
RefPtrWillBePersistent<HTMLImageElement> imageOutsideCrop = HTMLImageElement::create(*Document::create().get());
ResourcePtr<ImageResource> cachedImageOutsideCrop = new ImageResource(ResourceRequest("http://foo.com/4"),
- StaticBitmapImage::create(m_image).get());
+ StaticBitmapImage::create(m_image, true).get());
imageOutsideCrop->setImageResource(cachedImageOutsideCrop.get());
MockImageResourceClient mockClient1(cachedImageNoCrop);
@@ -146,16 +150,21 @@ TEST_F(ImageBitmapTest, ImageBitmapLiveResourcePriority)
ASSERT_EQ(memoryCache()->priority(imageOutsideCrop->cachedImage()), MemoryCacheLiveResourcePriorityLow);
RefPtrWillBePersistent<ImageBitmap> imageBitmapInteriorCrop = ImageBitmap::create(imageInteriorCrop.get(),
- IntRect(m_image->width() / 2, m_image->height() / 2, m_image->width(), m_image->height()));
+ IntRect(m_image->width() / 2, m_image->height() / 2, m_image->width(), m_image->height()),
+ &(imageInteriorCrop->document()));
{
RefPtrWillBePersistent<ImageBitmap> imageBitmapNoCrop = ImageBitmap::create(imageNoCrop.get(),
- IntRect(0, 0, m_image->width(), m_image->height()));
+ IntRect(0, 0, m_image->width(), m_image->height()),
+ &(imageNoCrop->document()));
RefPtrWillBePersistent<ImageBitmap> imageBitmapInteriorCrop2 = ImageBitmap::create(imageInteriorCrop.get(),
- IntRect(m_image->width() / 2, m_image->height() / 2, m_image->width(), m_image->height()));
+ IntRect(m_image->width() / 2, m_image->height() / 2, m_image->width(), m_image->height()),
+ &(imageInteriorCrop->document()));
RefPtrWillBePersistent<ImageBitmap> imageBitmapExteriorCrop = ImageBitmap::create(imageExteriorCrop.get(),
- IntRect(-m_image->width() / 2, -m_image->height() / 2, m_image->width(), m_image->height()));
+ IntRect(-m_image->width() / 2, -m_image->height() / 2, m_image->width(), m_image->height()),
+ &(imageExteriorCrop->document()));
RefPtrWillBePersistent<ImageBitmap> imageBitmapOutsideCrop = ImageBitmap::create(imageOutsideCrop.get(),
- IntRect(-m_image->width(), -m_image->height(), m_image->width(), m_image->height()));
+ IntRect(-m_image->width(), -m_image->height(), m_image->width(), m_image->height()),
+ &(imageOutsideCrop->document()));
// Images are not referenced by ImageBitmap anymore, so always CacheLiveResourcePriorityLow
ASSERT_EQ(memoryCache()->priority(imageNoCrop->cachedImage()), MemoryCacheLiveResourcePriorityLow);
@@ -183,15 +192,16 @@ TEST_F(ImageBitmapTest, ImageBitmapSourceChanged)
{
RefPtrWillBeRawPtr<HTMLImageElement> image = HTMLImageElement::create(*Document::create().get());
ResourcePtr<ImageResource> originalImageResource = new ImageResource(
- StaticBitmapImage::create(m_image).get());
+ StaticBitmapImage::create(m_image, true).get());
image->setImageResource(originalImageResource.get());
RefPtrWillBeRawPtr<ImageBitmap> imageBitmap = ImageBitmap::create(image.get(),
- IntRect(0, 0, m_image->width(), m_image->height()));
+ IntRect(0, 0, m_image->width(), m_image->height()),
+ &(image->document()));
ASSERT_EQ(imageBitmap->bitmapImage()->imageForCurrentFrame(), originalImageResource->image()->imageForCurrentFrame());
ResourcePtr<ImageResource> newImageResource = new ImageResource(
- StaticBitmapImage::create(m_image2).get());
+ StaticBitmapImage::create(m_image2, true).get());
image->setImageResource(newImageResource.get());
// The ImageBitmap should contain the same data as the original cached image

Powered by Google App Engine
This is Rietveld 408576698