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 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
592 render_widget_host_->SetView(this); | 592 render_widget_host_->SetView(this); |
593 | 593 |
594 // Let the page-level input event router know about our surface ID | 594 // Let the page-level input event router know about our surface ID |
595 // namespace for surface-based hit testing. | 595 // namespace for surface-based hit testing. |
596 if (render_widget_host_->delegate() && | 596 if (render_widget_host_->delegate() && |
597 render_widget_host_->delegate()->GetInputEventRouter()) { | 597 render_widget_host_->delegate()->GetInputEventRouter()) { |
598 render_widget_host_->delegate() | 598 render_widget_host_->delegate() |
599 ->GetInputEventRouter() | 599 ->GetInputEventRouter() |
600 ->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this); | 600 ->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this); |
601 } | 601 } |
602 | |
603 if (!render_widget_host_->is_hidden()) | |
604 EnsureBrowserCompositorView(); | |
602 } | 605 } |
603 | 606 |
604 RenderWidgetHostViewMac::~RenderWidgetHostViewMac() { | 607 RenderWidgetHostViewMac::~RenderWidgetHostViewMac() { |
605 display::Screen::GetScreen()->RemoveObserver(this); | 608 display::Screen::GetScreen()->RemoveObserver(this); |
606 | 609 |
607 // This is being called from |cocoa_view_|'s destructor, so invalidate the | 610 // This is being called from |cocoa_view_|'s destructor, so invalidate the |
608 // pointer. | 611 // pointer. |
609 cocoa_view_ = nil; | 612 cocoa_view_ = nil; |
610 | 613 |
611 UnlockMouse(); | 614 UnlockMouse(); |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1489 if (frame->delegated_frame_data) { | 1492 if (frame->delegated_frame_data) { |
1490 float scale_factor = frame->metadata.device_scale_factor; | 1493 float scale_factor = frame->metadata.device_scale_factor; |
1491 | 1494 |
1492 // Compute the frame size based on the root render pass rect size. | 1495 // Compute the frame size based on the root render pass rect size. |
1493 cc::RenderPass* root_pass = | 1496 cc::RenderPass* root_pass = |
1494 frame->delegated_frame_data->render_pass_list.back().get(); | 1497 frame->delegated_frame_data->render_pass_list.back().get(); |
1495 gfx::Size pixel_size = root_pass->output_rect.size(); | 1498 gfx::Size pixel_size = root_pass->output_rect.size(); |
1496 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); | 1499 gfx::Size dip_size = gfx::ConvertSizeToDIP(scale_factor, pixel_size); |
1497 | 1500 |
1498 root_layer_->SetBounds(gfx::Rect(dip_size)); | 1501 root_layer_->SetBounds(gfx::Rect(dip_size)); |
1499 if (!render_widget_host_->is_hidden()) { | 1502 if (browser_compositor_ && browser_compositor_->compositor()) { |
enne (OOO)
2016/05/26 00:07:06
I forgot to check if browser compositor also exist
| |
1500 EnsureBrowserCompositorView(); | |
1501 browser_compositor_->compositor()->SetScaleAndSize( | 1503 browser_compositor_->compositor()->SetScaleAndSize( |
1502 scale_factor, pixel_size); | 1504 scale_factor, pixel_size); |
1503 } | 1505 } |
1504 | 1506 |
1505 SendVSyncParametersToRenderer(); | 1507 SendVSyncParametersToRenderer(); |
1506 | 1508 |
1507 delegated_frame_host_->SwapDelegatedFrame(output_surface_id, | 1509 delegated_frame_host_->SwapDelegatedFrame(output_surface_id, |
1508 std::move(frame)); | 1510 std::move(frame)); |
1509 } else { | 1511 } else { |
1510 DLOG(ERROR) << "Received unexpected frame type."; | 1512 DLOG(ERROR) << "Received unexpected frame type."; |
(...skipping 1939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3450 | 3452 |
3451 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding | 3453 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding |
3452 // regions that are not draggable. (See ControlRegionView in | 3454 // regions that are not draggable. (See ControlRegionView in |
3453 // native_app_window_cocoa.mm). This requires the render host view to be | 3455 // native_app_window_cocoa.mm). This requires the render host view to be |
3454 // draggable by default. | 3456 // draggable by default. |
3455 - (BOOL)mouseDownCanMoveWindow { | 3457 - (BOOL)mouseDownCanMoveWindow { |
3456 return YES; | 3458 return YES; |
3457 } | 3459 } |
3458 | 3460 |
3459 @end | 3461 @end |
OLD | NEW |