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

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

Issue 10690121: Merge 121076 - [chromium] LayerRendererChromium is not getting visibility messages in single thread… (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1180/
Patch Set: Created 8 years, 5 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 RecreateFailedAndGaveUp, 162 RecreateFailedAndGaveUp,
163 }; 163 };
164 RecreateResult recreateContext(); 164 RecreateResult recreateContext();
165 void willCommit() { m_client->willCommit(); } 165 void willCommit() { m_client->willCommit(); }
166 void didCommitAndDrawFrame() { m_client->didCommitAndDrawFrame(); } 166 void didCommitAndDrawFrame() { m_client->didCommitAndDrawFrame(); }
167 void didCompleteSwapBuffers() { m_client->didCompleteSwapBuffers(); } 167 void didCompleteSwapBuffers() { m_client->didCompleteSwapBuffers(); }
168 void deleteContentsTexturesOnImplThread(TextureAllocator*); 168 void deleteContentsTexturesOnImplThread(TextureAllocator*);
169 virtual void acquireLayerTextures(); 169 virtual void acquireLayerTextures();
170 // Returns false if we should abort this frame due to initialization failure . 170 // Returns false if we should abort this frame due to initialization failure .
171 bool initializeLayerRendererIfNeeded(); 171 bool initializeLayerRendererIfNeeded();
172 void updateLayers(CCTextureUpdater&); 172 void updateLayers(CCTextureUpdater&, size_t contentsMemoryLimitBytes);
173 173
174 CCLayerTreeHostClient* client() { return m_client; } 174 CCLayerTreeHostClient* client() { return m_client; }
175 175
176 int compositorIdentifier() const { return m_compositorIdentifier; } 176 int compositorIdentifier() const { return m_compositorIdentifier; }
177 177
178 // Only used when compositing on the main thread. 178 // Only used when compositing on the main thread.
179 void composite(); 179 void composite();
180 void scheduleComposite(); 180 void scheduleComposite();
181 181
182 // NOTE: The returned value can only be used to make GL calls or make the 182 // NOTE: The returned value can only be used to make GL calls or make the
(...skipping 10 matching lines...) Expand all
193 int frameNumber() const { return m_frameNumber; } 193 int frameNumber() const { return m_frameNumber; }
194 194
195 const LayerRendererCapabilities& layerRendererCapabilities() const; 195 const LayerRendererCapabilities& layerRendererCapabilities() const;
196 196
197 // Test only hook 197 // Test only hook
198 void loseContext(int numTimes); 198 void loseContext(int numTimes);
199 199
200 void setNeedsAnimate(); 200 void setNeedsAnimate();
201 // virtual for testing 201 // virtual for testing
202 virtual void setNeedsCommit(); 202 virtual void setNeedsCommit();
203 void setNeedsForcedCommit();
204 void setNeedsRedraw(); 203 void setNeedsRedraw();
205 bool commitRequested() const; 204 bool commitRequested() const;
206 205
207 void setAnimationEvents(PassOwnPtr<CCAnimationEventsVector>, double wallCloc kTime); 206 void setAnimationEvents(PassOwnPtr<CCAnimationEventsVector>, double wallCloc kTime);
208 virtual void didAddAnimation(); 207 virtual void didAddAnimation();
209 208
210 LayerChromium* rootLayer() { return m_rootLayer.get(); } 209 LayerChromium* rootLayer() { return m_rootLayer.get(); }
211 const LayerChromium* rootLayer() const { return m_rootLayer.get(); } 210 const LayerChromium* rootLayer() const { return m_rootLayer.get(); }
212 void setRootLayer(PassRefPtr<LayerChromium>); 211 void setRootLayer(PassRefPtr<LayerChromium>);
213 212
214 const CCLayerTreeSettings& settings() const { return m_settings; } 213 const CCLayerTreeSettings& settings() const { return m_settings; }
215 214
216 void setViewportSize(const IntSize&); 215 void setViewportSize(const IntSize&);
217 216
218 const IntSize& viewportSize() const { return m_viewportSize; } 217 const IntSize& viewportSize() const { return m_viewportSize; }
219 // Gives the viewport size in device/content space. 218 // Gives the viewport size in device/content space.
220 const IntSize& deviceViewportSize() const { return m_deviceViewportSize; } 219 const IntSize& deviceViewportSize() const { return m_deviceViewportSize; }
221 220
222 void setPageScaleFactorAndLimits(float pageScaleFactor, float minPageScaleFa ctor, float maxPageScaleFactor); 221 void setPageScaleFactorAndLimits(float pageScaleFactor, float minPageScaleFa ctor, float maxPageScaleFactor);
223 222
224 void setBackgroundColor(const Color& color) { m_backgroundColor = color; } 223 void setBackgroundColor(const Color& color) { m_backgroundColor = color; }
225 224
226 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro und = transparent; } 225 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro und = transparent; }
227 226
228 TextureManager* contentsTextureManager() const; 227 TextureManager* contentsTextureManager() const;
229 void setContentsMemoryAllocationLimitBytes(size_t); 228
229 // This will cause contents texture manager to evict all textures, but
230 // without deleting them. This happens after all content textures have
231 // already been deleted on impl, after getting a 0 allocation limit.
232 // Set during a commit, but before updateLayers.
233 void evictAllContentTextures();
230 234
231 bool visible() const { return m_visible; } 235 bool visible() const { return m_visible; }
232 void setVisible(bool); 236 void setVisible(bool);
233 237
234 void startPageScaleAnimation(const IntSize& targetPosition, bool useAnchor, float scale, double durationSec); 238 void startPageScaleAnimation(const IntSize& targetPosition, bool useAnchor, float scale, double durationSec);
235 239
236 void applyScrollAndScale(const CCScrollAndScaleSet&); 240 void applyScrollAndScale(const CCScrollAndScaleSet&);
237 241
238 void startRateLimiter(WebKit::WebGraphicsContext3D*); 242 void startRateLimiter(WebKit::WebGraphicsContext3D*);
239 void stopRateLimiter(WebKit::WebGraphicsContext3D*); 243 void stopRateLimiter(WebKit::WebGraphicsContext3D*);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 void setAnimationEventsRecursive(const CCAnimationEventsVector&, LayerChromi um*, double wallClockTime); 276 void setAnimationEventsRecursive(const CCAnimationEventsVector&, LayerChromi um*, double wallClockTime);
273 277
274 int m_compositorIdentifier; 278 int m_compositorIdentifier;
275 279
276 bool m_animating; 280 bool m_animating;
277 bool m_needsAnimateLayers; 281 bool m_needsAnimateLayers;
278 282
279 CCLayerTreeHostClient* m_client; 283 CCLayerTreeHostClient* m_client;
280 284
281 int m_frameNumber; 285 int m_frameNumber;
282 bool m_frameIsForDisplay;
283 286
284 OwnPtr<CCProxy> m_proxy; 287 OwnPtr<CCProxy> m_proxy;
285 bool m_layerRendererInitialized; 288 bool m_layerRendererInitialized;
286 bool m_contextLost; 289 bool m_contextLost;
287 int m_numTimesRecreateShouldFail; 290 int m_numTimesRecreateShouldFail;
288 int m_numFailedRecreateAttempts; 291 int m_numFailedRecreateAttempts;
289 292
290 RefPtr<LayerChromium> m_rootLayer; 293 RefPtr<LayerChromium> m_rootLayer;
291 OwnPtr<TextureManager> m_contentsTextureManager; 294 OwnPtr<TextureManager> m_contentsTextureManager;
292 295
293 CCLayerTreeSettings m_settings; 296 CCLayerTreeSettings m_settings;
294 297
295 IntSize m_viewportSize; 298 IntSize m_viewportSize;
296 IntSize m_deviceViewportSize; 299 IntSize m_deviceViewportSize;
297 float m_deviceScaleFactor; 300 float m_deviceScaleFactor;
298 301
299 bool m_visible; 302 bool m_visible;
300 303
301 size_t m_memoryAllocationBytes;
302 bool m_memoryAllocationIsForDisplay;
303
304 typedef HashMap<WebKit::WebGraphicsContext3D*, RefPtr<RateLimiter> > RateLim iterMap; 304 typedef HashMap<WebKit::WebGraphicsContext3D*, RefPtr<RateLimiter> > RateLim iterMap;
305 RateLimiterMap m_rateLimiters; 305 RateLimiterMap m_rateLimiters;
306 306
307 float m_pageScaleFactor; 307 float m_pageScaleFactor;
308 float m_minPageScaleFactor, m_maxPageScaleFactor; 308 float m_minPageScaleFactor, m_maxPageScaleFactor;
309 bool m_triggerIdlePaints; 309 bool m_triggerIdlePaints;
310 Color m_backgroundColor; 310 Color m_backgroundColor;
311 bool m_hasTransparentBackground; 311 bool m_hasTransparentBackground;
312 312
313 TextureList m_deleteTextureAfterCommitList; 313 TextureList m_deleteTextureAfterCommitList;
314 size_t m_partialTextureUpdateRequests; 314 size_t m_partialTextureUpdateRequests;
315 static bool s_needsFilterContext; 315 static bool s_needsFilterContext;
316 }; 316 };
317 317
318 } 318 }
319 319
320 #endif 320 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698