~abreu-alexandre/oxide/remove-chromedriver-build

« back to all changes in this revision

Viewing changes to shared/browser/compositor/oxide_compositor_output_surface_software.cc

  • Committer: Chris Coulson
  • Date: 2016-02-26 18:27:48 UTC
  • Revision ID: chris.coulson@canonical.com-20160226182748-bqhc23qxs09cpg33
Switch to a single-threaded webview compositor

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
// vim:expandtab:shiftwidth=2:tabstop=2:
2
 
// Copyright (C) 2014 Canonical Ltd.
 
2
// Copyright (C) 2014-2016 Canonical Ltd.
3
3
 
4
4
// This library is free software; you can redistribute it and/or
5
5
// modify it under the terms of the GNU Lesser General Public
25
25
 
26
26
#include "oxide_compositor_frame_ack.h"
27
27
#include "oxide_compositor_frame_data.h"
 
28
#include "oxide_compositor_proxy.h"
28
29
#include "oxide_compositor_software_output_device.h"
29
 
#include "oxide_compositor_thread_proxy.h"
30
30
 
31
31
namespace oxide {
32
32
 
33
33
void CompositorOutputSurfaceSoftware::SwapBuffers(cc::CompositorFrame* frame) {
34
 
  CompositorFrameData data;
35
 
  data.device_scale = frame->metadata.device_scale_factor;
36
 
  data.software_frame_data = make_scoped_ptr(new SoftwareFrameData());
 
34
  scoped_ptr<CompositorFrameData> data(new CompositorFrameData());
 
35
  data->software_frame_data = make_scoped_ptr(new SoftwareFrameData());
37
36
 
38
37
  static_cast<CompositorSoftwareOutputDevice*>(software_device())
39
 
      ->PopulateFrameDataForSwap(&data);
 
38
      ->PopulateFrameDataForSwap(data.get());
40
39
 
41
 
  DoSwapBuffers(&data);
 
40
  DoSwapBuffers(std::move(data));
42
41
}
43
42
 
44
43
void CompositorOutputSurfaceSoftware::ReclaimResources(
45
44
    const CompositorFrameAck& ack) {
46
 
  DCHECK(CalledOnValidThread());
47
45
  DCHECK_GT(ack.software_frame_id, 0U);
48
46
  DCHECK(ack.gl_frame_mailbox.IsZero());
49
47
 
55
53
CompositorOutputSurfaceSoftware::CompositorOutputSurfaceSoftware(
56
54
    uint32_t surface_id,
57
55
    scoped_ptr<cc::SoftwareOutputDevice> software_device,
58
 
    scoped_refptr<CompositorThreadProxy> proxy)
59
 
    : CompositorOutputSurface(surface_id, std::move(software_device), proxy) {}
 
56
    scoped_refptr<CompositorProxy> proxy)
 
57
    : CompositorOutputSurface(surface_id,
 
58
                              std::move(software_device),
 
59
                              proxy) {}
60
60
 
61
61
CompositorOutputSurfaceSoftware::~CompositorOutputSurfaceSoftware() {}
62
62