summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcaseq@chromium.org <caseq@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-23 08:09:00 +0000
committercaseq@chromium.org <caseq@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-23 08:09:00 +0000
commit6310916fb82bf742e688f7abce207bd403b0c010 (patch)
tree94657432224d439117d21b5489817ff93ab15493
parent66aafb0cf04501a73cfa94d99d0be958126ebe85 (diff)
downloadchromium_src-6310916fb82bf742e688f7abce207bd403b0c010.zip
chromium_src-6310916fb82bf742e688f7abce207bd403b0c010.tar.gz
chromium_src-6310916fb82bf742e688f7abce207bd403b0c010.tar.bz2
DevTools: add LazyPixelRef id to ImageDecodeTask event
... so we can relate ImageDecode events to image element reference and resource URL. Related blink change: https://codereview.chromium.org/24096002 BUG= R=ernstm@chromium.org, nduca@chromium.org Review URL: https://codereview.chromium.org/23537033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224691 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--cc/debug/devtools_instrumentation.h17
-rw-r--r--cc/resources/raster_worker_pool.cc4
2 files changed, 18 insertions, 3 deletions
diff --git a/cc/debug/devtools_instrumentation.h b/cc/debug/devtools_instrumentation.h
index 7a77d40..eea9e62 100644
--- a/cc/debug/devtools_instrumentation.h
+++ b/cc/debug/devtools_instrumentation.h
@@ -14,11 +14,13 @@ namespace internal {
const char kCategory[] = "cc,devtools";
const char kLayerId[] = "layerId";
const char kLayerTreeId[] = "layerTreeId";
+const char kPixelRefId[] = "pixelRefId";
+
+const char kImageDecodeTask[] = "ImageDecodeTask";
}
const char kPaintLayer[] = "PaintLayer";
const char kRasterTask[] = "RasterTask";
-const char kImageDecodeTask[] = "ImageDecodeTask";
const char kPaintSetup[] = "PaintSetup";
const char kUpdateLayer[] = "UpdateLayer";
@@ -38,6 +40,19 @@ class ScopedLayerTask {
DISALLOW_COPY_AND_ASSIGN(ScopedLayerTask);
};
+class ScopedImageDecodeTask {
+ public:
+ explicit ScopedImageDecodeTask(void* pixelRef) {
+ TRACE_EVENT_BEGIN1(internal::kCategory, internal::kImageDecodeTask,
+ internal::kPixelRefId, reinterpret_cast<uint64>(pixelRef));
+ }
+ ~ScopedImageDecodeTask() {
+ TRACE_EVENT_END0(internal::kCategory, internal::kImageDecodeTask);
+ }
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ScopedImageDecodeTask);
+};
+
class ScopedLayerTreeTask {
public:
ScopedLayerTreeTask(const char* event_name,
diff --git a/cc/resources/raster_worker_pool.cc b/cc/resources/raster_worker_pool.cc
index 6f80cc3..2df3d442 100644
--- a/cc/resources/raster_worker_pool.cc
+++ b/cc/resources/raster_worker_pool.cc
@@ -268,8 +268,8 @@ class ImageDecodeWorkerPoolTaskImpl : public internal::WorkerPoolTask {
// Overridden from internal::WorkerPoolTask:
virtual void RunOnWorkerThread(unsigned thread_index) OVERRIDE {
TRACE_EVENT0("cc", "ImageDecodeWorkerPoolTaskImpl::RunOnWorkerThread");
- devtools_instrumentation::ScopedLayerTask image_decode_task(
- devtools_instrumentation::kImageDecodeTask, layer_id_);
+ devtools_instrumentation::ScopedImageDecodeTask image_decode_task(
+ pixel_ref_);
base::TimeTicks start_time = rendering_stats_->StartRecording();
pixel_ref_->Decode();
base::TimeDelta duration = rendering_stats_->EndRecording(start_time);