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

Side by Side Diff: Source/platform/graphics/gpu/DrawingBufferTest.cpp

Issue 415123002: Let canvas decide how to handle the lost resource: WebGL part (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rename test case Created 6 years, 4 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
« no previous file with comments | « Source/platform/graphics/gpu/DrawingBuffer.cpp ('k') | no next file » | 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 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 308
309 weakPointer->markContentsChanged(); 309 weakPointer->markContentsChanged();
310 weakPointer->mailboxReleased(mailbox2); 310 weakPointer->mailboxReleased(mailbox2);
311 EXPECT_EQ(live, true); 311 EXPECT_EQ(live, true);
312 312
313 weakPointer->markContentsChanged(); 313 weakPointer->markContentsChanged();
314 weakPointer->mailboxReleased(mailbox3); 314 weakPointer->mailboxReleased(mailbox3);
315 EXPECT_EQ(live, false); 315 EXPECT_EQ(live, false);
316 } 316 }
317 317
318 TEST_F(DrawingBufferTest, verifyDrawingBufferStaysAliveIfResourcesAreLost)
319 {
320 bool live = true;
321 m_drawingBuffer->m_live = &live;
322 blink::WebExternalTextureMailbox mailbox1;
323 blink::WebExternalTextureMailbox mailbox2;
324 blink::WebExternalTextureMailbox mailbox3;
325
326 m_drawingBuffer->markContentsChanged();
327 EXPECT_TRUE(m_drawingBuffer->prepareMailbox(&mailbox1, 0));
328 m_drawingBuffer->markContentsChanged();
329 EXPECT_TRUE(m_drawingBuffer->prepareMailbox(&mailbox2, 0));
330 m_drawingBuffer->markContentsChanged();
331 EXPECT_TRUE(m_drawingBuffer->prepareMailbox(&mailbox3, 0));
332
333 m_drawingBuffer->markContentsChanged();
334 m_drawingBuffer->mailboxReleased(mailbox1, true);
335 EXPECT_EQ(live, true);
336
337 m_drawingBuffer->beginDestruction();
338 EXPECT_EQ(live, true);
339
340 m_drawingBuffer->markContentsChanged();
341 m_drawingBuffer->mailboxReleased(mailbox2, false);
342 EXPECT_EQ(live, true);
343
344 DrawingBufferForTests* weakPtr = m_drawingBuffer.get();
345 m_drawingBuffer.clear();
346 EXPECT_EQ(live, true);
347
348 weakPtr->markContentsChanged();
349 weakPtr->mailboxReleased(mailbox3, true);
350 EXPECT_EQ(live, false);
351 }
352
318 class TextureMailboxWrapper { 353 class TextureMailboxWrapper {
319 public: 354 public:
320 explicit TextureMailboxWrapper(const blink::WebExternalTextureMailbox& mailb ox) 355 explicit TextureMailboxWrapper(const blink::WebExternalTextureMailbox& mailb ox)
321 : m_mailbox(mailbox) 356 : m_mailbox(mailbox)
322 { } 357 { }
323 358
324 bool operator==(const TextureMailboxWrapper& other) const 359 bool operator==(const TextureMailboxWrapper& other) const
325 { 360 {
326 return !memcmp(m_mailbox.name, other.m_mailbox.name, sizeof(m_mailbox.na me)); 361 return !memcmp(m_mailbox.name, other.m_mailbox.name, sizeof(m_mailbox.na me));
327 } 362 }
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
618 } else { 653 } else {
619 EXPECT_EQ(0u, trackingContext->stencilAttachment()); 654 EXPECT_EQ(0u, trackingContext->stencilAttachment());
620 EXPECT_EQ(0u, trackingContext->depthAttachment()); 655 EXPECT_EQ(0u, trackingContext->depthAttachment());
621 } 656 }
622 657
623 drawingBuffer->beginDestruction(); 658 drawingBuffer->beginDestruction();
624 } 659 }
625 } 660 }
626 661
627 } // namespace 662 } // namespace
OLDNEW
« no previous file with comments | « Source/platform/graphics/gpu/DrawingBuffer.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698