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

Side by Side Diff: cc/resources/shared_bitmap.cc

Issue 2535213002: [WIP] Add SharedMemoryTracker to dump base::SharedMemory usage
Patch Set: Implement buckets Created 3 years, 11 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/resources/shared_bitmap.h" 5 #include "cc/resources/shared_bitmap.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/numerics/safe_math.h" 11 #include "base/numerics/safe_math.h"
12 #include "base/rand_util.h" 12 #include "base/rand_util.h"
13 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
14 #include "base/strings/stringprintf.h" 14 #include "base/strings/stringprintf.h"
15 15
16 namespace cc { 16 namespace cc {
17 17
18 SharedBitmap::SharedBitmap(uint8_t* pixels, const SharedBitmapId& id) 18 SharedBitmap::SharedBitmap(uint8_t* pixels,
19 : pixels_(pixels), id_(id) {} 19 base::SharedMemory* shared_memory,
20 const SharedBitmapId& id)
21 : pixels_(pixels), shared_memory_(shared_memory), id_(id) {}
20 22
21 SharedBitmap::~SharedBitmap() { 23 SharedBitmap::~SharedBitmap() {
22 } 24 }
23 25
24 // static 26 // static
25 bool SharedBitmap::SizeInBytes(const gfx::Size& size, size_t* size_in_bytes) { 27 bool SharedBitmap::SizeInBytes(const gfx::Size& size, size_t* size_in_bytes) {
26 if (size.IsEmpty()) 28 if (size.IsEmpty())
27 return false; 29 return false;
28 base::CheckedNumeric<size_t> s = 4; 30 base::CheckedNumeric<size_t> s = 4;
29 s *= size.width(); 31 s *= size.width();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 } 73 }
72 74
73 base::trace_event::MemoryAllocatorDumpGuid GetSharedBitmapGUIDForTracing( 75 base::trace_event::MemoryAllocatorDumpGuid GetSharedBitmapGUIDForTracing(
74 const SharedBitmapId& bitmap_id) { 76 const SharedBitmapId& bitmap_id) {
75 auto bitmap_id_hex = base::HexEncode(bitmap_id.name, sizeof(bitmap_id.name)); 77 auto bitmap_id_hex = base::HexEncode(bitmap_id.name, sizeof(bitmap_id.name));
76 return base::trace_event::MemoryAllocatorDumpGuid( 78 return base::trace_event::MemoryAllocatorDumpGuid(
77 base::StringPrintf("sharedbitmap-x-process/%s", bitmap_id_hex.c_str())); 79 base::StringPrintf("sharedbitmap-x-process/%s", bitmap_id_hex.c_str()));
78 } 80 }
79 81
80 } // namespace cc 82 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698