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

Side by Side Diff: content/browser/renderer_host/browser_compositor_view_mac.mm

Issue 2337913003: Fork cc::OutputSurface into cc::CompositorFrameSink. (Closed)
Patch Set: cfsfork: android-vulkan Created 4 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser_compositor_view_mac.h" 5 #include "content/browser/renderer_host/browser_compositor_view_mac.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 outstanding_copy_count_ += 1; 258 outstanding_copy_count_ += 1;
259 259
260 auto callback_with_decrement = 260 auto callback_with_decrement =
261 base::Bind(&BrowserCompositorMac::CopyToVideoFrameCompleted, 261 base::Bind(&BrowserCompositorMac::CopyToVideoFrameCompleted,
262 weak_factory_.GetWeakPtr(), callback); 262 weak_factory_.GetWeakPtr(), callback);
263 263
264 delegated_frame_host_->CopyFromCompositingSurfaceToVideoFrame( 264 delegated_frame_host_->CopyFromCompositingSurfaceToVideoFrame(
265 src_subrect, target, callback_with_decrement); 265 src_subrect, target, callback_with_decrement);
266 } 266 }
267 267
268 void BrowserCompositorMac::SwapCompositorFrame(uint32_t output_surface_id, 268 void BrowserCompositorMac::SwapCompositorFrame(
269 cc::CompositorFrame frame) { 269 uint32_t compositor_frame_sink_id,
270 cc::CompositorFrame frame) {
270 // Compute the frame size based on the root render pass rect size. 271 // Compute the frame size based on the root render pass rect size.
271 cc::RenderPass* root_pass = 272 cc::RenderPass* root_pass =
272 frame.delegated_frame_data->render_pass_list.back().get(); 273 frame.delegated_frame_data->render_pass_list.back().get();
273 float scale_factor = frame.metadata.device_scale_factor; 274 float scale_factor = frame.metadata.device_scale_factor;
274 gfx::Size pixel_size = root_pass->output_rect.size(); 275 gfx::Size pixel_size = root_pass->output_rect.size();
275 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); 276 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size);
276 root_layer_->SetBounds(gfx::Rect(dip_size)); 277 root_layer_->SetBounds(gfx::Rect(dip_size));
277 if (recyclable_compositor_) { 278 if (recyclable_compositor_) {
278 recyclable_compositor_->compositor()->SetScaleAndSize(scale_factor, 279 recyclable_compositor_->compositor()->SetScaleAndSize(scale_factor,
279 pixel_size); 280 pixel_size);
280 } 281 }
281 delegated_frame_host_->SwapDelegatedFrame(output_surface_id, 282 delegated_frame_host_->SwapDelegatedFrame(compositor_frame_sink_id,
282 std::move(frame)); 283 std::move(frame));
283 } 284 }
284 285
285 void BrowserCompositorMac::SetHasTransparentBackground(bool transparent) { 286 void BrowserCompositorMac::SetHasTransparentBackground(bool transparent) {
286 has_transparent_background_ = transparent; 287 has_transparent_background_ = transparent;
287 if (recyclable_compositor_) { 288 if (recyclable_compositor_) {
288 recyclable_compositor_->compositor()->SetHostHasTransparentBackground( 289 recyclable_compositor_->compositor()->SetHostHasTransparentBackground(
289 has_transparent_background_); 290 has_transparent_background_);
290 } 291 }
291 } 292 }
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 bool defer_compositor_lock) { 429 bool defer_compositor_lock) {
429 NOTREACHED(); 430 NOTREACHED();
430 return std::unique_ptr<ResizeLock>(); 431 return std::unique_ptr<ResizeLock>();
431 } 432 }
432 433
433 void BrowserCompositorMac::DelegatedFrameHostResizeLockWasReleased() { 434 void BrowserCompositorMac::DelegatedFrameHostResizeLockWasReleased() {
434 NOTREACHED(); 435 NOTREACHED();
435 } 436 }
436 437
437 void BrowserCompositorMac::DelegatedFrameHostSendReclaimCompositorResources( 438 void BrowserCompositorMac::DelegatedFrameHostSendReclaimCompositorResources(
438 int output_surface_id, 439 int compositor_frame_sink_id,
439 bool is_swap_ack, 440 bool is_swap_ack,
440 const cc::ReturnedResourceArray& resources) { 441 const cc::ReturnedResourceArray& resources) {
441 client_->BrowserCompositorMacSendReclaimCompositorResources( 442 client_->BrowserCompositorMacSendReclaimCompositorResources(
442 output_surface_id, is_swap_ack, resources); 443 compositor_frame_sink_id, is_swap_ack, resources);
443 } 444 }
444 445
445 void BrowserCompositorMac::DelegatedFrameHostOnLostCompositorResources() { 446 void BrowserCompositorMac::DelegatedFrameHostOnLostCompositorResources() {
446 client_->BrowserCompositorMacOnLostCompositorResources(); 447 client_->BrowserCompositorMacOnLostCompositorResources();
447 } 448 }
448 449
449 void BrowserCompositorMac::SetBeginFrameSource(cc::BeginFrameSource* source) { 450 void BrowserCompositorMac::SetBeginFrameSource(cc::BeginFrameSource* source) {
450 if (begin_frame_source_ && needs_begin_frames_) 451 if (begin_frame_source_ && needs_begin_frames_)
451 begin_frame_source_->RemoveObserver(this); 452 begin_frame_source_->RemoveObserver(this);
452 begin_frame_source_ = source; 453 begin_frame_source_ = source;
(...skipping 16 matching lines...) Expand all
469 470
470 const cc::BeginFrameArgs& BrowserCompositorMac::LastUsedBeginFrameArgs() const { 471 const cc::BeginFrameArgs& BrowserCompositorMac::LastUsedBeginFrameArgs() const {
471 return last_begin_frame_args_; 472 return last_begin_frame_args_;
472 } 473 }
473 474
474 void BrowserCompositorMac::OnBeginFrameSourcePausedChanged(bool paused) { 475 void BrowserCompositorMac::OnBeginFrameSourcePausedChanged(bool paused) {
475 // Only used on Android WebView. 476 // Only used on Android WebView.
476 } 477 }
477 478
478 } // namespace content 479 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/browser_compositor_view_mac.h ('k') | content/browser/renderer_host/compositor_impl_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698