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 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1471 | 1471 |
1472 bool RenderWidgetHostViewMac::HasAcceleratedSurface( | 1472 bool RenderWidgetHostViewMac::HasAcceleratedSurface( |
1473 const gfx::Size& desired_size) { | 1473 const gfx::Size& desired_size) { |
1474 if (browser_compositor_) { | 1474 if (browser_compositor_) { |
1475 return browser_compositor_->accelerated_widget_mac()->HasFrameOfSize( | 1475 return browser_compositor_->accelerated_widget_mac()->HasFrameOfSize( |
1476 desired_size); | 1476 desired_size); |
1477 } | 1477 } |
1478 return false; | 1478 return false; |
1479 } | 1479 } |
1480 | 1480 |
1481 void RenderWidgetHostViewMac::OnSwapCompositorFrame( | 1481 void RenderWidgetHostViewMac::OnSwapCompositorFrame(uint32_t output_surface_id, |
1482 uint32_t output_surface_id, | 1482 cc::CompositorFrame frame) { |
1483 std::unique_ptr<cc::CompositorFrame> frame) { | |
1484 TRACE_EVENT0("browser", "RenderWidgetHostViewMac::OnSwapCompositorFrame"); | 1483 TRACE_EVENT0("browser", "RenderWidgetHostViewMac::OnSwapCompositorFrame"); |
1485 | 1484 |
1486 last_scroll_offset_ = frame->metadata.root_scroll_offset; | 1485 last_scroll_offset_ = frame.metadata.root_scroll_offset; |
1487 | 1486 |
1488 page_at_minimum_scale_ = frame->metadata.page_scale_factor == | 1487 page_at_minimum_scale_ = |
1489 frame->metadata.min_page_scale_factor; | 1488 frame.metadata.page_scale_factor == frame.metadata.min_page_scale_factor; |
1490 | 1489 |
1491 if (frame->delegated_frame_data) { | 1490 if (frame.delegated_frame_data) { |
1492 float scale_factor = frame->metadata.device_scale_factor; | 1491 float scale_factor = frame.metadata.device_scale_factor; |
1493 | 1492 |
1494 // Compute the frame size based on the root render pass rect size. | 1493 // Compute the frame size based on the root render pass rect size. |
1495 cc::RenderPass* root_pass = | 1494 cc::RenderPass* root_pass = |
1496 frame->delegated_frame_data->render_pass_list.back().get(); | 1495 frame.delegated_frame_data->render_pass_list.back().get(); |
1497 gfx::Size pixel_size = root_pass->output_rect.size(); | 1496 gfx::Size pixel_size = root_pass->output_rect.size(); |
1498 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); | 1497 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); |
1499 | 1498 |
1500 root_layer_->SetBounds(gfx::Rect(dip_size)); | 1499 root_layer_->SetBounds(gfx::Rect(dip_size)); |
1501 if (!render_widget_host_->is_hidden()) { | 1500 if (!render_widget_host_->is_hidden()) { |
1502 EnsureBrowserCompositorView(); | 1501 EnsureBrowserCompositorView(); |
1503 browser_compositor_->compositor()->SetScaleAndSize( | 1502 browser_compositor_->compositor()->SetScaleAndSize( |
1504 scale_factor, pixel_size); | 1503 scale_factor, pixel_size); |
1505 } | 1504 } |
1506 | 1505 |
(...skipping 1932 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3439 | 3438 |
3440 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding | 3439 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding |
3441 // regions that are not draggable. (See ControlRegionView in | 3440 // regions that are not draggable. (See ControlRegionView in |
3442 // native_app_window_cocoa.mm). This requires the render host view to be | 3441 // native_app_window_cocoa.mm). This requires the render host view to be |
3443 // draggable by default. | 3442 // draggable by default. |
3444 - (BOOL)mouseDownCanMoveWindow { | 3443 - (BOOL)mouseDownCanMoveWindow { |
3445 return YES; | 3444 return YES; |
3446 } | 3445 } |
3447 | 3446 |
3448 @end | 3447 @end |
OLD | NEW |