OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |