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

Side by Side Diff: cc/tiles/software_image_decode_controller_unittest.cc

Issue 1866043006: cc: Remove ScheduleOnOriginThread() and CompleteOnOriginThread(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wip - fixed few unit tests Created 4 years, 8 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/tiles/software_image_decode_controller.h" 5 #include "cc/tiles/software_image_decode_controller.h"
6 6
7 #include "cc/playback/draw_image.h" 7 #include "cc/playback/draw_image.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace cc { 10 namespace cc {
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 skia::RefPtr<SkImage> image = CreateImage(100, 100); 497 skia::RefPtr<SkImage> image = CreateImage(100, 100);
498 DrawImage draw_image( 498 DrawImage draw_image(
499 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality, 499 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality,
500 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); 500 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable));
501 scoped_refptr<ImageDecodeTask> task; 501 scoped_refptr<ImageDecodeTask> task;
502 bool need_unref = 502 bool need_unref =
503 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 503 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
504 EXPECT_TRUE(need_unref); 504 EXPECT_TRUE(need_unref);
505 EXPECT_TRUE(task); 505 EXPECT_TRUE(task);
506 506
507 task->WillSchedule();
508 task->ScheduleOnOriginThread(nullptr);
509 task->DidSchedule();
510 task->RunOnWorkerThread(); 507 task->RunOnWorkerThread();
511 508
512 scoped_refptr<ImageDecodeTask> another_task; 509 scoped_refptr<ImageDecodeTask> another_task;
513 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 510 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
514 &another_task); 511 &another_task);
515 EXPECT_TRUE(need_unref); 512 EXPECT_TRUE(need_unref);
516 EXPECT_FALSE(another_task); 513 EXPECT_FALSE(another_task);
517 514
518 task->WillComplete(); 515 controller.CompleteTask(task.get());
519 task->CompleteOnOriginThread(nullptr);
520 task->DidComplete(); 516 task->DidComplete();
521 517
522 controller.UnrefImage(draw_image); 518 controller.UnrefImage(draw_image);
523 controller.UnrefImage(draw_image); 519 controller.UnrefImage(draw_image);
524 } 520 }
525 521
526 TEST(SoftwareImageDecodeControllerTest, GetTaskForImageAlreadyPrerolled) { 522 TEST(SoftwareImageDecodeControllerTest, GetTaskForImageAlreadyPrerolled) {
527 SoftwareImageDecodeController controller; 523 SoftwareImageDecodeController controller;
528 bool is_decomposable = true; 524 bool is_decomposable = true;
529 uint64_t prepare_tiles_id = 1; 525 uint64_t prepare_tiles_id = 1;
530 SkFilterQuality quality = kLow_SkFilterQuality; 526 SkFilterQuality quality = kLow_SkFilterQuality;
531 527
532 skia::RefPtr<SkImage> image = CreateImage(100, 100); 528 skia::RefPtr<SkImage> image = CreateImage(100, 100);
533 DrawImage draw_image( 529 DrawImage draw_image(
534 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality, 530 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality,
535 CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable)); 531 CreateMatrix(SkSize::Make(1.f, 1.f), is_decomposable));
536 scoped_refptr<ImageDecodeTask> task; 532 scoped_refptr<ImageDecodeTask> task;
537 bool need_unref = 533 bool need_unref =
538 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 534 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
539 EXPECT_TRUE(need_unref); 535 EXPECT_TRUE(need_unref);
540 EXPECT_TRUE(task); 536 EXPECT_TRUE(task);
541 537
542 task->WillSchedule();
543 task->ScheduleOnOriginThread(nullptr);
544 task->DidSchedule();
545 task->RunOnWorkerThread(); 538 task->RunOnWorkerThread();
546 539
547 scoped_refptr<ImageDecodeTask> another_task; 540 scoped_refptr<ImageDecodeTask> another_task;
548 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 541 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
549 &another_task); 542 &another_task);
550 EXPECT_TRUE(need_unref); 543 EXPECT_TRUE(need_unref);
551 EXPECT_FALSE(another_task); 544 EXPECT_FALSE(another_task);
552 545
553 task->WillComplete(); 546 controller.CompleteTask(task.get());
554 task->CompleteOnOriginThread(nullptr);
555 task->DidComplete(); 547 task->DidComplete();
556 548
557 scoped_refptr<ImageDecodeTask> third_task; 549 scoped_refptr<ImageDecodeTask> third_task;
558 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 550 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
559 &third_task); 551 &third_task);
560 EXPECT_TRUE(need_unref); 552 EXPECT_TRUE(need_unref);
561 EXPECT_FALSE(third_task); 553 EXPECT_FALSE(third_task);
562 554
563 controller.UnrefImage(draw_image); 555 controller.UnrefImage(draw_image);
564 controller.UnrefImage(draw_image); 556 controller.UnrefImage(draw_image);
565 controller.UnrefImage(draw_image); 557 controller.UnrefImage(draw_image);
566 } 558 }
567 559
568 TEST(SoftwareImageDecodeControllerTest, GetTaskForImageCanceledGetsNewTask) { 560 TEST(SoftwareImageDecodeControllerTest, GetTaskForImageCanceledGetsNewTask) {
569 SoftwareImageDecodeController controller; 561 SoftwareImageDecodeController controller;
570 bool is_decomposable = true; 562 bool is_decomposable = true;
571 uint64_t prepare_tiles_id = 1; 563 uint64_t prepare_tiles_id = 1;
572 SkFilterQuality quality = kHigh_SkFilterQuality; 564 SkFilterQuality quality = kHigh_SkFilterQuality;
573 565
574 skia::RefPtr<SkImage> image = CreateImage(100, 100); 566 skia::RefPtr<SkImage> image = CreateImage(100, 100);
575 DrawImage draw_image( 567 DrawImage draw_image(
576 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality, 568 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality,
577 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); 569 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable));
578 scoped_refptr<ImageDecodeTask> task; 570 scoped_refptr<ImageDecodeTask> task;
579 bool need_unref = 571 bool need_unref =
580 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 572 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
581 EXPECT_TRUE(need_unref); 573 EXPECT_TRUE(need_unref);
582 EXPECT_TRUE(task); 574 EXPECT_TRUE(task);
583
584 task->WillSchedule();
585 task->ScheduleOnOriginThread(nullptr);
586 task->DidSchedule();
587
588 scoped_refptr<ImageDecodeTask> another_task; 575 scoped_refptr<ImageDecodeTask> another_task;
589 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 576 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
590 &another_task); 577 &another_task);
591 EXPECT_TRUE(need_unref); 578 EXPECT_TRUE(need_unref);
592 EXPECT_TRUE(another_task.get() == task.get()); 579 EXPECT_TRUE(another_task.get() == task.get());
593 580
594 // Didn't run the task, complete it (it was canceled). 581 // Didn't run the task, complete it (it was canceled).
595 task->WillComplete(); 582 controller.CompleteTask(task.get());
596 task->CompleteOnOriginThread(nullptr);
597 task->DidComplete(); 583 task->DidComplete();
598 584
599 // Fully cancel everything (so the raster would unref things). 585 // Fully cancel everything (so the raster would unref things).
600 controller.UnrefImage(draw_image); 586 controller.UnrefImage(draw_image);
601 controller.UnrefImage(draw_image); 587 controller.UnrefImage(draw_image);
602 588
603 // Here a new task is created. 589 // Here a new task is created.
604 scoped_refptr<ImageDecodeTask> third_task; 590 scoped_refptr<ImageDecodeTask> third_task;
605 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 591 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
606 &third_task); 592 &third_task);
(...skipping 14 matching lines...) Expand all
621 skia::RefPtr<SkImage> image = CreateImage(100, 100); 607 skia::RefPtr<SkImage> image = CreateImage(100, 100);
622 DrawImage draw_image( 608 DrawImage draw_image(
623 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality, 609 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality,
624 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); 610 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable));
625 scoped_refptr<ImageDecodeTask> task; 611 scoped_refptr<ImageDecodeTask> task;
626 bool need_unref = 612 bool need_unref =
627 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 613 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
628 EXPECT_TRUE(need_unref); 614 EXPECT_TRUE(need_unref);
629 EXPECT_TRUE(task); 615 EXPECT_TRUE(task);
630 616
631 task->WillSchedule();
632 task->ScheduleOnOriginThread(nullptr);
633 task->DidSchedule();
634
635 scoped_refptr<ImageDecodeTask> another_task; 617 scoped_refptr<ImageDecodeTask> another_task;
636 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 618 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
637 &another_task); 619 &another_task);
638 EXPECT_TRUE(need_unref); 620 EXPECT_TRUE(need_unref);
639 EXPECT_TRUE(another_task.get() == task.get()); 621 EXPECT_TRUE(another_task.get() == task.get());
640 622
641 // Didn't run the task, complete it (it was canceled). 623 // Didn't run the task, complete it (it was canceled).
642 task->WillComplete(); 624 controller.CompleteTask(task.get());
643 task->CompleteOnOriginThread(nullptr);
644 task->DidComplete(); 625 task->DidComplete();
645 626
646 // Note that here, everything is reffed, but a new task is created. This is 627 // Note that here, everything is reffed, but a new task is created. This is
647 // possible with repeated schedule/cancel operations. 628 // possible with repeated schedule/cancel operations.
648 scoped_refptr<ImageDecodeTask> third_task; 629 scoped_refptr<ImageDecodeTask> third_task;
649 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, 630 need_unref = controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id,
650 &third_task); 631 &third_task);
651 EXPECT_TRUE(need_unref); 632 EXPECT_TRUE(need_unref);
652 EXPECT_TRUE(third_task); 633 EXPECT_TRUE(third_task);
653 EXPECT_FALSE(third_task.get() == task.get()); 634 EXPECT_FALSE(third_task.get() == task.get());
(...skipping 13 matching lines...) Expand all
667 skia::RefPtr<SkImage> image = CreateImage(100, 100); 648 skia::RefPtr<SkImage> image = CreateImage(100, 100);
668 DrawImage draw_image( 649 DrawImage draw_image(
669 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality, 650 image.get(), SkIRect::MakeWH(image->width(), image->height()), quality,
670 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); 651 CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable));
671 scoped_refptr<ImageDecodeTask> task; 652 scoped_refptr<ImageDecodeTask> task;
672 bool need_unref = 653 bool need_unref =
673 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 654 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
674 EXPECT_TRUE(need_unref); 655 EXPECT_TRUE(need_unref);
675 EXPECT_TRUE(task); 656 EXPECT_TRUE(task);
676 657
677 task->WillSchedule();
678 task->ScheduleOnOriginThread(nullptr);
679 task->DidSchedule();
680
681 task->RunOnWorkerThread(); 658 task->RunOnWorkerThread();
682 659
683 task->WillComplete(); 660 controller.CompleteTask(task.get());
684 task->CompleteOnOriginThread(nullptr);
685 task->DidComplete(); 661 task->DidComplete();
686 662
687 DecodedDrawImage decoded_draw_image = 663 DecodedDrawImage decoded_draw_image =
688 controller.GetDecodedImageForDraw(draw_image); 664 controller.GetDecodedImageForDraw(draw_image);
689 EXPECT_TRUE(decoded_draw_image.image()); 665 EXPECT_TRUE(decoded_draw_image.image());
690 EXPECT_EQ(50, decoded_draw_image.image()->width()); 666 EXPECT_EQ(50, decoded_draw_image.image()->width());
691 EXPECT_EQ(50, decoded_draw_image.image()->height()); 667 EXPECT_EQ(50, decoded_draw_image.image()->height());
692 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().width()); 668 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().width());
693 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().height()); 669 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().height());
694 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality()); 670 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality());
(...skipping 14 matching lines...) Expand all
709 skia::RefPtr<SkImage> image = CreateImage(100, 100); 685 skia::RefPtr<SkImage> image = CreateImage(100, 100);
710 DrawImage draw_image( 686 DrawImage draw_image(
711 image.get(), SkIRect::MakeXYWH(20, 30, image->width(), image->height()), 687 image.get(), SkIRect::MakeXYWH(20, 30, image->width(), image->height()),
712 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable)); 688 quality, CreateMatrix(SkSize::Make(0.5f, 0.5f), is_decomposable));
713 scoped_refptr<ImageDecodeTask> task; 689 scoped_refptr<ImageDecodeTask> task;
714 bool need_unref = 690 bool need_unref =
715 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 691 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
716 EXPECT_TRUE(need_unref); 692 EXPECT_TRUE(need_unref);
717 EXPECT_TRUE(task); 693 EXPECT_TRUE(task);
718 694
719 task->WillSchedule();
720 task->ScheduleOnOriginThread(nullptr);
721 task->DidSchedule();
722
723 task->RunOnWorkerThread(); 695 task->RunOnWorkerThread();
724 696
725 task->WillComplete(); 697 controller.CompleteTask(task.get());
726 task->CompleteOnOriginThread(nullptr);
727 task->DidComplete(); 698 task->DidComplete();
728 699
729 DecodedDrawImage decoded_draw_image = 700 DecodedDrawImage decoded_draw_image =
730 controller.GetDecodedImageForDraw(draw_image); 701 controller.GetDecodedImageForDraw(draw_image);
731 EXPECT_TRUE(decoded_draw_image.image()); 702 EXPECT_TRUE(decoded_draw_image.image());
732 EXPECT_EQ(40, decoded_draw_image.image()->width()); 703 EXPECT_EQ(40, decoded_draw_image.image()->width());
733 EXPECT_EQ(35, decoded_draw_image.image()->height()); 704 EXPECT_EQ(35, decoded_draw_image.image()->height());
734 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().width()); 705 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().width());
735 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().height()); 706 EXPECT_FLOAT_EQ(0.5f, decoded_draw_image.scale_adjustment().height());
736 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality()); 707 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality());
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality()); 789 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality());
819 EXPECT_FALSE(decoded_draw_image.is_scale_adjustment_identity()); 790 EXPECT_FALSE(decoded_draw_image.is_scale_adjustment_identity());
820 EXPECT_TRUE(decoded_draw_image.is_at_raster_decode()); 791 EXPECT_TRUE(decoded_draw_image.is_at_raster_decode());
821 792
822 scoped_refptr<ImageDecodeTask> task; 793 scoped_refptr<ImageDecodeTask> task;
823 bool need_unref = 794 bool need_unref =
824 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 795 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
825 EXPECT_TRUE(need_unref); 796 EXPECT_TRUE(need_unref);
826 EXPECT_TRUE(task); 797 EXPECT_TRUE(task);
827 798
828 task->WillSchedule();
829 task->ScheduleOnOriginThread(nullptr);
830 task->DidSchedule();
831
832 task->RunOnWorkerThread(); 799 task->RunOnWorkerThread();
833 800
834 task->WillComplete(); 801 controller.CompleteTask(task.get());
835 task->CompleteOnOriginThread(nullptr);
836 task->DidComplete(); 802 task->DidComplete();
837 803
838 DecodedDrawImage another_decoded_draw_image = 804 DecodedDrawImage another_decoded_draw_image =
839 controller.GetDecodedImageForDraw(draw_image); 805 controller.GetDecodedImageForDraw(draw_image);
840 // This should get the new decoded/locked image, not the one we're using at 806 // This should get the new decoded/locked image, not the one we're using at
841 // raster. 807 // raster.
842 // TODO(vmpstr): We can possibly optimize this so that the decode simply moves 808 // TODO(vmpstr): We can possibly optimize this so that the decode simply moves
843 // the image to the right spot. 809 // the image to the right spot.
844 EXPECT_NE(decoded_draw_image.image()->uniqueID(), 810 EXPECT_NE(decoded_draw_image.image()->uniqueID(),
845 another_decoded_draw_image.image()->uniqueID()); 811 another_decoded_draw_image.image()->uniqueID());
(...skipping 26 matching lines...) Expand all
872 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality()); 838 EXPECT_EQ(kLow_SkFilterQuality, decoded_draw_image.filter_quality());
873 EXPECT_FALSE(decoded_draw_image.is_scale_adjustment_identity()); 839 EXPECT_FALSE(decoded_draw_image.is_scale_adjustment_identity());
874 EXPECT_TRUE(decoded_draw_image.is_at_raster_decode()); 840 EXPECT_TRUE(decoded_draw_image.is_at_raster_decode());
875 841
876 scoped_refptr<ImageDecodeTask> task; 842 scoped_refptr<ImageDecodeTask> task;
877 bool need_unref = 843 bool need_unref =
878 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task); 844 controller.GetTaskForImageAndRef(draw_image, prepare_tiles_id, &task);
879 EXPECT_TRUE(need_unref); 845 EXPECT_TRUE(need_unref);
880 EXPECT_TRUE(task); 846 EXPECT_TRUE(task);
881 847
882 task->WillSchedule();
883 task->ScheduleOnOriginThread(nullptr);
884 task->DidSchedule();
885
886 // If we finish the draw here, then we will use it for the locked decode 848 // If we finish the draw here, then we will use it for the locked decode
887 // instead of decoding again. 849 // instead of decoding again.
888 controller.DrawWithImageFinished(draw_image, decoded_draw_image); 850 controller.DrawWithImageFinished(draw_image, decoded_draw_image);
889 851
890 task->RunOnWorkerThread(); 852 task->RunOnWorkerThread();
891 853
892 task->WillComplete(); 854 controller.CompleteTask(task.get());
893 task->CompleteOnOriginThread(nullptr);
894 task->DidComplete(); 855 task->DidComplete();
895 856
896 DecodedDrawImage another_decoded_draw_image = 857 DecodedDrawImage another_decoded_draw_image =
897 controller.GetDecodedImageForDraw(draw_image); 858 controller.GetDecodedImageForDraw(draw_image);
898 // This should get the decoded/locked image which we originally decoded at 859 // This should get the decoded/locked image which we originally decoded at
899 // raster time, since it's now in the locked cache. 860 // raster time, since it's now in the locked cache.
900 EXPECT_EQ(decoded_draw_image.image()->uniqueID(), 861 EXPECT_EQ(decoded_draw_image.image()->uniqueID(),
901 another_decoded_draw_image.image()->uniqueID()); 862 another_decoded_draw_image.image()->uniqueID());
902 EXPECT_FALSE(another_decoded_draw_image.is_at_raster_decode()); 863 EXPECT_FALSE(another_decoded_draw_image.is_at_raster_decode());
903 864
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
1033 // SkImage object. 994 // SkImage object.
1034 EXPECT_TRUE(decoded_draw_image.image() != image.get()); 995 EXPECT_TRUE(decoded_draw_image.image() != image.get());
1035 EXPECT_EQ(kNone_SkFilterQuality, decoded_draw_image.filter_quality()); 996 EXPECT_EQ(kNone_SkFilterQuality, decoded_draw_image.filter_quality());
1036 EXPECT_TRUE(decoded_draw_image.is_scale_adjustment_identity()); 997 EXPECT_TRUE(decoded_draw_image.is_scale_adjustment_identity());
1037 998
1038 controller.DrawWithImageFinished(draw_image, decoded_draw_image); 999 controller.DrawWithImageFinished(draw_image, decoded_draw_image);
1039 controller.UnrefImage(draw_image); 1000 controller.UnrefImage(draw_image);
1040 } 1001 }
1041 } // namespace 1002 } // namespace
1042 } // namespace cc 1003 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698