Changeset 87639 in webkit
- Timestamp:
- May 29, 2011 12:00:11 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r87635 r87639 1 2011-05-29 Beth Dakin <bdakin@apple.com> 2 3 Reviewed by Darin Adler. 4 5 https://bugs.webkit.org/show_bug.cgi?id=61700 6 Need WebKit2 API to get the size of the render tree 7 -and corresponding- 8 <rdar://problem/9512733> 9 10 New member variable on RenderArena keeps track of the current amount of memory 11 allocated in the arena. The new client function sends this piece of data to 12 WebKit. 13 * page/ChromeClient.h: 14 (WebCore::ChromeClient::setRenderTreeSize): 15 * page/FrameView.cpp: 16 (WebCore::FrameView::performPostLayoutTasks): 17 * rendering/RenderArena.cpp: 18 (WebCore::RenderArena::RenderArena): 19 (WebCore::RenderArena::allocate): 20 (WebCore::RenderArena::free): 21 * rendering/RenderArena.h: 22 (WebCore::RenderArena::totalRenderArenaSize): 23 1 24 2011-05-29 Sheriff Bot <webkit.review.bot@gmail.com> 2 25 -
trunk/Source/WebCore/page/ChromeClient.h
r87521 r87639 325 325 326 326 virtual void numWheelEventHandlersChanged(unsigned) = 0; 327 328 virtual void setRenderTreeSize(size_t) { } 327 329 328 330 protected: -
trunk/Source/WebCore/page/FrameView.cpp
r87521 r87639 51 51 #include "InspectorInstrumentation.h" 52 52 #include "OverflowEvent.h" 53 #include "RenderArena.h" 53 54 #include "RenderEmbeddedObject.h" 54 55 #include "RenderFullScreen.h" … … 2062 2063 if (resized) 2063 2064 m_frame->eventHandler()->sendResizeEvent(); 2065 2066 if (Page* page = m_frame->page()) { 2067 if (m_frame->page()->mainFrame() == m_frame) 2068 page->chrome()->client()->setRenderTreeSize(m_frame->document()->renderArena()->totalRenderArenaSize()); 2069 } 2064 2070 } 2065 2071 } -
trunk/Source/WebCore/rendering/RenderArena.cpp
r59525 r87639 67 67 // Zero out the recyclers array 68 68 memset(m_recyclers, 0, sizeof(m_recyclers)); 69 70 m_totalSize = 0; 69 71 } 70 72 … … 76 78 void* RenderArena::allocate(size_t size) 77 79 { 80 m_totalSize += size; 81 78 82 #ifndef NDEBUG 79 83 // Use standard malloc so that memory debugging tools work. … … 114 118 void RenderArena::free(size_t size, void* ptr) 115 119 { 120 m_totalSize -= size; 121 116 122 #ifndef NDEBUG 117 123 // Use standard free so that memory debugging tools work. -
trunk/Source/WebCore/rendering/RenderArena.h
r76248 r87639 54 54 void free(size_t, void*); 55 55 56 size_t totalRenderArenaSize() const { return m_totalSize; } 57 56 58 private: 57 59 // Underlying arena pool … … 61 63 // i.e., 0, 4, 8, 12, 16, 20, ... 62 64 void* m_recyclers[gMaxRecycledSize >> 2]; 65 66 size_t m_totalSize; 63 67 }; 64 68
Note: See TracChangeset
for help on using the changeset viewer.