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

Unified Diff: content/browser/compositor/software_browser_compositor_output_surface.cc

Issue 2402173002: cc: Get rid of PostSwapBuffersComplete. (Closed)
Patch Set: postswap: fix-blimp-unittest-post-swap-acks Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/compositor/software_browser_compositor_output_surface.cc
diff --git a/content/browser/compositor/software_browser_compositor_output_surface.cc b/content/browser/compositor/software_browser_compositor_output_surface.cc
index 71614e385e943113d7b164e6434bf1a583197050..721166e2e869b00a32933aefc987a60d3e414309 100644
--- a/content/browser/compositor/software_browser_compositor_output_surface.cc
+++ b/content/browser/compositor/software_browser_compositor_output_surface.cc
@@ -6,6 +6,7 @@
#include <utility>
+#include "base/bind.h"
#include "base/location.h"
#include "base/memory/ref_counted.h"
#include "base/threading/thread_task_runner_handle.h"
@@ -23,10 +24,12 @@ namespace content {
SoftwareBrowserCompositorOutputSurface::SoftwareBrowserCompositorOutputSurface(
std::unique_ptr<cc::SoftwareOutputDevice> software_device,
const scoped_refptr<ui::CompositorVSyncManager>& vsync_manager,
- cc::SyntheticBeginFrameSource* begin_frame_source)
+ cc::SyntheticBeginFrameSource* begin_frame_source,
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner)
: BrowserCompositorOutputSurface(std::move(software_device),
vsync_manager,
begin_frame_source),
+ task_runner_(std::move(task_runner)),
weak_factory_(this) {}
SoftwareBrowserCompositorOutputSurface::
@@ -64,9 +67,9 @@ void SoftwareBrowserCompositorOutputSurface::SwapBuffers(
ui::INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT, 0, 0,
swap_time, 1);
}
- base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::Bind(&RenderWidgetHostImpl::CompositorFrameDrawn,
- frame.latency_info));
+ task_runner_->PostTask(FROM_HERE,
+ base::Bind(&RenderWidgetHostImpl::CompositorFrameDrawn,
+ frame.latency_info));
gfx::VSyncProvider* vsync_provider = software_device()->GetVSyncProvider();
if (vsync_provider) {
@@ -74,7 +77,15 @@ void SoftwareBrowserCompositorOutputSurface::SwapBuffers(
&BrowserCompositorOutputSurface::OnUpdateVSyncParametersFromGpu,
weak_factory_.GetWeakPtr()));
}
- PostSwapBuffersComplete();
+
+ task_runner_->PostTask(
+ FROM_HERE,
+ base::Bind(&SoftwareBrowserCompositorOutputSurface::SwapBuffersCallback,
+ weak_factory_.GetWeakPtr()));
+}
+
+void SoftwareBrowserCompositorOutputSurface::SwapBuffersCallback() {
+ client_->DidSwapBuffersComplete();
}
bool SoftwareBrowserCompositorOutputSurface::IsDisplayedAsOverlayPlane() const {
@@ -97,13 +108,6 @@ SoftwareBrowserCompositorOutputSurface::GetFramebufferCopyTextureFormat() {
return 0;
}
-void SoftwareBrowserCompositorOutputSurface::OnGpuSwapBuffersCompleted(
- const std::vector<ui::LatencyInfo>& latency_info,
- gfx::SwapResult result,
- const gpu::GpuProcessHostedCALayerTreeParamsMac* params_mac) {
- NOTREACHED();
-}
-
#if defined(OS_MACOSX)
void SoftwareBrowserCompositorOutputSurface::SetSurfaceSuspendedForRecycle(
bool suspended) {

Powered by Google App Engine
This is Rietveld 408576698