OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013, Google Inc. All rights reserved. | 2 * Copyright (c) 2013, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 99 |
100 RefPtr<Image> emptyImage = imageBitmapOutsideCrop->bitmapImage(); | 100 RefPtr<Image> emptyImage = imageBitmapOutsideCrop->bitmapImage(); |
101 ASSERT_NE(emptyImage.get(), imageElement->cachedImage()->image()); | 101 ASSERT_NE(emptyImage.get(), imageElement->cachedImage()->image()); |
102 } | 102 } |
103 | 103 |
104 // Verifies that HTMLImageElements are given an elevated CacheLiveResourcePriori
ty when used to construct an ImageBitmap. | 104 // Verifies that HTMLImageElements are given an elevated CacheLiveResourcePriori
ty when used to construct an ImageBitmap. |
105 // ImageBitmaps that have crop rects outside of the bounds of the HTMLImageEleme
nt do not have elevated CacheLiveResourcePriority. | 105 // ImageBitmaps that have crop rects outside of the bounds of the HTMLImageEleme
nt do not have elevated CacheLiveResourcePriority. |
106 TEST_F(ImageBitmapTest, ImageBitmapLiveResourcePriority) | 106 TEST_F(ImageBitmapTest, ImageBitmapLiveResourcePriority) |
107 { | 107 { |
108 RefPtr<HTMLImageElement> imageNoCrop = HTMLImageElement::create(*Document::c
reate().get()); | 108 RefPtr<HTMLImageElement> imageNoCrop = HTMLImageElement::create(*Document::c
reate().get()); |
109 ResourcePtr<ImageResource> cachedImageNoCrop = new ImageResource(BitmapImage
::create(NativeImageSkia::create(m_bitmap)).get()); | 109 ResourcePtr<ImageResource> cachedImageNoCrop = new ImageResource(ResourceReq
uest("http://foo.com/1"), BitmapImage::create(NativeImageSkia::create(m_bitmap))
.get()); |
110 imageNoCrop->setImageResource(cachedImageNoCrop.get()); | 110 imageNoCrop->setImageResource(cachedImageNoCrop.get()); |
111 | 111 |
112 RefPtr<HTMLImageElement> imageInteriorCrop = HTMLImageElement::create(*Docum
ent::create().get()); | 112 RefPtr<HTMLImageElement> imageInteriorCrop = HTMLImageElement::create(*Docum
ent::create().get()); |
113 ResourcePtr<ImageResource> cachedImageInteriorCrop = new ImageResource(Bitma
pImage::create(NativeImageSkia::create(m_bitmap)).get()); | 113 ResourcePtr<ImageResource> cachedImageInteriorCrop = new ImageResource(Resou
rceRequest("http://foo.com/2"), BitmapImage::create(NativeImageSkia::create(m_bi
tmap)).get()); |
114 imageInteriorCrop->setImageResource(cachedImageInteriorCrop.get()); | 114 imageInteriorCrop->setImageResource(cachedImageInteriorCrop.get()); |
115 | 115 |
116 RefPtr<HTMLImageElement> imageExteriorCrop = HTMLImageElement::create(*Docum
ent::create().get()); | 116 RefPtr<HTMLImageElement> imageExteriorCrop = HTMLImageElement::create(*Docum
ent::create().get()); |
117 ResourcePtr<ImageResource> cachedImageExteriorCrop = new ImageResource(Bitma
pImage::create(NativeImageSkia::create(m_bitmap)).get()); | 117 ResourcePtr<ImageResource> cachedImageExteriorCrop = new ImageResource(Resou
rceRequest("http://foo.com/3"), BitmapImage::create(NativeImageSkia::create(m_bi
tmap)).get()); |
118 imageExteriorCrop->setImageResource(cachedImageExteriorCrop.get()); | 118 imageExteriorCrop->setImageResource(cachedImageExteriorCrop.get()); |
119 | 119 |
120 RefPtr<HTMLImageElement> imageOutsideCrop = HTMLImageElement::create(*Docume
nt::create().get()); | 120 RefPtr<HTMLImageElement> imageOutsideCrop = HTMLImageElement::create(*Docume
nt::create().get()); |
121 ResourcePtr<ImageResource> cachedImageOutsideCrop = new ImageResource(Bitmap
Image::create(NativeImageSkia::create(m_bitmap)).get()); | 121 ResourcePtr<ImageResource> cachedImageOutsideCrop = new ImageResource(Resour
ceRequest("http://foo.com/4"), BitmapImage::create(NativeImageSkia::create(m_bit
map)).get()); |
122 imageOutsideCrop->setImageResource(cachedImageOutsideCrop.get()); | 122 imageOutsideCrop->setImageResource(cachedImageOutsideCrop.get()); |
123 | 123 |
124 MockImageResourceClient mockClient1, mockClient2, mockClient3, mockClient4; | 124 MockImageResourceClient mockClient1, mockClient2, mockClient3, mockClient4; |
125 cachedImageNoCrop->addClient(&mockClient1); | 125 cachedImageNoCrop->addClient(&mockClient1); |
126 cachedImageInteriorCrop->addClient(&mockClient2); | 126 cachedImageInteriorCrop->addClient(&mockClient2); |
127 cachedImageExteriorCrop->addClient(&mockClient3); | 127 cachedImageExteriorCrop->addClient(&mockClient3); |
128 cachedImageOutsideCrop->addClient(&mockClient4); | 128 cachedImageOutsideCrop->addClient(&mockClient4); |
129 | 129 |
130 memoryCache()->add(cachedImageNoCrop.get()); | 130 memoryCache()->add(cachedImageNoCrop.get()); |
131 memoryCache()->add(cachedImageInteriorCrop.get()); | 131 memoryCache()->add(cachedImageInteriorCrop.get()); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 { | 200 { |
201 RefPtr<ImageBitmap> imageBitmapFromCanvas = ImageBitmap::create(canvasEl
ement.get(), IntRect(0, 0, canvasElement->width(), canvasElement->height())); | 201 RefPtr<ImageBitmap> imageBitmapFromCanvas = ImageBitmap::create(canvasEl
ement.get(), IntRect(0, 0, canvasElement->width(), canvasElement->height())); |
202 imageBitmapDerived = ImageBitmap::create(imageBitmapFromCanvas.get(), In
tRect(0, 0, 20, 20)); | 202 imageBitmapDerived = ImageBitmap::create(imageBitmapFromCanvas.get(), In
tRect(0, 0, 20, 20)); |
203 } | 203 } |
204 CanvasRenderingContext* context = canvasElement->getContext("2d"); | 204 CanvasRenderingContext* context = canvasElement->getContext("2d"); |
205 TrackExceptionState exceptionState; | 205 TrackExceptionState exceptionState; |
206 toCanvasRenderingContext2D(context)->drawImage(imageBitmapDerived.get(), 0,
0, exceptionState); | 206 toCanvasRenderingContext2D(context)->drawImage(imageBitmapDerived.get(), 0,
0, exceptionState); |
207 } | 207 } |
208 | 208 |
209 } // namespace | 209 } // namespace |
OLD | NEW |