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

Side by Side Diff: Source/platform/graphics/GraphicsContextTest.cpp

Issue 562543004: Check If ImageBuffer is allocated before proceeding. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 // not be marked opaque. 236 // not be marked opaque.
237 237
238 context.setCompositeOperation(CompositeSourceOver); 238 context.setCompositeOperation(CompositeSourceOver);
239 context.beginTransparencyLayer(1); 239 context.beginTransparencyLayer(1);
240 context.fillRect(FloatRect(10, 10, 10, 10), opaque, CompositeSourceOver); 240 context.fillRect(FloatRect(10, 10, 10, 10), opaque, CompositeSourceOver);
241 241
242 context.setCompositeOperation(CompositeDestinationIn); 242 context.setCompositeOperation(CompositeDestinationIn);
243 context.beginTransparencyLayer(1); 243 context.beginTransparencyLayer(1);
244 244
245 OwnPtr<ImageBuffer> alphaImage = ImageBuffer::create(IntSize(100, 100)); 245 OwnPtr<ImageBuffer> alphaImage = ImageBuffer::create(IntSize(100, 100));
246 EXPECT_FALSE(!alphaImage);
246 alphaImage->context()->fillRect(IntRect(0, 0, 100, 100), alpha); 247 alphaImage->context()->fillRect(IntRect(0, 0, 100, 100), alpha);
247 248
248 context.setCompositeOperation(CompositeSourceOver); 249 context.setCompositeOperation(CompositeSourceOver);
249 context.drawImageBuffer(alphaImage.get(), FloatRect(10, 10, 10, 10)); 250 context.drawImageBuffer(alphaImage.get(), FloatRect(10, 10, 10, 10));
250 251
251 context.endLayer(); 252 context.endLayer();
252 context.endLayer(); 253 context.endLayer();
253 254
254 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); 255 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect());
255 EXPECT_PIXELS_MATCH_EXACT(bitmap, context.opaqueRegion().asRect()); 256 EXPECT_PIXELS_MATCH_EXACT(bitmap, context.opaqueRegion().asRect());
(...skipping 17 matching lines...) Expand all
273 // not be marked opaque. 274 // not be marked opaque.
274 275
275 context.setCompositeOperation(CompositeSourceOver); 276 context.setCompositeOperation(CompositeSourceOver);
276 context.beginTransparencyLayer(1); 277 context.beginTransparencyLayer(1);
277 context.fillRect(FloatRect(10, 10, 10, 10), opaque, CompositeSourceOver); 278 context.fillRect(FloatRect(10, 10, 10, 10), opaque, CompositeSourceOver);
278 279
279 context.setCompositeOperation(CompositeDestinationIn); 280 context.setCompositeOperation(CompositeDestinationIn);
280 context.beginTransparencyLayer(1); 281 context.beginTransparencyLayer(1);
281 282
282 OwnPtr<ImageBuffer> alphaImage = ImageBuffer::create(IntSize(100, 100)); 283 OwnPtr<ImageBuffer> alphaImage = ImageBuffer::create(IntSize(100, 100));
284 EXPECT_FALSE(!alphaImage);
283 alphaImage->context()->fillRect(IntRect(0, 0, 100, 100), alpha); 285 alphaImage->context()->fillRect(IntRect(0, 0, 100, 100), alpha);
284 286
285 context.setCompositeOperation(CompositeSourceOver); 287 context.setCompositeOperation(CompositeSourceOver);
286 context.drawImageBuffer(alphaImage.get(), FloatRect(10, 10, 10, 10)); 288 context.drawImageBuffer(alphaImage.get(), FloatRect(10, 10, 10, 10));
287 289
288 // We can't have an opaque mask actually, but we can pretend here like it wo uld look if we did. 290 // We can't have an opaque mask actually, but we can pretend here like it wo uld look if we did.
289 context.fillRect(FloatRect(12, 12, 3, 3), opaque, CompositeSourceOver); 291 context.fillRect(FloatRect(12, 12, 3, 3), opaque, CompositeSourceOver);
290 292
291 context.endLayer(); 293 context.endLayer();
292 context.endLayer(); 294 context.endLayer();
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after
1180 // endRecording finally makes the picture accessible 1182 // endRecording finally makes the picture accessible
1181 RefPtr<DisplayList> dl = context.endRecording(); 1183 RefPtr<DisplayList> dl = context.endRecording();
1182 SkPicture* pic = dl->picture(); 1184 SkPicture* pic = dl->picture();
1183 EXPECT_TRUE(pic); 1185 EXPECT_TRUE(pic);
1184 EXPECT_EQ(1, pic->getRefCnt()); 1186 EXPECT_EQ(1, pic->getRefCnt());
1185 1187
1186 context.endRecording(); 1188 context.endRecording();
1187 } 1189 }
1188 1190
1189 } // namespace 1191 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698