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

Side by Side Diff: content/browser/compositor/software_browser_compositor_output_surface.cc

Issue 2096493002: Make cc::CompositorFrames movable [Part 1 of 2] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Dana's nits Created 4 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/compositor/software_browser_compositor_output_surface. h" 5 #include "content/browser/compositor/software_browser_compositor_output_surface. h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
(...skipping 16 matching lines...) Expand all
27 : BrowserCompositorOutputSurface(std::move(software_device), 27 : BrowserCompositorOutputSurface(std::move(software_device),
28 vsync_manager, 28 vsync_manager,
29 begin_frame_source), 29 begin_frame_source),
30 weak_factory_(this) {} 30 weak_factory_(this) {}
31 31
32 SoftwareBrowserCompositorOutputSurface:: 32 SoftwareBrowserCompositorOutputSurface::
33 ~SoftwareBrowserCompositorOutputSurface() { 33 ~SoftwareBrowserCompositorOutputSurface() {
34 } 34 }
35 35
36 void SoftwareBrowserCompositorOutputSurface::SwapBuffers( 36 void SoftwareBrowserCompositorOutputSurface::SwapBuffers(
37 cc::CompositorFrame* frame) { 37 cc::CompositorFrame frame) {
38 base::TimeTicks swap_time = base::TimeTicks::Now(); 38 base::TimeTicks swap_time = base::TimeTicks::Now();
39 for (auto& latency : frame->metadata.latency_info) { 39 for (auto& latency : frame.metadata.latency_info) {
40 latency.AddLatencyNumberWithTimestamp( 40 latency.AddLatencyNumberWithTimestamp(
41 ui::INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT, 0, 0, swap_time, 1); 41 ui::INPUT_EVENT_GPU_SWAP_BUFFER_COMPONENT, 0, 0, swap_time, 1);
42 latency.AddLatencyNumberWithTimestamp( 42 latency.AddLatencyNumberWithTimestamp(
43 ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0, 43 ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0,
44 swap_time, 1); 44 swap_time, 1);
45 } 45 }
46 base::ThreadTaskRunnerHandle::Get()->PostTask( 46 base::ThreadTaskRunnerHandle::Get()->PostTask(
47 FROM_HERE, base::Bind(&RenderWidgetHostImpl::CompositorFrameDrawn, 47 FROM_HERE, base::Bind(&RenderWidgetHostImpl::CompositorFrameDrawn,
48 frame->metadata.latency_info)); 48 frame.metadata.latency_info));
49 49
50 gfx::VSyncProvider* vsync_provider = software_device()->GetVSyncProvider(); 50 gfx::VSyncProvider* vsync_provider = software_device()->GetVSyncProvider();
51 if (vsync_provider) { 51 if (vsync_provider) {
52 vsync_provider->GetVSyncParameters(base::Bind( 52 vsync_provider->GetVSyncParameters(base::Bind(
53 &BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu, 53 &BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu,
54 weak_factory_.GetWeakPtr())); 54 weak_factory_.GetWeakPtr()));
55 } 55 }
56 PostSwapBuffersComplete(); 56 PostSwapBuffersComplete();
57 client_->DidSwapBuffers(); 57 client_->DidSwapBuffers();
58 } 58 }
(...skipping 17 matching lines...) Expand all
76 NOTREACHED(); 76 NOTREACHED();
77 } 77 }
78 78
79 #if defined(OS_MACOSX) 79 #if defined(OS_MACOSX)
80 void SoftwareBrowserCompositorOutputSurface::SetSurfaceSuspendedForRecycle( 80 void SoftwareBrowserCompositorOutputSurface::SetSurfaceSuspendedForRecycle(
81 bool suspended) { 81 bool suspended) {
82 } 82 }
83 #endif 83 #endif
84 84
85 } // namespace content 85 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698