| 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" |
| 11 #include "cc/append_quads_data.h" | 11 #include "cc/append_quads_data.h" |
| 12 #include "cc/compositor_frame_metadata.h" |
| 12 #include "cc/damage_tracker.h" | 13 #include "cc/damage_tracker.h" |
| 13 #include "cc/debug_rect_history.h" | 14 #include "cc/debug_rect_history.h" |
| 14 #include "cc/delay_based_time_source.h" | 15 #include "cc/delay_based_time_source.h" |
| 15 #include "cc/font_atlas.h" | 16 #include "cc/font_atlas.h" |
| 16 #include "cc/frame_rate_counter.h" | 17 #include "cc/frame_rate_counter.h" |
| 17 #include "cc/gl_renderer.h" | 18 #include "cc/gl_renderer.h" |
| 18 #include "cc/heads_up_display_layer_impl.h" | 19 #include "cc/heads_up_display_layer_impl.h" |
| 19 #include "cc/layer_iterator.h" | 20 #include "cc/layer_iterator.h" |
| 20 #include "cc/layer_tree_host.h" | 21 #include "cc/layer_tree_host.h" |
| 21 #include "cc/layer_tree_host_common.h" | 22 #include "cc/layer_tree_host_common.h" |
| (...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 692 m_client->setNeedsCommitOnImplThread(); | 693 m_client->setNeedsCommitOnImplThread(); |
| 693 } | 694 } |
| 694 | 695 |
| 695 void LayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, doubl
e intervalInSeconds) | 696 void LayerTreeHostImpl::onVSyncParametersChanged(double monotonicTimebase, doubl
e intervalInSeconds) |
| 696 { | 697 { |
| 697 base::TimeTicks timebase = base::TimeTicks::FromInternalValue(monotonicTimeb
ase * base::Time::kMicrosecondsPerSecond); | 698 base::TimeTicks timebase = base::TimeTicks::FromInternalValue(monotonicTimeb
ase * base::Time::kMicrosecondsPerSecond); |
| 698 base::TimeDelta interval = base::TimeDelta::FromMicroseconds(intervalInSecon
ds * base::Time::kMicrosecondsPerSecond); | 699 base::TimeDelta interval = base::TimeDelta::FromMicroseconds(intervalInSecon
ds * base::Time::kMicrosecondsPerSecond); |
| 699 m_client->onVSyncParametersChanged(timebase, interval); | 700 m_client->onVSyncParametersChanged(timebase, interval); |
| 700 } | 701 } |
| 701 | 702 |
| 703 CompositorFrameMetadata LayerTreeHostImpl::makeCompositorFrameMetadata() const |
| 704 { |
| 705 CompositorFrameMetadata metadata; |
| 706 metadata.rootScrollOffset = m_rootScrollLayerImpl->scrollOffset() + m_rootSc
rollLayerImpl->scrollDelta() + m_pinchZoomViewport.scrollDelta(); |
| 707 metadata.pageScaleFactor = m_pinchZoomViewport.totalPageScaleFactor(); |
| 708 metadata.viewportSize = m_pinchZoomViewport.bounds().size(); |
| 709 metadata.rootLayerSize = m_rootScrollLayerImpl->bounds(); |
| 710 metadata.minPageScaleFactor = m_pinchZoomViewport.minPageScaleFactor(); |
| 711 metadata.maxPageScaleFactor = m_pinchZoomViewport.maxPageScaleFactor(); |
| 712 if (!m_settings.pageScalePinchZoomEnabled) { |
| 713 metadata.rootScrollOffset.Scale(1 / m_pinchZoomViewport.pageScaleFactor(
)); |
| 714 metadata.rootLayerSize.Scale(1 / m_pinchZoomViewport.pageScaleFactor()); |
| 715 } |
| 716 |
| 717 return metadata; |
| 718 } |
| 719 |
| 702 void LayerTreeHostImpl::drawLayers(const FrameData& frame) | 720 void LayerTreeHostImpl::drawLayers(const FrameData& frame) |
| 703 { | 721 { |
| 704 TRACE_EVENT0("cc", "LayerTreeHostImpl::drawLayers"); | 722 TRACE_EVENT0("cc", "LayerTreeHostImpl::drawLayers"); |
| 705 DCHECK(canDraw()); | 723 DCHECK(canDraw()); |
| 706 DCHECK(!frame.renderPasses.empty()); | 724 DCHECK(!frame.renderPasses.empty()); |
| 707 | 725 |
| 708 // FIXME: use the frame begin time from the overall compositor scheduler. | 726 // FIXME: use the frame begin time from the overall compositor scheduler. |
| 709 // This value is currently inaccessible because it is up in Chromium's | 727 // This value is currently inaccessible because it is up in Chromium's |
| 710 // RenderWidget. | 728 // RenderWidget. |
| 711 m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now()); | 729 m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now()); |
| (...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1505 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio
nController(); | 1523 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio
nController(); |
| 1506 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); | 1524 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); |
| 1507 if (scrollbarController && scrollbarController->animate(monotonicTime)) | 1525 if (scrollbarController && scrollbarController->animate(monotonicTime)) |
| 1508 m_client->setNeedsRedrawOnImplThread(); | 1526 m_client->setNeedsRedrawOnImplThread(); |
| 1509 | 1527 |
| 1510 for (size_t i = 0; i < layer->children().size(); ++i) | 1528 for (size_t i = 0; i < layer->children().size(); ++i) |
| 1511 animateScrollbarsRecursive(layer->children()[i], time); | 1529 animateScrollbarsRecursive(layer->children()[i], time); |
| 1512 } | 1530 } |
| 1513 | 1531 |
| 1514 } // namespace cc | 1532 } // namespace cc |
| OLD | NEW |