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

Side by Side Diff: cc/CCLayerTreeHostImpl.cpp

Issue 10915298: Add CCDelegatingRenderer, and corresponding IPCs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge fix Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 #include "config.h" 5 #include "config.h"
6 6
7 #include "CCLayerTreeHostImpl.h" 7 #include "CCLayerTreeHostImpl.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "CCAppendQuadsData.h" 10 #include "CCAppendQuadsData.h"
11 #include "CCDamageTracker.h" 11 #include "CCDamageTracker.h"
12 #include "CCDebugRectHistory.h" 12 #include "CCDebugRectHistory.h"
13 #include "CCDelayBasedTimeSource.h" 13 #include "CCDelayBasedTimeSource.h"
14 #include "CCDelegatingRenderer.h"
14 #include "CCFontAtlas.h" 15 #include "CCFontAtlas.h"
15 #include "CCFrameRateCounter.h" 16 #include "CCFrameRateCounter.h"
16 #include "CCHeadsUpDisplayLayerImpl.h" 17 #include "CCHeadsUpDisplayLayerImpl.h"
17 #include "CCLayerIterator.h" 18 #include "CCLayerIterator.h"
18 #include "CCLayerTreeHost.h" 19 #include "CCLayerTreeHost.h"
19 #include "CCLayerTreeHostCommon.h" 20 #include "CCLayerTreeHostCommon.h"
20 #include "CCMathUtil.h" 21 #include "CCMathUtil.h"
21 #include "CCOverdrawMetrics.h" 22 #include "CCOverdrawMetrics.h"
22 #include "CCPageScaleAnimation.h" 23 #include "CCPageScaleAnimation.h"
23 #include "CCPrioritizedTextureManager.h" 24 #include "CCPrioritizedTextureManager.h"
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 653
653 ASSERT(bytes); 654 ASSERT(bytes);
654 m_client->setNeedsCommitOnImplThread(); 655 m_client->setNeedsCommitOnImplThread();
655 } 656 }
656 657
657 void CCLayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, dou ble intervalInSeconds) 658 void CCLayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, dou ble intervalInSeconds)
658 { 659 {
659 m_client->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds); 660 m_client->onVSyncParametersChanged(monotonicTimebase, intervalInSeconds);
660 } 661 }
661 662
663 void CCLayerTreeHostImpl::onSendFrameToParentCompositorAck(const WebKit::WebComp ositorFrameAck& ack)
664 {
665 if (m_renderer)
666 m_renderer->onSendFrameToParentCompositorAck(ack);
667 }
668
662 void CCLayerTreeHostImpl::drawLayers(const FrameData& frame) 669 void CCLayerTreeHostImpl::drawLayers(const FrameData& frame)
663 { 670 {
664 TRACE_EVENT0("cc", "CCLayerTreeHostImpl::drawLayers"); 671 TRACE_EVENT0("cc", "CCLayerTreeHostImpl::drawLayers");
665 ASSERT(canDraw()); 672 ASSERT(canDraw());
666 ASSERT(!frame.renderPasses.empty()); 673 ASSERT(!frame.renderPasses.empty());
667 674
668 // FIXME: use the frame begin time from the overall compositor scheduler. 675 // FIXME: use the frame begin time from the overall compositor scheduler.
669 // This value is currently inaccessible because it is up in Chromium's 676 // This value is currently inaccessible because it is up in Chromium's
670 // RenderWidget. 677 // RenderWidget.
671 m_fpsCounter->markBeginningOfFrame(currentTime()); 678 m_fpsCounter->markBeginningOfFrame(currentTime());
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 m_resourceProvider.clear(); 847 m_resourceProvider.clear();
841 m_context.reset(); 848 m_context.reset();
842 849
843 if (!context->bindToClient(this)) 850 if (!context->bindToClient(this))
844 return false; 851 return false;
845 852
846 OwnPtr<CCResourceProvider> resourceProvider = CCResourceProvider::create(con text.get()); 853 OwnPtr<CCResourceProvider> resourceProvider = CCResourceProvider::create(con text.get());
847 if (!resourceProvider) 854 if (!resourceProvider)
848 return false; 855 return false;
849 856
850 if (context->context3D()) 857 if (context->capabilities().hasParentCompositor)
858 m_renderer = CCDelegatingRenderer::create(this, resourceProvider.get());
859 else if (context->context3D())
851 m_renderer = CCRendererGL::create(this, resourceProvider.get()); 860 m_renderer = CCRendererGL::create(this, resourceProvider.get());
852 else if (context->softwareDevice()) 861 else if (context->softwareDevice())
853 m_renderer = CCRendererSoftware::create(this, resourceProvider.get(), co ntext->softwareDevice()); 862 m_renderer = CCRendererSoftware::create(this, resourceProvider.get(), co ntext->softwareDevice());
854 if (!m_renderer) 863 if (!m_renderer)
855 return false; 864 return false;
856 865
857 m_resourceProvider = resourceProvider.release(); 866 m_resourceProvider = resourceProvider.release();
858 m_context = context.Pass(); 867 m_context = context.Pass();
859 868
860 if (!m_visible) 869 if (!m_visible)
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
1453 1462
1454 CCScrollbarAnimationController* scrollbarController = layer->scrollbarAnimat ionController(); 1463 CCScrollbarAnimationController* scrollbarController = layer->scrollbarAnimat ionController();
1455 if (scrollbarController && scrollbarController->animate(monotonicTime)) 1464 if (scrollbarController && scrollbarController->animate(monotonicTime))
1456 m_client->setNeedsRedrawOnImplThread(); 1465 m_client->setNeedsRedrawOnImplThread();
1457 1466
1458 for (size_t i = 0; i < layer->children().size(); ++i) 1467 for (size_t i = 0; i < layer->children().size(); ++i)
1459 animateScrollbarsRecursive(layer->children()[i], monotonicTime); 1468 animateScrollbarsRecursive(layer->children()[i], monotonicTime);
1460 } 1469 }
1461 1470
1462 } // namespace cc 1471 } // namespace cc
OLDNEW
« no previous file with comments | « cc/CCLayerTreeHostImpl.h ('k') | cc/CCOcclusionTracker.h » ('j') | cc/transferable_resource.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698