Commit a618254f authored by dnicoara@chromium.org's avatar dnicoara@chromium.org

[Ozone] Rename GetVSyncProvider to CreateVSyncProvider

Ozone is actually creating the VSyncProvider. The caller will also take
ownership of the VSyncProvider. Updating the method definition to better reflect
the intent.

BUG=

Review URL: https://codereview.chromium.org/102563005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243688 0039d316-1c4b-4281-b951-d872f2087c98
parent aa3ba77e
......@@ -24,7 +24,7 @@ SoftwareOutputDeviceOzone::SoftwareOutputDeviceOzone(ui::Compositor* compositor)
if (realized_widget_ == gfx::kNullAcceleratedWidget)
LOG(FATAL) << "Failed to get a realized AcceleratedWidget";
vsync_provider_.reset(factory->GetVSyncProvider(realized_widget_));
vsync_provider_ = factory->CreateVSyncProvider(realized_widget_);
}
SoftwareOutputDeviceOzone::~SoftwareOutputDeviceOzone() {
......
......@@ -237,10 +237,10 @@ SkCanvas* DriSurfaceFactory::GetCanvasForWidget(
return reinterpret_cast<DriSurface*>(w)->GetDrawableForWidget();
}
gfx::VSyncProvider* DriSurfaceFactory::GetVSyncProvider(
scoped_ptr<gfx::VSyncProvider> DriSurfaceFactory::CreateVSyncProvider(
gfx::AcceleratedWidget w) {
CHECK(state_ == INITIALIZED);
return new DriVSyncProvider(controller_.get());
return scoped_ptr<VSyncProvider>(new DriVSyncProvider(controller_.get()));
}
////////////////////////////////////////////////////////////////////////////////
......
......@@ -41,7 +41,7 @@ class GFX_EXPORT DriSurfaceFactory : public SurfaceFactoryOzone {
virtual SkCanvas* GetCanvasForWidget(gfx::AcceleratedWidget w) OVERRIDE;
virtual gfx::VSyncProvider* GetVSyncProvider(
virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider(
gfx::AcceleratedWidget w) OVERRIDE;
private:
......
......@@ -12,6 +12,7 @@
#include "third_party/skia/include/core/SkBitmapDevice.h"
#include "third_party/skia/include/core/SkDevice.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/vsync_provider.h"
namespace {
......@@ -89,8 +90,9 @@ SkCanvas* FileSurfaceFactory::GetCanvasForWidget(AcceleratedWidget w) {
return canvas_.get();
}
VSyncProvider* FileSurfaceFactory::GetVSyncProvider(AcceleratedWidget w) {
return NULL;
scoped_ptr<VSyncProvider> FileSurfaceFactory::CreateVSyncProvider(
AcceleratedWidget w) {
return scoped_ptr<VSyncProvider>();
}
} // namespace gfx
......@@ -35,7 +35,8 @@ class GFX_EXPORT FileSurfaceFactory : public SurfaceFactoryOzone {
const Rect& bounds) OVERRIDE;
virtual bool SchedulePageFlip(AcceleratedWidget widget) OVERRIDE;
virtual SkCanvas* GetCanvasForWidget(AcceleratedWidget widget) OVERRIDE;
virtual VSyncProvider* GetVSyncProvider(AcceleratedWidget widget) OVERRIDE;
virtual scoped_ptr<VSyncProvider> CreateVSyncProvider(
AcceleratedWidget widget) OVERRIDE;
base::FilePath location_;
skia::RefPtr<SkBitmapDevice> device_;
......
......@@ -7,6 +7,7 @@
#include <stdlib.h>
#include "base/command_line.h"
#include "ui/gfx/vsync_provider.h"
namespace gfx {
......@@ -35,9 +36,9 @@ class SurfaceFactoryOzoneStub : public SurfaceFactoryOzone {
const gfx::Rect& bounds) OVERRIDE {
return false;
}
virtual gfx::VSyncProvider* GetVSyncProvider(
virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider(
gfx::AcceleratedWidget w) OVERRIDE {
return NULL;
return scoped_ptr<VSyncProvider>();
}
};
......
......@@ -6,6 +6,7 @@
#define UI_GFX_OZONE_SURFACE_LNUX_FACTORY_OZONE_H_
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"
#include "base/native_library.h"
#include "ui/gfx/gfx_export.h"
#include "ui/gfx/native_widget_types.h"
......@@ -125,8 +126,9 @@ class GFX_EXPORT SurfaceFactoryOzone {
// that this may be called after we have entered the sandbox so if there are
// operations (e.g. opening a file descriptor providing vsync events) that
// must be done outside of the sandbox, they must have been completed
// in InitializeHardware. Returns NULL on error.
virtual gfx::VSyncProvider* GetVSyncProvider(gfx::AcceleratedWidget w) = 0;
// in InitializeHardware. Returns an empty scoped_ptr on error.
virtual scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider(
gfx::AcceleratedWidget w) = 0;
// Returns an array of EGL properties, which can be used in any EGL function
// used to select a display configuration. Note that all properties should be
......
......@@ -250,12 +250,12 @@ NativeViewGLSurfaceEGL::NativeViewGLSurfaceEGL(gfx::AcceleratedWidget window)
}
bool NativeViewGLSurfaceEGL::Initialize() {
return Initialize(NULL);
return Initialize(scoped_ptr<VSyncProvider>());
}
bool NativeViewGLSurfaceEGL::Initialize(VSyncProvider* sync_provider) {
bool NativeViewGLSurfaceEGL::Initialize(
scoped_ptr<VSyncProvider> sync_provider) {
DCHECK(!surface_);
scoped_ptr<VSyncProvider> vsync_provider(sync_provider);
if (window_ == kNullAcceleratedWidget) {
LOG(ERROR) << "Trying to create surface without window.";
......@@ -296,7 +296,7 @@ bool NativeViewGLSurfaceEGL::Initialize(VSyncProvider* sync_provider) {
supports_post_sub_buffer_ = (surfaceVal && retVal) == EGL_TRUE;
if (sync_provider)
vsync_provider_.swap(vsync_provider);
vsync_provider_.reset(sync_provider.release());
else if (g_egl_sync_control_supported)
vsync_provider_.reset(new EGLSyncControlVSyncProvider(surface_));
return true;
......@@ -718,15 +718,15 @@ GLSurface::CreateViewGLSurface(gfx::AcceleratedWidget window) {
DCHECK(GetGLImplementation() == kGLImplementationEGLGLES2);
if (window) {
scoped_refptr<NativeViewGLSurfaceEGL> surface;
VSyncProvider* sync_provider = NULL;
scoped_ptr<VSyncProvider> sync_provider;
#if defined(USE_OZONE)
window = gfx::SurfaceFactoryOzone::GetInstance()->RealizeAcceleratedWidget(
window);
sync_provider =
gfx::SurfaceFactoryOzone::GetInstance()->GetVSyncProvider(window);
gfx::SurfaceFactoryOzone::GetInstance()->CreateVSyncProvider(window);
#endif
surface = new NativeViewGLSurfaceEGL(window);
if(surface->Initialize(sync_provider))
if(surface->Initialize(sync_provider.Pass()))
return surface;
} else {
scoped_refptr<GLSurface> surface = new GLSurfaceStub();
......
......@@ -68,7 +68,7 @@ class GL_EXPORT NativeViewGLSurfaceEGL : public GLSurfaceEGL {
// Create a NativeViewGLSurfaceEGL with an externally provided VSyncProvider.
// Takes ownership of the VSyncProvider.
virtual bool Initialize(VSyncProvider* sync_provider);
virtual bool Initialize(scoped_ptr<VSyncProvider> sync_provider);
protected:
virtual ~NativeViewGLSurfaceEGL();
......
......@@ -230,10 +230,10 @@ scoped_refptr<GLSurface> GLSurface::CreateViewGLSurface(
case kGLImplementationEGLGLES2: {
scoped_refptr<NativeViewGLSurfaceEGL> surface(
new NativeViewGLSurfaceEGL(window));
DWMVSyncProvider* sync_provider = NULL;
scoped_ptr<VSyncProvider> sync_provider;
if (base::win::GetVersion() >= base::win::VERSION_VISTA)
sync_provider = new DWMVSyncProvider;
if (!surface->Initialize(sync_provider))
sync_provider.reset(new DWMVSyncProvider);
if (!surface->Initialize(sync_provider.Pass()))
return NULL;
return surface;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment