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

Side by Side Diff: third_party/WebKit/Source/platform/SharedBuffer.h

Issue 1369253002: Add Web Resources usage to chrome://tracing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@web_cache2_base
Patch Set: Fix names. Created 5 years, 1 month 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 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
3 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. 3 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 19 matching lines...) Expand all
30 #include "platform/PlatformExport.h" 30 #include "platform/PlatformExport.h"
31 #include "platform/PurgeableVector.h" 31 #include "platform/PurgeableVector.h"
32 #include "third_party/skia/include/core/SkData.h" 32 #include "third_party/skia/include/core/SkData.h"
33 #include "wtf/Forward.h" 33 #include "wtf/Forward.h"
34 #include "wtf/OwnPtr.h" 34 #include "wtf/OwnPtr.h"
35 #include "wtf/RefCounted.h" 35 #include "wtf/RefCounted.h"
36 #include "wtf/text/WTFString.h" 36 #include "wtf/text/WTFString.h"
37 37
38 namespace blink { 38 namespace blink {
39 39
40 class WebProcessMemoryDump;
41
40 class PLATFORM_EXPORT SharedBuffer : public RefCounted<SharedBuffer> { 42 class PLATFORM_EXPORT SharedBuffer : public RefCounted<SharedBuffer> {
41 public: 43 public:
42 enum : unsigned { kSegmentSize = 0x1000 }; 44 enum : unsigned { kSegmentSize = 0x1000 };
43 45
44 static PassRefPtr<SharedBuffer> create() { return adoptRef(new SharedBuffer) ; } 46 static PassRefPtr<SharedBuffer> create() { return adoptRef(new SharedBuffer) ; }
45 static PassRefPtr<SharedBuffer> create(size_t size) { return adoptRef(new Sh aredBuffer(size)); } 47 static PassRefPtr<SharedBuffer> create(size_t size) { return adoptRef(new Sh aredBuffer(size)); }
46 static PassRefPtr<SharedBuffer> create(const char* c, int i) { return adoptR ef(new SharedBuffer(c, i)); } 48 static PassRefPtr<SharedBuffer> create(const char* c, int i) { return adoptR ef(new SharedBuffer(c, i)); }
47 static PassRefPtr<SharedBuffer> create(const unsigned char* c, int i) { retu rn adoptRef(new SharedBuffer(c, i)); } 49 static PassRefPtr<SharedBuffer> create(const unsigned char* c, int i) { retu rn adoptRef(new SharedBuffer(c, i)); }
48 50
49 static PassRefPtr<SharedBuffer> createPurgeable(const char* c, unsigned size ) { return adoptRef(new SharedBuffer(c, size, PurgeableVector::Purgeable)); } 51 static PassRefPtr<SharedBuffer> createPurgeable(const char* c, unsigned size ) { return adoptRef(new SharedBuffer(c, size, PurgeableVector::Purgeable)); }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // See PurgeableVector::lock(). 97 // See PurgeableVector::lock().
96 bool lock(); 98 bool lock();
97 99
98 // WARNING: Calling unlock() on a SharedBuffer that wasn't created with the 100 // WARNING: Calling unlock() on a SharedBuffer that wasn't created with the
99 // purgeability option does an extra memcpy(). Please use 101 // purgeability option does an extra memcpy(). Please use
100 // SharedBuffer::createPurgeable() if you intend to call unlock(). 102 // SharedBuffer::createPurgeable() if you intend to call unlock().
101 void unlock(); 103 void unlock();
102 104
103 bool isLocked() const; 105 bool isLocked() const;
104 106
107 void onMemoryDump(const String& dumpPrefix, WebProcessMemoryDump*) const;
108
105 private: 109 private:
106 SharedBuffer(); 110 SharedBuffer();
107 explicit SharedBuffer(size_t); 111 explicit SharedBuffer(size_t);
108 SharedBuffer(const char*, int); 112 SharedBuffer(const char*, int);
109 SharedBuffer(const unsigned char*, int); 113 SharedBuffer(const unsigned char*, int);
110 SharedBuffer(const char*, unsigned, PurgeableVector::PurgeableOption); 114 SharedBuffer(const char*, unsigned, PurgeableVector::PurgeableOption);
111 115
112 // See SharedBuffer::data(). 116 // See SharedBuffer::data().
113 void mergeSegmentsIntoBuffer() const; 117 void mergeSegmentsIntoBuffer() const;
114 118
115 unsigned m_size; 119 unsigned m_size;
116 mutable PurgeableVector m_buffer; 120 mutable PurgeableVector m_buffer;
117 mutable Vector<char*> m_segments; 121 mutable Vector<char*> m_segments;
118 }; 122 };
119 123
120 } // namespace blink 124 } // namespace blink
121 125
122 #endif // SharedBuffer_h 126 #endif // SharedBuffer_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/PurgeableVector.cpp ('k') | third_party/WebKit/Source/platform/SharedBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698