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

Side by Side Diff: Source/core/frame/ImageBitmapTest.cpp

Issue 174523002: Reland "Move MemoryCache implementation details out of Resource" (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/Resource.cpp ('k') | Source/core/inspector/InspectorResourceAgent.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « Source/core/fetch/Resource.cpp ('k') | Source/core/inspector/InspectorResourceAgent.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698