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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 2728183002: RendererCompositorFrameSink should handle local surface id allocation (Closed)
Patch Set: rebase Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include <set> 7 #include <set>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 } 898 }
899 899
900 void RenderWidgetHostViewAura::OnLegacyWindowDestroyed() { 900 void RenderWidgetHostViewAura::OnLegacyWindowDestroyed() {
901 legacy_render_widget_host_HWND_ = NULL; 901 legacy_render_widget_host_HWND_ = NULL;
902 legacy_window_destroyed_ = true; 902 legacy_window_destroyed_ = true;
903 } 903 }
904 #endif 904 #endif
905 905
906 void RenderWidgetHostViewAura::OnSwapCompositorFrame( 906 void RenderWidgetHostViewAura::OnSwapCompositorFrame(
907 uint32_t compositor_frame_sink_id, 907 uint32_t compositor_frame_sink_id,
908 const cc::LocalSurfaceId& local_surface_id,
908 cc::CompositorFrame frame) { 909 cc::CompositorFrame frame) {
909 TRACE_EVENT0("content", "RenderWidgetHostViewAura::OnSwapCompositorFrame"); 910 TRACE_EVENT0("content", "RenderWidgetHostViewAura::OnSwapCompositorFrame");
910 911
911 // Override the background color to the current compositor background. 912 // Override the background color to the current compositor background.
912 // This allows us to, when navigating to a new page, transfer this color to 913 // This allows us to, when navigating to a new page, transfer this color to
913 // that page. This allows us to pass this background color to new views on 914 // that page. This allows us to pass this background color to new views on
914 // navigation. 915 // navigation.
915 SetBackgroundColor(frame.metadata.root_background_color); 916 SetBackgroundColor(frame.metadata.root_background_color);
916 917
917 last_scroll_offset_ = frame.metadata.root_scroll_offset; 918 last_scroll_offset_ = frame.metadata.root_scroll_offset;
918 if (frame.render_pass_list.empty())
919 return;
920 919
921 cc::Selection<gfx::SelectionBound> selection = frame.metadata.selection; 920 cc::Selection<gfx::SelectionBound> selection = frame.metadata.selection;
922 if (IsUseZoomForDSFEnabled()) { 921 if (IsUseZoomForDSFEnabled()) {
923 float viewportToDIPScale = 1.0f / current_device_scale_factor_; 922 float viewportToDIPScale = 1.0f / current_device_scale_factor_;
924 gfx::PointF start_edge_top = selection.start.edge_top(); 923 gfx::PointF start_edge_top = selection.start.edge_top();
925 gfx::PointF start_edge_bottom = selection.start.edge_bottom(); 924 gfx::PointF start_edge_bottom = selection.start.edge_bottom();
926 gfx::PointF end_edge_top = selection.end.edge_top(); 925 gfx::PointF end_edge_top = selection.end.edge_top();
927 gfx::PointF end_edge_bottom = selection.end.edge_bottom(); 926 gfx::PointF end_edge_bottom = selection.end.edge_bottom();
928 927
929 start_edge_top.Scale(viewportToDIPScale); 928 start_edge_top.Scale(viewportToDIPScale);
930 start_edge_bottom.Scale(viewportToDIPScale); 929 start_edge_bottom.Scale(viewportToDIPScale);
931 end_edge_top.Scale(viewportToDIPScale); 930 end_edge_top.Scale(viewportToDIPScale);
932 end_edge_bottom.Scale(viewportToDIPScale); 931 end_edge_bottom.Scale(viewportToDIPScale);
933 932
934 selection.start.SetEdge(start_edge_top, start_edge_bottom); 933 selection.start.SetEdge(start_edge_top, start_edge_bottom);
935 selection.end.SetEdge(end_edge_top, end_edge_bottom); 934 selection.end.SetEdge(end_edge_top, end_edge_bottom);
936 } 935 }
937 936
938 cc::BeginFrameAck ack(frame.metadata.begin_frame_ack); 937 cc::BeginFrameAck ack(frame.metadata.begin_frame_ack);
939 938
940 if (delegated_frame_host_) { 939 if (delegated_frame_host_) {
941 delegated_frame_host_->SwapDelegatedFrame(compositor_frame_sink_id, 940 delegated_frame_host_->SwapDelegatedFrame(
942 std::move(frame)); 941 compositor_frame_sink_id, local_surface_id, std::move(frame));
943 } 942 }
944 selection_controller_->OnSelectionBoundsChanged(selection.start, 943 selection_controller_->OnSelectionBoundsChanged(selection.start,
945 selection.end); 944 selection.end);
946 945
947 if (begin_frame_source_) 946 if (begin_frame_source_)
948 begin_frame_source_->DidFinishFrame(this, ack); 947 begin_frame_source_->DidFinishFrame(this, ack);
949 } 948 }
950 949
951 void RenderWidgetHostViewAura::OnBeginFrameDidNotSwap( 950 void RenderWidgetHostViewAura::OnBeginFrameDidNotSwap(
952 const cc::BeginFrameAck& ack) { 951 const cc::BeginFrameAck& ack) {
(...skipping 1424 matching lines...) Expand 10 before | Expand all | Expand 10 after
2377 2376
2378 void RenderWidgetHostViewAura::SetPopupChild( 2377 void RenderWidgetHostViewAura::SetPopupChild(
2379 RenderWidgetHostViewAura* popup_child_host_view) { 2378 RenderWidgetHostViewAura* popup_child_host_view) {
2380 popup_child_host_view_ = popup_child_host_view; 2379 popup_child_host_view_ = popup_child_host_view;
2381 event_handler_->SetPopupChild( 2380 event_handler_->SetPopupChild(
2382 popup_child_host_view, 2381 popup_child_host_view,
2383 popup_child_host_view ? popup_child_host_view->event_handler() : nullptr); 2382 popup_child_host_view ? popup_child_host_view->event_handler() : nullptr);
2384 } 2383 }
2385 2384
2386 } // namespace content 2385 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698