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

Side by Side Diff: Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h

Issue 7749028: Compositor leaks all resources if tab is closed and it's not the last in the process (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/835/
Patch Set: Created 9 years, 3 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 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 bool isCompositorContextLost(); 161 bool isCompositorContextLost();
162 162
163 void releaseTextures(); 163 void releaseTextures();
164 164
165 #ifndef NDEBUG 165 #ifndef NDEBUG
166 static bool s_inPaintLayerContents; 166 static bool s_inPaintLayerContents;
167 #endif 167 #endif
168 protected: 168 protected:
169 virtual PassOwnPtr<CCLayerTreeHostImplProxy> createLayerTreeHostImplProxy(); 169 virtual PassOwnPtr<CCLayerTreeHostImplProxy> createLayerTreeHostImplProxy();
170 170
171 void clearRootCCLayerImpl();
171 private: 172 private:
172 typedef Vector<RefPtr<CCLayerImpl> > LayerList; 173 typedef Vector<RefPtr<CCLayerImpl> > LayerList;
173 typedef HashMap<GraphicsContext3D*, int> ChildContextMap; 174 typedef HashMap<GraphicsContext3D*, int> ChildContextMap;
174 175
175 // FIXME: This needs to be moved to the CCLayerTreeHostImpl when that class exists. 176 // FIXME: This needs to be moved to the CCLayerTreeHostImpl when that class exists.
176 RefPtr<CCLayerImpl> m_rootCCLayerImpl; 177 RefPtr<CCLayerImpl> m_rootCCLayerImpl;
177 178
178 LayerRendererChromium(CCLayerTreeHostClient*, PassRefPtr<GraphicsContext3D>, PassOwnPtr<LayerPainterChromium> contentPaint, bool accelerateDrawing); 179 LayerRendererChromium(CCLayerTreeHostClient*, PassRefPtr<GraphicsContext3D>, PassOwnPtr<LayerPainterChromium> contentPaint, bool accelerateDrawing);
179 180
180 void updateLayers(LayerList& renderSurfaceLayerList); 181 void updateLayers(LayerList& renderSurfaceLayerList);
(...skipping 19 matching lines...) Expand all
200 201
201 bool makeContextCurrent(); 202 bool makeContextCurrent();
202 203
203 static bool compareLayerZ(const RefPtr<CCLayerImpl>&, const RefPtr<CCLayerIm pl>&); 204 static bool compareLayerZ(const RefPtr<CCLayerImpl>&, const RefPtr<CCLayerIm pl>&);
204 205
205 void dumpRenderSurfaces(TextStream&, int indent, LayerChromium*) const; 206 void dumpRenderSurfaces(TextStream&, int indent, LayerChromium*) const;
206 207
207 bool initializeSharedObjects(); 208 bool initializeSharedObjects();
208 void cleanupSharedObjects(); 209 void cleanupSharedObjects();
209 210
211 void clearRenderSurfacesOnCCLayerImplRecursive(CCLayerImpl*);
212
210 void setLayerRendererRecursive(LayerChromium*); 213 void setLayerRendererRecursive(LayerChromium*);
211 214
212 IntRect m_viewportVisibleRect; 215 IntRect m_viewportVisibleRect;
213 IntRect m_viewportContentRect; 216 IntRect m_viewportContentRect;
214 IntPoint m_viewportScrollPosition; 217 IntPoint m_viewportScrollPosition;
215 218
216 TransformationMatrix m_projectionMatrix; 219 TransformationMatrix m_projectionMatrix;
217 TransformationMatrix m_windowMatrix; 220 TransformationMatrix m_windowMatrix;
218 221
219 RefPtr<LayerChromium> m_rootLayer; 222 RefPtr<LayerChromium> m_rootLayer;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 #else 286 #else
284 #define GLC(context, x) (x) 287 #define GLC(context, x) (x)
285 #endif 288 #endif
286 289
287 290
288 } 291 }
289 292
290 #endif // USE(ACCELERATED_COMPOSITING) 293 #endif // USE(ACCELERATED_COMPOSITING)
291 294
292 #endif 295 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698