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

Side by Side Diff: third_party/WebKit/public/platform/WebMemoryAllocatorDump.h

Issue 1738843002: Refactoring: Unify WebMemoryAllocatorDump and WebMemoryAllocatorDumpImpl Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: (rebasing) Created 4 years, 9 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 #ifndef WebMemoryAllocatorDump_h 5 #ifndef WebMemoryAllocatorDump_h
6 #define WebMemoryAllocatorDump_h 6 #define WebMemoryAllocatorDump_h
7 7
8 #include "WebCommon.h" 8 #include "WebCommon.h"
9 #include "WebNonCopyable.h"
9 #include "WebString.h" 10 #include "WebString.h"
10 11
12 #include <stdint.h>
13
14 namespace base {
15 namespace trace_event {
16 class MemoryAllocatorDump;
17 } // namespace base
18 } // namespace trace_event
19
11 namespace blink { 20 namespace blink {
12 typedef uint64_t WebMemoryAllocatorDumpGuid; 21 typedef uint64_t WebMemoryAllocatorDumpGuid;
13 22
14 // A container which holds all the attributes of a particular dump for a given 23 // A container which holds all the attributes of a particular dump for a given
15 // allocator. 24 // allocator.
16 class BLINK_PLATFORM_EXPORT WebMemoryAllocatorDump { 25 class BLINK_PLATFORM_EXPORT WebMemoryAllocatorDump : public WebNonCopyable {
17 public: 26 public:
18 virtual ~WebMemoryAllocatorDump(); 27 explicit WebMemoryAllocatorDump(base::trace_event::MemoryAllocatorDump*);
28 ~WebMemoryAllocatorDump();
19 29
20 // Adds a scalar attribute to the dump. 30 // Adds a scalar attribute to the dump.
21 // Arguments: 31 // Arguments:
22 // name: name of the attribute. Typical names, emitted by most allocators 32 // name: name of the attribute. Typical names, emitted by most allocators
23 // dump providers are: "size" and "objects_count". 33 // dump providers are: "size" and "objects_count".
24 // units: the units for the attribute. Gives a hint to the trace-viewer UI 34 // units: the units for the attribute. Gives a hint to the trace-viewer UI
25 // about the semantics of the attribute. 35 // about the semantics of the attribute.
26 // Currently supported values are "bytes" and "objects". 36 // Currently supported values are "bytes" and "objects".
27 // value: the value of the attribute. 37 // value: the value of the attribute.
28 virtual void addScalar(const char* name, const char* units, uint64_t value) {} 38 void addScalar(const char* name, const char* units, uint64_t value);
29 virtual void addScalarF(const char* name, const char* units, double value) { } 39 void addScalarF(const char* name, const char* units, double value);
30 virtual void addString(const char* name, const char* units, const WebString& value) {} 40 void addString(const char* name, const char* units, const WebString& value);
31 41
32 // |guid| is an optional global dump identifier, unique across all processes 42 // |guid| is an optional global dump identifier, unique across all processes
33 // within the scope of a global dump. It is only required when using the 43 // within the scope of a global dump. It is only required when using the
34 // graph APIs (see AddOwnershipEdge) to express retention / suballocation or 44 // graph APIs (see AddOwnershipEdge) to express retention / suballocation or
35 // cross process sharing. See crbug.com/492102 for design docs. 45 // cross process sharing. See crbug.com/492102 for design docs.
36 // Subsequent MemoryAllocatorDump(s) with the same |absolute_name| are 46 // Subsequent MemoryAllocatorDump(s) with the same |absolute_name| are
37 // expected to have the same guid. 47 // expected to have the same guid.
38 virtual WebMemoryAllocatorDumpGuid guid() const 48 WebMemoryAllocatorDumpGuid guid() const;
39 { 49
40 BLINK_ASSERT_NOT_REACHED(); 50 private:
41 return 0; 51 base::trace_event::MemoryAllocatorDump* m_memoryAllocatorDump; // Not owned.
42 } 52 blink::WebMemoryAllocatorDumpGuid m_guid;
43 }; 53 };
44 54
45 } // namespace blink 55 } // namespace blink
46 56
47 #endif // WebMemoryAllocatorDump_h 57 #endif // WebMemoryAllocatorDump_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698