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

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

Issue 17971002: Make RenderWidgetHostViewAura::CopyFromCompositingSurface readback layer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tabcapture-aura: DidReceiveRendererFrame Created 7 years, 5 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 | Annotate | Revision Log
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 #include <QuartzCore/QuartzCore.h> 7 #include <QuartzCore/QuartzCore.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
863 composition_range_ = range; 863 composition_range_ = range;
864 composition_bounds_ = character_bounds; 864 composition_bounds_ = character_bounds;
865 } 865 }
866 866
867 void RenderWidgetHostViewMac::DidUpdateBackingStore( 867 void RenderWidgetHostViewMac::DidUpdateBackingStore(
868 const gfx::Rect& scroll_rect, 868 const gfx::Rect& scroll_rect,
869 const gfx::Vector2d& scroll_delta, 869 const gfx::Vector2d& scroll_delta,
870 const std::vector<gfx::Rect>& copy_rects, 870 const std::vector<gfx::Rect>& copy_rects,
871 const ui::LatencyInfo& latency_info) { 871 const ui::LatencyInfo& latency_info) {
872 GotSoftwareFrame(); 872 GotSoftwareFrame();
873 DidReceiveRendererFrame();
873 874
874 software_latency_info_.MergeWith(latency_info); 875 software_latency_info_.MergeWith(latency_info);
875 876
876 if (!is_hidden_) { 877 if (!is_hidden_) {
877 std::vector<gfx::Rect> rects(copy_rects); 878 std::vector<gfx::Rect> rects(copy_rects);
878 879
879 // Because the findbar might be open, we cannot use scrollRect:by: here. For 880 // Because the findbar might be open, we cannot use scrollRect:by: here. For
880 // now, simply mark all of scroll rect as dirty. 881 // now, simply mark all of scroll rect as dirty.
881 if (!scroll_rect.IsEmpty()) 882 if (!scroll_rect.IsEmpty())
882 rects.push_back(scroll_rect); 883 rects.push_back(scroll_rect);
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 return true; 1506 return true;
1506 } 1507 }
1507 1508
1508 void RenderWidgetHostViewMac::AcceleratedSurfaceBuffersSwapped( 1509 void RenderWidgetHostViewMac::AcceleratedSurfaceBuffersSwapped(
1509 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params, 1510 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params,
1510 int gpu_host_id) { 1511 int gpu_host_id) {
1511 TRACE_EVENT0("browser", 1512 TRACE_EVENT0("browser",
1512 "RenderWidgetHostViewMac::AcceleratedSurfaceBuffersSwapped"); 1513 "RenderWidgetHostViewMac::AcceleratedSurfaceBuffersSwapped");
1513 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1514 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1514 1515
1516 DidReceiveRendererFrame();
1515 pending_swap_buffers_acks_.push_back(std::make_pair(params.route_id, 1517 pending_swap_buffers_acks_.push_back(std::make_pair(params.route_id,
1516 gpu_host_id)); 1518 gpu_host_id));
1517 1519
1518 if (CompositorSwapBuffers(params.surface_handle, 1520 if (CompositorSwapBuffers(params.surface_handle,
1519 params.size, 1521 params.size,
1520 params.scale_factor, 1522 params.scale_factor,
1521 params.latency_info)) { 1523 params.latency_info)) {
1522 ThrottledAckPendingSwapBuffers(); 1524 ThrottledAckPendingSwapBuffers();
1523 } else { 1525 } else {
1524 GotAcceleratedCompositingError(); 1526 GotAcceleratedCompositingError();
1525 } 1527 }
1526 } 1528 }
1527 1529
1528 void RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer( 1530 void RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer(
1529 const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params, 1531 const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params,
1530 int gpu_host_id) { 1532 int gpu_host_id) {
1531 TRACE_EVENT0("browser", 1533 TRACE_EVENT0("browser",
1532 "RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer"); 1534 "RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer");
1533 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1535 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1534 1536
1537 DidReceiveRendererFrame();
1535 pending_swap_buffers_acks_.push_back(std::make_pair(params.route_id, 1538 pending_swap_buffers_acks_.push_back(std::make_pair(params.route_id,
1536 gpu_host_id)); 1539 gpu_host_id));
1537 1540
1538 if (CompositorSwapBuffers(params.surface_handle, 1541 if (CompositorSwapBuffers(params.surface_handle,
1539 params.surface_size, 1542 params.surface_size,
1540 params.surface_scale_factor, 1543 params.surface_scale_factor,
1541 params.latency_info)) { 1544 params.latency_info)) {
1542 ThrottledAckPendingSwapBuffers(); 1545 ThrottledAckPendingSwapBuffers();
1543 } else { 1546 } else {
1544 GotAcceleratedCompositingError(); 1547 GotAcceleratedCompositingError();
(...skipping 2170 matching lines...) Expand 10 before | Expand all | Expand 10 after
3715 return YES; 3718 return YES;
3716 } 3719 }
3717 3720
3718 - (BOOL)isOpaque { 3721 - (BOOL)isOpaque {
3719 if (renderWidgetHostView_->use_core_animation_) 3722 if (renderWidgetHostView_->use_core_animation_)
3720 return YES; 3723 return YES;
3721 return [super isOpaque]; 3724 return [super isOpaque];
3722 } 3725 }
3723 3726
3724 @end 3727 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698