| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "content/renderer/gpu/render_widget_compositor.h" | 5 #include "content/renderer/gpu/render_widget_compositor.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 | 656 |
| 657 void RenderWidgetCompositor::SetNeedsCommit() { | 657 void RenderWidgetCompositor::SetNeedsCommit() { |
| 658 layer_tree_host_->SetNeedsCommit(); | 658 layer_tree_host_->SetNeedsCommit(); |
| 659 } | 659 } |
| 660 | 660 |
| 661 void RenderWidgetCompositor::NotifyInputThrottledUntilCommit() { | 661 void RenderWidgetCompositor::NotifyInputThrottledUntilCommit() { |
| 662 layer_tree_host_->NotifyInputThrottledUntilCommit(); | 662 layer_tree_host_->NotifyInputThrottledUntilCommit(); |
| 663 } | 663 } |
| 664 | 664 |
| 665 const cc::Layer* RenderWidgetCompositor::GetRootLayer() const { | 665 const cc::Layer* RenderWidgetCompositor::GetRootLayer() const { |
| 666 return layer_tree_host_->GetLayerTree()->root_layer(); | 666 return layer_tree_host_->root_layer(); |
| 667 } | 667 } |
| 668 | 668 |
| 669 int RenderWidgetCompositor::ScheduleMicroBenchmark( | 669 int RenderWidgetCompositor::ScheduleMicroBenchmark( |
| 670 const std::string& name, | 670 const std::string& name, |
| 671 std::unique_ptr<base::Value> value, | 671 std::unique_ptr<base::Value> value, |
| 672 const base::Callback<void(std::unique_ptr<base::Value>)>& callback) { | 672 const base::Callback<void(std::unique_ptr<base::Value>)>& callback) { |
| 673 return layer_tree_host_->ScheduleMicroBenchmark(name, std::move(value), | 673 return layer_tree_host_->ScheduleMicroBenchmark(name, std::move(value), |
| 674 callback); | 674 callback); |
| 675 } | 675 } |
| 676 | 676 |
| 677 bool RenderWidgetCompositor::SendMessageToMicroBenchmark( | 677 bool RenderWidgetCompositor::SendMessageToMicroBenchmark( |
| 678 int id, | 678 int id, |
| 679 std::unique_ptr<base::Value> value) { | 679 std::unique_ptr<base::Value> value) { |
| 680 return layer_tree_host_->SendMessageToMicroBenchmark(id, std::move(value)); | 680 return layer_tree_host_->SendMessageToMicroBenchmark(id, std::move(value)); |
| 681 } | 681 } |
| 682 | 682 |
| 683 void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) { | 683 void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) { |
| 684 layer_tree_host_->GetLayerTree()->SetRootLayer( | 684 layer_tree_host_->SetRootLayer( |
| 685 static_cast<const cc_blink::WebLayerImpl*>(&layer)->layer()); | 685 static_cast<const cc_blink::WebLayerImpl*>(&layer)->layer()); |
| 686 } | 686 } |
| 687 | 687 |
| 688 void RenderWidgetCompositor::clearRootLayer() { | 688 void RenderWidgetCompositor::clearRootLayer() { |
| 689 layer_tree_host_->GetLayerTree()->SetRootLayer(scoped_refptr<cc::Layer>()); | 689 layer_tree_host_->SetRootLayer(scoped_refptr<cc::Layer>()); |
| 690 } | 690 } |
| 691 | 691 |
| 692 void RenderWidgetCompositor::attachCompositorAnimationTimeline( | 692 void RenderWidgetCompositor::attachCompositorAnimationTimeline( |
| 693 cc::AnimationTimeline* compositor_timeline) { | 693 cc::AnimationTimeline* compositor_timeline) { |
| 694 DCHECK(layer_tree_host_->animation_host()); | 694 DCHECK(layer_tree_host_->animation_host()); |
| 695 layer_tree_host_->animation_host()->AddAnimationTimeline(compositor_timeline); | 695 layer_tree_host_->animation_host()->AddAnimationTimeline(compositor_timeline); |
| 696 } | 696 } |
| 697 | 697 |
| 698 void RenderWidgetCompositor::detachCompositorAnimationTimeline( | 698 void RenderWidgetCompositor::detachCompositorAnimationTimeline( |
| 699 cc::AnimationTimeline* compositor_timeline) { | 699 cc::AnimationTimeline* compositor_timeline) { |
| 700 DCHECK(layer_tree_host_->animation_host()); | 700 DCHECK(layer_tree_host_->animation_host()); |
| 701 layer_tree_host_->animation_host()->RemoveAnimationTimeline( | 701 layer_tree_host_->animation_host()->RemoveAnimationTimeline( |
| 702 compositor_timeline); | 702 compositor_timeline); |
| 703 } | 703 } |
| 704 | 704 |
| 705 void RenderWidgetCompositor::setViewportSize( | 705 void RenderWidgetCompositor::setViewportSize( |
| 706 const WebSize& device_viewport_size) { | 706 const WebSize& device_viewport_size) { |
| 707 layer_tree_host_->GetLayerTree()->SetViewportSize(device_viewport_size); | 707 layer_tree_host_->SetViewportSize(device_viewport_size); |
| 708 } | 708 } |
| 709 | 709 |
| 710 WebFloatPoint RenderWidgetCompositor::adjustEventPointForPinchZoom( | 710 WebFloatPoint RenderWidgetCompositor::adjustEventPointForPinchZoom( |
| 711 const WebFloatPoint& point) const { | 711 const WebFloatPoint& point) const { |
| 712 return point; | 712 return point; |
| 713 } | 713 } |
| 714 | 714 |
| 715 void RenderWidgetCompositor::setDeviceScaleFactor(float device_scale) { | 715 void RenderWidgetCompositor::setDeviceScaleFactor(float device_scale) { |
| 716 layer_tree_host_->GetLayerTree()->SetDeviceScaleFactor(device_scale); | 716 layer_tree_host_->SetDeviceScaleFactor(device_scale); |
| 717 } | 717 } |
| 718 | 718 |
| 719 void RenderWidgetCompositor::setBackgroundColor(blink::WebColor color) { | 719 void RenderWidgetCompositor::setBackgroundColor(blink::WebColor color) { |
| 720 layer_tree_host_->GetLayerTree()->set_background_color(color); | 720 layer_tree_host_->set_background_color(color); |
| 721 } | 721 } |
| 722 | 722 |
| 723 void RenderWidgetCompositor::setHasTransparentBackground(bool transparent) { | 723 void RenderWidgetCompositor::setHasTransparentBackground(bool transparent) { |
| 724 layer_tree_host_->GetLayerTree()->set_has_transparent_background(transparent); | 724 layer_tree_host_->set_has_transparent_background(transparent); |
| 725 } | 725 } |
| 726 | 726 |
| 727 void RenderWidgetCompositor::setVisible(bool visible) { | 727 void RenderWidgetCompositor::setVisible(bool visible) { |
| 728 if (never_visible_) | 728 if (never_visible_) |
| 729 return; | 729 return; |
| 730 | 730 |
| 731 layer_tree_host_->SetVisible(visible); | 731 layer_tree_host_->SetVisible(visible); |
| 732 } | 732 } |
| 733 | 733 |
| 734 void RenderWidgetCompositor::setPageScaleFactorAndLimits( | 734 void RenderWidgetCompositor::setPageScaleFactorAndLimits( |
| 735 float page_scale_factor, float minimum, float maximum) { | 735 float page_scale_factor, float minimum, float maximum) { |
| 736 layer_tree_host_->GetLayerTree()->SetPageScaleFactorAndLimits( | 736 layer_tree_host_->SetPageScaleFactorAndLimits( |
| 737 page_scale_factor, minimum, maximum); | 737 page_scale_factor, minimum, maximum); |
| 738 } | 738 } |
| 739 | 739 |
| 740 void RenderWidgetCompositor::startPageScaleAnimation( | 740 void RenderWidgetCompositor::startPageScaleAnimation( |
| 741 const blink::WebPoint& destination, | 741 const blink::WebPoint& destination, |
| 742 bool use_anchor, | 742 bool use_anchor, |
| 743 float new_page_scale, | 743 float new_page_scale, |
| 744 double duration_sec) { | 744 double duration_sec) { |
| 745 base::TimeDelta duration = base::TimeDelta::FromMicroseconds( | 745 base::TimeDelta duration = base::TimeDelta::FromMicroseconds( |
| 746 duration_sec * base::Time::kMicrosecondsPerSecond); | 746 duration_sec * base::Time::kMicrosecondsPerSecond); |
| 747 layer_tree_host_->GetLayerTree()->StartPageScaleAnimation( | 747 layer_tree_host_->StartPageScaleAnimation( |
| 748 gfx::Vector2d(destination.x, destination.y), use_anchor, new_page_scale, | 748 gfx::Vector2d(destination.x, destination.y), |
| 749 use_anchor, |
| 750 new_page_scale, |
| 749 duration); | 751 duration); |
| 750 } | 752 } |
| 751 | 753 |
| 752 bool RenderWidgetCompositor::hasPendingPageScaleAnimation() const { | 754 bool RenderWidgetCompositor::hasPendingPageScaleAnimation() const { |
| 753 return layer_tree_host_->GetLayerTree()->HasPendingPageScaleAnimation(); | 755 return layer_tree_host_->HasPendingPageScaleAnimation(); |
| 754 } | 756 } |
| 755 | 757 |
| 756 void RenderWidgetCompositor::heuristicsForGpuRasterizationUpdated( | 758 void RenderWidgetCompositor::heuristicsForGpuRasterizationUpdated( |
| 757 bool matches_heuristics) { | 759 bool matches_heuristics) { |
| 758 layer_tree_host_->SetHasGpuRasterizationTrigger(matches_heuristics); | 760 layer_tree_host_->SetHasGpuRasterizationTrigger(matches_heuristics); |
| 759 } | 761 } |
| 760 | 762 |
| 761 void RenderWidgetCompositor::setNeedsAnimate() { | 763 void RenderWidgetCompositor::setNeedsAnimate() { |
| 762 layer_tree_host_->SetNeedsAnimate(); | 764 layer_tree_host_->SetNeedsAnimate(); |
| 763 layer_tree_host_->SetNeedsUpdateLayers(); | 765 layer_tree_host_->SetNeedsUpdateLayers(); |
| 764 } | 766 } |
| 765 | 767 |
| 766 void RenderWidgetCompositor::setNeedsBeginFrame() { | 768 void RenderWidgetCompositor::setNeedsBeginFrame() { |
| 767 layer_tree_host_->SetNeedsAnimate(); | 769 layer_tree_host_->SetNeedsAnimate(); |
| 768 } | 770 } |
| 769 | 771 |
| 770 void RenderWidgetCompositor::setNeedsCompositorUpdate() { | 772 void RenderWidgetCompositor::setNeedsCompositorUpdate() { |
| 771 layer_tree_host_->SetNeedsUpdateLayers(); | 773 layer_tree_host_->SetNeedsUpdateLayers(); |
| 772 } | 774 } |
| 773 | 775 |
| 774 void RenderWidgetCompositor::didStopFlinging() { | 776 void RenderWidgetCompositor::didStopFlinging() { |
| 775 layer_tree_host_->DidStopFlinging(); | 777 layer_tree_host_->DidStopFlinging(); |
| 776 } | 778 } |
| 777 | 779 |
| 778 void RenderWidgetCompositor::registerViewportLayers( | 780 void RenderWidgetCompositor::registerViewportLayers( |
| 779 const blink::WebLayer* overscrollElasticityLayer, | 781 const blink::WebLayer* overscrollElasticityLayer, |
| 780 const blink::WebLayer* pageScaleLayer, | 782 const blink::WebLayer* pageScaleLayer, |
| 781 const blink::WebLayer* innerViewportScrollLayer, | 783 const blink::WebLayer* innerViewportScrollLayer, |
| 782 const blink::WebLayer* outerViewportScrollLayer) { | 784 const blink::WebLayer* outerViewportScrollLayer) { |
| 783 layer_tree_host_->GetLayerTree()->RegisterViewportLayers( | 785 layer_tree_host_->RegisterViewportLayers( |
| 784 // TODO(bokan): This check can probably be removed now, but it looks | 786 // TODO(bokan): This check can probably be removed now, but it looks |
| 785 // like overscroll elasticity may still be NULL until VisualViewport | 787 // like overscroll elasticity may still be NULL until VisualViewport |
| 786 // registers its layers. | 788 // registers its layers. |
| 787 // The scroll elasticity layer will only exist when using pinch virtual | 789 // The scroll elasticity layer will only exist when using pinch virtual |
| 788 // viewports. | 790 // viewports. |
| 789 overscrollElasticityLayer | 791 overscrollElasticityLayer |
| 790 ? static_cast<const cc_blink::WebLayerImpl*>( | 792 ? static_cast<const cc_blink::WebLayerImpl*>( |
| 791 overscrollElasticityLayer) | 793 overscrollElasticityLayer)->layer() |
| 792 ->layer() | |
| 793 : NULL, | 794 : NULL, |
| 794 static_cast<const cc_blink::WebLayerImpl*>(pageScaleLayer)->layer(), | 795 static_cast<const cc_blink::WebLayerImpl*>(pageScaleLayer)->layer(), |
| 795 static_cast<const cc_blink::WebLayerImpl*>(innerViewportScrollLayer) | 796 static_cast<const cc_blink::WebLayerImpl*>(innerViewportScrollLayer) |
| 796 ->layer(), | 797 ->layer(), |
| 797 // TODO(bokan): This check can probably be removed now, but it looks | 798 // TODO(bokan): This check can probably be removed now, but it looks |
| 798 // like overscroll elasticity may still be NULL until VisualViewport | 799 // like overscroll elasticity may still be NULL until VisualViewport |
| 799 // registers its layers. | 800 // registers its layers. |
| 800 // The outer viewport layer will only exist when using pinch virtual | 801 // The outer viewport layer will only exist when using pinch virtual |
| 801 // viewports. | 802 // viewports. |
| 802 outerViewportScrollLayer | 803 outerViewportScrollLayer |
| 803 ? static_cast<const cc_blink::WebLayerImpl*>(outerViewportScrollLayer) | 804 ? static_cast<const cc_blink::WebLayerImpl*>(outerViewportScrollLayer) |
| 804 ->layer() | 805 ->layer() |
| 805 : NULL); | 806 : NULL); |
| 806 } | 807 } |
| 807 | 808 |
| 808 void RenderWidgetCompositor::clearViewportLayers() { | 809 void RenderWidgetCompositor::clearViewportLayers() { |
| 809 layer_tree_host_->GetLayerTree()->RegisterViewportLayers( | 810 layer_tree_host_->RegisterViewportLayers( |
| 810 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>(), | 811 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>(), |
| 811 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>()); | 812 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>()); |
| 812 } | 813 } |
| 813 | 814 |
| 814 void RenderWidgetCompositor::registerSelection( | 815 void RenderWidgetCompositor::registerSelection( |
| 815 const blink::WebSelection& selection) { | 816 const blink::WebSelection& selection) { |
| 816 layer_tree_host_->GetLayerTree()->RegisterSelection( | 817 layer_tree_host_->RegisterSelection(ConvertWebSelection(selection)); |
| 817 ConvertWebSelection(selection)); | |
| 818 } | 818 } |
| 819 | 819 |
| 820 void RenderWidgetCompositor::clearSelection() { | 820 void RenderWidgetCompositor::clearSelection() { |
| 821 cc::LayerSelection empty_selection; | 821 cc::LayerSelection empty_selection; |
| 822 layer_tree_host_->GetLayerTree()->RegisterSelection(empty_selection); | 822 layer_tree_host_->RegisterSelection(empty_selection); |
| 823 } | 823 } |
| 824 | 824 |
| 825 void RenderWidgetCompositor::setMutatorClient( | 825 void RenderWidgetCompositor::setMutatorClient( |
| 826 std::unique_ptr<blink::WebCompositorMutatorClient> client) { | 826 std::unique_ptr<blink::WebCompositorMutatorClient> client) { |
| 827 TRACE_EVENT0("compositor-worker", "RenderWidgetCompositor::setMutatorClient"); | 827 TRACE_EVENT0("compositor-worker", "RenderWidgetCompositor::setMutatorClient"); |
| 828 layer_tree_host_->SetLayerTreeMutator(std::move(client)); | 828 layer_tree_host_->SetLayerTreeMutator(std::move(client)); |
| 829 } | 829 } |
| 830 | 830 |
| 831 static_assert(static_cast<cc::EventListenerClass>( | 831 static_assert(static_cast<cc::EventListenerClass>( |
| 832 blink::WebEventListenerClass::TouchStartOrMove) == | 832 blink::WebEventListenerClass::TouchStartOrMove) == |
| (...skipping 17 matching lines...) Expand all Loading... |
| 850 cc::EventListenerProperties::kBlocking, | 850 cc::EventListenerProperties::kBlocking, |
| 851 "EventListener and WebEventListener enums must match"); | 851 "EventListener and WebEventListener enums must match"); |
| 852 static_assert(static_cast<cc::EventListenerProperties>( | 852 static_assert(static_cast<cc::EventListenerProperties>( |
| 853 blink::WebEventListenerProperties::BlockingAndPassive) == | 853 blink::WebEventListenerProperties::BlockingAndPassive) == |
| 854 cc::EventListenerProperties::kBlockingAndPassive, | 854 cc::EventListenerProperties::kBlockingAndPassive, |
| 855 "EventListener and WebEventListener enums must match"); | 855 "EventListener and WebEventListener enums must match"); |
| 856 | 856 |
| 857 void RenderWidgetCompositor::setEventListenerProperties( | 857 void RenderWidgetCompositor::setEventListenerProperties( |
| 858 blink::WebEventListenerClass eventClass, | 858 blink::WebEventListenerClass eventClass, |
| 859 blink::WebEventListenerProperties properties) { | 859 blink::WebEventListenerProperties properties) { |
| 860 layer_tree_host_->GetLayerTree()->SetEventListenerProperties( | 860 layer_tree_host_->SetEventListenerProperties( |
| 861 static_cast<cc::EventListenerClass>(eventClass), | 861 static_cast<cc::EventListenerClass>(eventClass), |
| 862 static_cast<cc::EventListenerProperties>(properties)); | 862 static_cast<cc::EventListenerProperties>(properties)); |
| 863 } | 863 } |
| 864 | 864 |
| 865 blink::WebEventListenerProperties | 865 blink::WebEventListenerProperties |
| 866 RenderWidgetCompositor::eventListenerProperties( | 866 RenderWidgetCompositor::eventListenerProperties( |
| 867 blink::WebEventListenerClass event_class) const { | 867 blink::WebEventListenerClass event_class) const { |
| 868 return static_cast<blink::WebEventListenerProperties>( | 868 return static_cast<blink::WebEventListenerProperties>( |
| 869 layer_tree_host_->GetLayerTree()->event_listener_properties( | 869 layer_tree_host_->event_listener_properties( |
| 870 static_cast<cc::EventListenerClass>(event_class))); | 870 static_cast<cc::EventListenerClass>(event_class))); |
| 871 } | 871 } |
| 872 | 872 |
| 873 void RenderWidgetCompositor::setHaveScrollEventHandlers(bool has_handlers) { | 873 void RenderWidgetCompositor::setHaveScrollEventHandlers(bool has_handlers) { |
| 874 layer_tree_host_->GetLayerTree()->SetHaveScrollEventHandlers(has_handlers); | 874 layer_tree_host_->SetHaveScrollEventHandlers(has_handlers); |
| 875 } | 875 } |
| 876 | 876 |
| 877 bool RenderWidgetCompositor::haveScrollEventHandlers() const { | 877 bool RenderWidgetCompositor::haveScrollEventHandlers() const { |
| 878 return layer_tree_host_->GetLayerTree()->have_scroll_event_handlers(); | 878 return layer_tree_host_->have_scroll_event_handlers(); |
| 879 } | 879 } |
| 880 | 880 |
| 881 void CompositeAndReadbackAsyncCallback( | 881 void CompositeAndReadbackAsyncCallback( |
| 882 blink::WebCompositeAndReadbackAsyncCallback* callback, | 882 blink::WebCompositeAndReadbackAsyncCallback* callback, |
| 883 std::unique_ptr<cc::CopyOutputResult> result) { | 883 std::unique_ptr<cc::CopyOutputResult> result) { |
| 884 if (result->HasBitmap()) { | 884 if (result->HasBitmap()) { |
| 885 std::unique_ptr<SkBitmap> result_bitmap = result->TakeBitmap(); | 885 std::unique_ptr<SkBitmap> result_bitmap = result->TakeBitmap(); |
| 886 callback->didCompositeAndReadback(*result_bitmap); | 886 callback->didCompositeAndReadback(*result_bitmap); |
| 887 } else { | 887 } else { |
| 888 callback->didCompositeAndReadback(SkBitmap()); | 888 callback->didCompositeAndReadback(SkBitmap()); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 996 void RenderWidgetCompositor::updateTopControlsState( | 996 void RenderWidgetCompositor::updateTopControlsState( |
| 997 WebTopControlsState constraints, | 997 WebTopControlsState constraints, |
| 998 WebTopControlsState current, | 998 WebTopControlsState current, |
| 999 bool animate) { | 999 bool animate) { |
| 1000 layer_tree_host_->UpdateTopControlsState(ConvertTopControlsState(constraints), | 1000 layer_tree_host_->UpdateTopControlsState(ConvertTopControlsState(constraints), |
| 1001 ConvertTopControlsState(current), | 1001 ConvertTopControlsState(current), |
| 1002 animate); | 1002 animate); |
| 1003 } | 1003 } |
| 1004 | 1004 |
| 1005 void RenderWidgetCompositor::setTopControlsHeight(float height, bool shrink) { | 1005 void RenderWidgetCompositor::setTopControlsHeight(float height, bool shrink) { |
| 1006 layer_tree_host_->GetLayerTree()->SetTopControlsHeight(height, shrink); | 1006 layer_tree_host_->SetTopControlsHeight(height, shrink); |
| 1007 } | 1007 } |
| 1008 | 1008 |
| 1009 void RenderWidgetCompositor::setTopControlsShownRatio(float ratio) { | 1009 void RenderWidgetCompositor::setTopControlsShownRatio(float ratio) { |
| 1010 layer_tree_host_->GetLayerTree()->SetTopControlsShownRatio(ratio); | 1010 layer_tree_host_->SetTopControlsShownRatio(ratio); |
| 1011 } | 1011 } |
| 1012 | 1012 |
| 1013 void RenderWidgetCompositor::WillBeginMainFrame() { | 1013 void RenderWidgetCompositor::WillBeginMainFrame() { |
| 1014 delegate_->WillBeginCompositorFrame(); | 1014 delegate_->WillBeginCompositorFrame(); |
| 1015 } | 1015 } |
| 1016 | 1016 |
| 1017 void RenderWidgetCompositor::DidBeginMainFrame() { | 1017 void RenderWidgetCompositor::DidBeginMainFrame() { |
| 1018 } | 1018 } |
| 1019 | 1019 |
| 1020 void RenderWidgetCompositor::BeginMainFrame(const cc::BeginFrameArgs& args) { | 1020 void RenderWidgetCompositor::BeginMainFrame(const cc::BeginFrameArgs& args) { |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1142 if (!deserialized->ParseFromArray(proto.data(), signed_size)) { | 1142 if (!deserialized->ParseFromArray(proto.data(), signed_size)) { |
| 1143 LOG(ERROR) << "Unable to parse compositor proto."; | 1143 LOG(ERROR) << "Unable to parse compositor proto."; |
| 1144 return; | 1144 return; |
| 1145 } | 1145 } |
| 1146 | 1146 |
| 1147 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized)); | 1147 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized)); |
| 1148 } | 1148 } |
| 1149 | 1149 |
| 1150 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor( | 1150 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor( |
| 1151 float device_scale) { | 1151 float device_scale) { |
| 1152 layer_tree_host_->GetLayerTree()->SetPaintedDeviceScaleFactor(device_scale); | 1152 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale); |
| 1153 } | 1153 } |
| 1154 | 1154 |
| 1155 } // namespace content | 1155 } // namespace content |
| OLD | NEW |