| OLD | NEW |
| 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 742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 753 m_renderer->receiveCompositorFrameAck(ack); | 753 m_renderer->receiveCompositorFrameAck(ack); |
| 754 } | 754 } |
| 755 | 755 |
| 756 void LayerTreeHostImpl::OnCanDrawStateChangedForTree(LayerTreeImpl*) | 756 void LayerTreeHostImpl::OnCanDrawStateChangedForTree(LayerTreeImpl*) |
| 757 { | 757 { |
| 758 m_client->onCanDrawStateChanged(canDraw()); | 758 m_client->onCanDrawStateChanged(canDraw()); |
| 759 } | 759 } |
| 760 | 760 |
| 761 CompositorFrameMetadata LayerTreeHostImpl::makeCompositorFrameMetadata() const | 761 CompositorFrameMetadata LayerTreeHostImpl::makeCompositorFrameMetadata() const |
| 762 { | 762 { |
| 763 if (!rootScrollLayer()) | |
| 764 return CompositorFrameMetadata(); | |
| 765 | |
| 766 CompositorFrameMetadata metadata; | 763 CompositorFrameMetadata metadata; |
| 767 metadata.root_scroll_offset = rootScrollLayer()->scrollOffset() + rootScroll
Layer()->scrollDelta(); | |
| 768 if (!m_settings.pageScalePinchZoomEnabled) | |
| 769 metadata.root_scroll_offset.Scale(1 / m_pinchZoomViewport.page_scale_fac
tor()); | |
| 770 metadata.page_scale_factor = m_pinchZoomViewport.total_page_scale_factor(); | 764 metadata.page_scale_factor = m_pinchZoomViewport.total_page_scale_factor(); |
| 771 metadata.viewport_size = m_pinchZoomViewport.Bounds().size(); | 765 metadata.viewport_size = m_pinchZoomViewport.Bounds().size(); |
| 772 metadata.root_layer_size = contentSize(); | 766 metadata.root_layer_size = contentSize(); |
| 773 metadata.min_page_scale_factor = m_pinchZoomViewport.min_page_scale_factor()
; | 767 metadata.min_page_scale_factor = m_pinchZoomViewport.min_page_scale_factor()
; |
| 774 metadata.max_page_scale_factor = m_pinchZoomViewport.max_page_scale_factor()
; | 768 metadata.max_page_scale_factor = m_pinchZoomViewport.max_page_scale_factor()
; |
| 775 | 769 |
| 770 if (!rootScrollLayer()) |
| 771 return metadata; |
| 772 |
| 773 metadata.root_scroll_offset = rootScrollLayer()->scrollOffset() + rootScroll
Layer()->scrollDelta(); |
| 774 if (!m_settings.pageScalePinchZoomEnabled) |
| 775 metadata.root_scroll_offset.Scale(1 / m_pinchZoomViewport.page_scale_fac
tor()); |
| 776 |
| 776 return metadata; | 777 return metadata; |
| 777 } | 778 } |
| 778 | 779 |
| 779 void LayerTreeHostImpl::drawLayers(FrameData& frame) | 780 void LayerTreeHostImpl::drawLayers(FrameData& frame) |
| 780 { | 781 { |
| 781 TRACE_EVENT0("cc", "LayerTreeHostImpl::drawLayers"); | 782 TRACE_EVENT0("cc", "LayerTreeHostImpl::drawLayers"); |
| 782 DCHECK(canDraw()); | 783 DCHECK(canDraw()); |
| 783 DCHECK(!frame.renderPasses.empty()); | 784 DCHECK(!frame.renderPasses.empty()); |
| 784 | 785 |
| 785 // FIXME: use the frame begin time from the overall compositor scheduler. | 786 // FIXME: use the frame begin time from the overall compositor scheduler. |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 980 return false; | 981 return false; |
| 981 | 982 |
| 982 scoped_ptr<ResourceProvider> resourceProvider = ResourceProvider::create(out
putSurface.get()); | 983 scoped_ptr<ResourceProvider> resourceProvider = ResourceProvider::create(out
putSurface.get()); |
| 983 if (!resourceProvider) | 984 if (!resourceProvider) |
| 984 return false; | 985 return false; |
| 985 | 986 |
| 986 if (m_settings.implSidePainting) | 987 if (m_settings.implSidePainting) |
| 987 m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_settin
gs.numRasterThreads)); | 988 m_tileManager.reset(new TileManager(this, resourceProvider.get(), m_settin
gs.numRasterThreads)); |
| 988 | 989 |
| 989 if (outputSurface->Capabilities().has_parent_compositor) | 990 if (outputSurface->Capabilities().has_parent_compositor) |
| 990 m_renderer = DelegatingRenderer::Create(this, resourceProvider.get()); | 991 m_renderer = DelegatingRenderer::Create(this, outputSurface.get(), resou
rceProvider.get()); |
| 991 else if (outputSurface->Context3D()) | 992 else if (outputSurface->Context3D()) |
| 992 m_renderer = GLRenderer::create(this, outputSurface.get(), resourceProvi
der.get()); | 993 m_renderer = GLRenderer::create(this, outputSurface.get(), resourceProvi
der.get()); |
| 993 else if (outputSurface->SoftwareDevice()) | 994 else if (outputSurface->SoftwareDevice()) |
| 994 m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outp
utSurface->SoftwareDevice()); | 995 m_renderer = SoftwareRenderer::create(this, resourceProvider.get(), outp
utSurface->SoftwareDevice()); |
| 995 if (!m_renderer) | 996 if (!m_renderer) |
| 996 return false; | 997 return false; |
| 997 | 998 |
| 998 setNeedsUpdateDrawProperties(); | 999 setNeedsUpdateDrawProperties(); |
| 999 m_resourceProvider = resourceProvider.Pass(); | 1000 m_resourceProvider = resourceProvider.Pass(); |
| 1000 m_outputSurface = outputSurface.Pass(); | 1001 m_outputSurface = outputSurface.Pass(); |
| (...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1639 } | 1640 } |
| 1640 | 1641 |
| 1641 skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture() | 1642 skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture() |
| 1642 { | 1643 { |
| 1643 LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree(); | 1644 LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree(); |
| 1644 LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer()); | 1645 LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer()); |
| 1645 return layer ? layer->getPicture() : skia::RefPtr<SkPicture>(); | 1646 return layer ? layer->getPicture() : skia::RefPtr<SkPicture>(); |
| 1646 } | 1647 } |
| 1647 | 1648 |
| 1648 } // namespace cc | 1649 } // namespace cc |
| OLD | NEW |