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

Side by Side Diff: cc/layer_tree_host_impl.cc

Issue 11348371: cc: Move WebCompositorOutputSurface and related classes into cc/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years 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 "cc/layer_tree_host_impl.h" 5 #include "cc/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
802 enforceManagedMemoryPolicy(m_managedMemoryPolicy); 802 enforceManagedMemoryPolicy(m_managedMemoryPolicy);
803 } else { 803 } else {
804 DCHECK(m_proxy->isImplThread()); 804 DCHECK(m_proxy->isImplThread());
805 enforceManagedMemoryPolicy(m_managedMemoryPolicy); 805 enforceManagedMemoryPolicy(m_managedMemoryPolicy);
806 } 806 }
807 // We always need to commit after changing the memory policy because the new 807 // We always need to commit after changing the memory policy because the new
808 // limit can result in more or less content having texture allocated for it. 808 // limit can result in more or less content having texture allocated for it.
809 m_client->setNeedsCommitOnImplThread(); 809 m_client->setNeedsCommitOnImplThread();
810 } 810 }
811 811
812 void LayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, doubl e intervalInSeconds) 812 void LayerTreeHostImpl::OnVSyncParametersChanged(base::TimeTicks timebase, base: :TimeDelta interval)
813 { 813 {
814 base::TimeTicks timebase = base::TimeTicks::FromInternalValue(monotonicTimeb ase * base::Time::kMicrosecondsPerSecond);
815 base::TimeDelta interval = base::TimeDelta::FromMicroseconds(intervalInSecon ds * base::Time::kMicrosecondsPerSecond);
816 m_client->onVSyncParametersChanged(timebase, interval); 814 m_client->onVSyncParametersChanged(timebase, interval);
817 } 815 }
818 816
817 void LayerTreeHostImpl::OnSendFrameToParentCompositorAck(const CompositorFrameAc k&)
818 {
819 // TODO(danakj): Implement this.
820 }
821
822
819 void LayerTreeHostImpl::drawLayers(FrameData& frame) 823 void LayerTreeHostImpl::drawLayers(FrameData& frame)
820 { 824 {
821 TRACE_EVENT0("cc", "LayerTreeHostImpl::drawLayers"); 825 TRACE_EVENT0("cc", "LayerTreeHostImpl::drawLayers");
822 DCHECK(canDraw()); 826 DCHECK(canDraw());
823 DCHECK(!frame.renderPasses.empty()); 827 DCHECK(!frame.renderPasses.empty());
824 828
825 // FIXME: use the frame begin time from the overall compositor scheduler. 829 // FIXME: use the frame begin time from the overall compositor scheduler.
826 // This value is currently inaccessible because it is up in Chromium's 830 // This value is currently inaccessible because it is up in Chromium's
827 // RenderWidget. 831 // RenderWidget.
828 m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now()); 832 m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now());
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
991 if (m_rootLayerImpl) { 995 if (m_rootLayerImpl) {
992 clearRenderSurfaces(); 996 clearRenderSurfaces();
993 sendDidLoseOutputSurfaceRecursive(m_rootLayerImpl.get()); 997 sendDidLoseOutputSurfaceRecursive(m_rootLayerImpl.get());
994 } 998 }
995 // Note: order is important here. 999 // Note: order is important here.
996 m_renderer.reset(); 1000 m_renderer.reset();
997 m_tileManager.reset(); 1001 m_tileManager.reset();
998 m_resourceProvider.reset(); 1002 m_resourceProvider.reset();
999 m_outputSurface.reset(); 1003 m_outputSurface.reset();
1000 1004
1001 if (!outputSurface->bindToClient(this)) 1005 if (!outputSurface->BindToClient(this))
1002 return false; 1006 return false;
1003 1007
1004 scoped_ptr<ResourceProvider> resourceProvider = ResourceProvider::create(out putSurface.get()); 1008 scoped_ptr<ResourceProvider> resourceProvider = ResourceProvider::create(out putSurface.get());
1005 if (!resourceProvider) 1009 if (!resourceProvider)
1006 return false; 1010 return false;
1007 1011
1008 if (m_settings.implSidePainting) 1012 if (m_settings.implSidePainting)
1009 m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_settin gs.numRasterThreads)); 1013 m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_settin gs.numRasterThreads));
1010 1014
1011 if (outputSurface->context3D()) 1015 if (outputSurface->Context3D())
1012 m_renderer = GLRenderer::create(this, resourceProvider.get()); 1016 m_renderer = GLRenderer::create(this, resourceProvider.get());
1013 else if (outputSurface->softwareDevice()) 1017 else if (outputSurface->SoftwareDevice())
1014 m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outp utSurface->softwareDevice()); 1018 m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outp utSurface->SoftwareDevice());
1015 if (!m_renderer) 1019 if (!m_renderer)
1016 return false; 1020 return false;
1017 1021
1018 m_resourceProvider = resourceProvider.Pass(); 1022 m_resourceProvider = resourceProvider.Pass();
1019 m_outputSurface = outputSurface.Pass(); 1023 m_outputSurface = outputSurface.Pass();
1020 1024
1021 if (!m_visible) 1025 if (!m_visible)
1022 m_renderer->setVisible(m_visible); 1026 m_renderer->setVisible(m_visible);
1023 1027
1024 m_client->onCanDrawStateChanged(canDraw()); 1028 m_client->onCanDrawStateChanged(canDraw());
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
1632 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio nController(); 1636 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio nController();
1633 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); 1637 double monotonicTime = (time - base::TimeTicks()).InSecondsF();
1634 if (scrollbarController && scrollbarController->animate(monotonicTime)) 1638 if (scrollbarController && scrollbarController->animate(monotonicTime))
1635 m_client->setNeedsRedrawOnImplThread(); 1639 m_client->setNeedsRedrawOnImplThread();
1636 1640
1637 for (size_t i = 0; i < layer->children().size(); ++i) 1641 for (size_t i = 0; i < layer->children().size(); ++i)
1638 animateScrollbarsRecursive(layer->children()[i], time); 1642 animateScrollbarsRecursive(layer->children()[i], time);
1639 } 1643 }
1640 1644
1641 } // namespace cc 1645 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698