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

Side by Side Diff: content/browser/renderer_host/render_widget_host_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 (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_mac.h" 5 #include "content/browser/renderer_host/render_widget_host_view_mac.h"
6 6
7 #import <objc/runtime.h> 7 #import <objc/runtime.h>
8 #include <OpenGL/gl.h> 8 #include <OpenGL/gl.h>
9 #include <QuartzCore/QuartzCore.h> 9 #include <QuartzCore/QuartzCore.h>
10 #include <stdint.h> 10 #include <stdint.h>
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 // flashes of brighter colors during the transition. 393 // flashes of brighter colors during the transition.
394 if (render_widget_host_->delegate() && 394 if (render_widget_host_->delegate() &&
395 render_widget_host_->delegate()->IsFullscreenForCurrentTab()) { 395 render_widget_host_->delegate()->IsFullscreenForCurrentTab()) {
396 return SK_ColorBLACK; 396 return SK_ColorBLACK;
397 } 397 }
398 return color; 398 return color;
399 } 399 }
400 400
401 void RenderWidgetHostViewMac:: 401 void RenderWidgetHostViewMac::
402 BrowserCompositorMacSendReclaimCompositorResources( 402 BrowserCompositorMacSendReclaimCompositorResources(
403 int output_surface_id, 403 int compositor_frame_sink_id,
404 bool is_swap_ack, 404 bool is_swap_ack,
405 const cc::ReturnedResourceArray& resources) { 405 const cc::ReturnedResourceArray& resources) {
406 render_widget_host_->Send(new ViewMsg_ReclaimCompositorResources( 406 render_widget_host_->Send(new ViewMsg_ReclaimCompositorResources(
407 render_widget_host_->GetRoutingID(), output_surface_id, is_swap_ack, 407 render_widget_host_->GetRoutingID(), compositor_frame_sink_id,
408 resources)); 408 is_swap_ack, resources));
409 } 409 }
410 410
411 void RenderWidgetHostViewMac::BrowserCompositorMacOnLostCompositorResources() { 411 void RenderWidgetHostViewMac::BrowserCompositorMacOnLostCompositorResources() {
412 render_widget_host_->ScheduleComposite(); 412 render_widget_host_->ScheduleComposite();
413 } 413 }
414 414
415 void RenderWidgetHostViewMac::BrowserCompositorMacSendBeginFrame( 415 void RenderWidgetHostViewMac::BrowserCompositorMacSendBeginFrame(
416 const cc::BeginFrameArgs& args) { 416 const cc::BeginFrameArgs& args) {
417 render_widget_host_->Send( 417 render_widget_host_->Send(
418 new ViewMsg_BeginFrame(render_widget_host_->GetRoutingID(), args)); 418 new ViewMsg_BeginFrame(render_widget_host_->GetRoutingID(), args));
(...skipping 885 matching lines...) Expand 10 before | Expand all | Expand 10 after
1304 1304
1305 bool RenderWidgetHostViewMac::HasAcceleratedSurface( 1305 bool RenderWidgetHostViewMac::HasAcceleratedSurface(
1306 const gfx::Size& desired_size) { 1306 const gfx::Size& desired_size) {
1307 ui::AcceleratedWidgetMac* accelerated_widget_mac = 1307 ui::AcceleratedWidgetMac* accelerated_widget_mac =
1308 browser_compositor_->GetAcceleratedWidgetMac(); 1308 browser_compositor_->GetAcceleratedWidgetMac();
1309 if (accelerated_widget_mac) 1309 if (accelerated_widget_mac)
1310 return accelerated_widget_mac->HasFrameOfSize(desired_size); 1310 return accelerated_widget_mac->HasFrameOfSize(desired_size);
1311 return false; 1311 return false;
1312 } 1312 }
1313 1313
1314 void RenderWidgetHostViewMac::OnSwapCompositorFrame(uint32_t output_surface_id, 1314 void RenderWidgetHostViewMac::OnSwapCompositorFrame(
1315 cc::CompositorFrame frame) { 1315 uint32_t compositor_frame_sink_id,
1316 cc::CompositorFrame frame) {
1316 TRACE_EVENT0("browser", "RenderWidgetHostViewMac::OnSwapCompositorFrame"); 1317 TRACE_EVENT0("browser", "RenderWidgetHostViewMac::OnSwapCompositorFrame");
1317 1318
1318 last_scroll_offset_ = frame.metadata.root_scroll_offset; 1319 last_scroll_offset_ = frame.metadata.root_scroll_offset;
1319 1320
1320 page_at_minimum_scale_ = 1321 page_at_minimum_scale_ =
1321 frame.metadata.page_scale_factor == frame.metadata.min_page_scale_factor; 1322 frame.metadata.page_scale_factor == frame.metadata.min_page_scale_factor;
1322 if (frame.delegated_frame_data) { 1323 if (frame.delegated_frame_data) {
1323 browser_compositor_->SwapCompositorFrame(output_surface_id, 1324 browser_compositor_->SwapCompositorFrame(compositor_frame_sink_id,
1324 std::move(frame)); 1325 std::move(frame));
1325 UpdateDisplayVSyncParameters(); 1326 UpdateDisplayVSyncParameters();
1326 } else { 1327 } else {
1327 DLOG(ERROR) << "Received unexpected frame type."; 1328 DLOG(ERROR) << "Received unexpected frame type.";
1328 bad_message::ReceivedBadMessage(render_widget_host_->GetProcess(), 1329 bad_message::ReceivedBadMessage(render_widget_host_->GetProcess(),
1329 bad_message::RWHVM_UNEXPECTED_FRAME_TYPE); 1330 bad_message::RWHVM_UNEXPECTED_FRAME_TYPE);
1330 } 1331 }
1331 } 1332 }
1332 1333
1333 void RenderWidgetHostViewMac::ClearCompositorFrame() { 1334 void RenderWidgetHostViewMac::ClearCompositorFrame() {
(...skipping 1931 matching lines...) Expand 10 before | Expand all | Expand 10 after
3265 3266
3266 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding 3267 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding
3267 // regions that are not draggable. (See ControlRegionView in 3268 // regions that are not draggable. (See ControlRegionView in
3268 // native_app_window_cocoa.mm). This requires the render host view to be 3269 // native_app_window_cocoa.mm). This requires the render host view to be
3269 // draggable by default. 3270 // draggable by default.
3270 - (BOOL)mouseDownCanMoveWindow { 3271 - (BOOL)mouseDownCanMoveWindow {
3271 return YES; 3272 return YES;
3272 } 3273 }
3273 3274
3274 @end 3275 @end
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | content/common/android/sync_compositor_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698