| OLD | NEW | 
|---|
| 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 | 
| OLD | NEW | 
|---|