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

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

Issue 2904743002: cc: Add UMA for tracking decode duration for out of raster decodes. (Closed)
Patch Set: .. Created 3 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <vector> 5 #include <vector>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "cc/tiles/decoded_image_tracker.h" 8 #include "cc/tiles/decoded_image_tracker.h"
9 #include "cc/tiles/image_controller.h" 9 #include "cc/tiles/image_controller.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace cc { 12 namespace cc {
13 13
14 class TestImageController : public ImageController { 14 class TestImageController : public ImageController {
15 public: 15 public:
16 TestImageController() : ImageController(nullptr, nullptr) {} 16 TestImageController() : ImageController(nullptr, nullptr) {}
17 17
18 void UnlockImageDecode(ImageDecodeRequestId id) override { 18 void UnlockImageDecode(ImageDecodeRequestId id) override {
19 auto it = std::find(locked_ids_.begin(), locked_ids_.end(), id); 19 auto it = std::find(locked_ids_.begin(), locked_ids_.end(), id);
20 ASSERT_FALSE(it == locked_ids_.end()); 20 ASSERT_FALSE(it == locked_ids_.end());
21 locked_ids_.erase(it); 21 locked_ids_.erase(it);
22 } 22 }
23 23
24 ImageDecodeRequestId QueueImageDecode( 24 ImageDecodeRequestId QueueImageDecode(
25 sk_sp<const SkImage> image, 25 sk_sp<const SkImage> image,
26 const ImageDecodedCallback& callback) override { 26 const ImageDecodedCallback& callback,
27 ImageDecodeCache::ImageDecodeType type) override {
27 auto id = next_id_++; 28 auto id = next_id_++;
28 locked_ids_.push_back(id); 29 locked_ids_.push_back(id);
29 callback.Run(id, ImageDecodeResult::SUCCESS); 30 callback.Run(id, ImageDecodeResult::SUCCESS);
30 return id; 31 return id;
31 } 32 }
32 33
33 size_t num_locked_images() { return locked_ids_.size(); } 34 size_t num_locked_images() { return locked_ids_.size(); }
34 35
35 private: 36 private:
36 ImageDecodeRequestId next_id_ = 1; 37 ImageDecodeRequestId next_id_ = 1;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 EXPECT_EQ(2u, image_controller()->num_locked_images()); 82 EXPECT_EQ(2u, image_controller()->num_locked_images());
82 83
83 decoded_image_tracker()->NotifyFrameFinished(); 84 decoded_image_tracker()->NotifyFrameFinished();
84 EXPECT_EQ(1u, image_controller()->num_locked_images()); 85 EXPECT_EQ(1u, image_controller()->num_locked_images());
85 86
86 decoded_image_tracker()->NotifyFrameFinished(); 87 decoded_image_tracker()->NotifyFrameFinished();
87 EXPECT_EQ(0u, image_controller()->num_locked_images()); 88 EXPECT_EQ(0u, image_controller()->num_locked_images());
88 } 89 }
89 90
90 } // namespace cc 91 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698