Index: content/browser/renderer_host/image_transport_factory.cc |
diff --git a/content/browser/renderer_host/image_transport_factory.cc b/content/browser/renderer_host/image_transport_factory.cc |
index 190673021bf51c8db21f5e7713a999fb89fdbeb1..a01dc6745c2a1ce5a44a0291974593239ee09141 100644 |
--- a/content/browser/renderer_host/image_transport_factory.cc |
+++ b/content/browser/renderer_host/image_transport_factory.cc |
@@ -79,6 +79,9 @@ class DefaultTransportFactory |
return 0; |
} |
+ virtual void SetDeviceScaleFactor(float device_scale_factor) OVERRIDE { |
+ } |
+ |
// We don't generate lost context events, so we don't need to keep track of |
// observers |
virtual void AddObserver(ImageTransportFactoryObserver* observer) OVERRIDE { |
@@ -97,8 +100,9 @@ class ImageTransportClientTexture : public ui::Texture { |
ImageTransportClientTexture( |
WebKit::WebGraphicsContext3D* host_context, |
const gfx::Size& size, |
+ float device_scale_factor, |
uint64 surface_id) |
- : ui::Texture(true, size), |
+ : ui::Texture(true, size, device_scale_factor), |
host_context_(host_context) { |
set_texture_id(surface_id); |
} |
@@ -123,8 +127,9 @@ class OwnedTexture : public ui::Texture, ImageTransportFactoryObserver { |
public: |
OwnedTexture(WebKit::WebGraphicsContext3D* host_context, |
const gfx::Size& size, |
+ float device_scale_factor, |
unsigned int texture_id) |
- : ui::Texture(true, size), |
+ : ui::Texture(true, size, device_scale_factor), |
host_context_(host_context) { |
ImageTransportFactory::GetInstance()->AddObserver(this); |
set_texture_id(texture_id); |
@@ -207,7 +212,8 @@ class GpuProcessTransportFactory : |
public WebKit::WebGraphicsContext3D::WebGraphicsContextLostCallback { |
public: |
GpuProcessTransportFactory() |
- : ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)) { |
+ : ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)), |
+ device_scale_factor_(1.0f) { |
} |
virtual ~GpuProcessTransportFactory() { |
@@ -286,7 +292,8 @@ class GpuProcessTransportFactory : |
return NULL; |
scoped_refptr<ImageTransportClientTexture> image( |
new ImageTransportClientTexture(shared_context_.get(), |
- size, transport_handle)); |
+ size, device_scale_factor_, |
+ transport_handle)); |
return image; |
} |
@@ -296,7 +303,8 @@ class GpuProcessTransportFactory : |
if (!shared_context_.get()) |
return NULL; |
scoped_refptr<OwnedTexture> image( |
- new OwnedTexture(shared_context_.get(), size, texture_id)); |
+ new OwnedTexture(shared_context_.get(), size, device_scale_factor_, |
+ texture_id)); |
return image; |
} |
@@ -319,6 +327,10 @@ class GpuProcessTransportFactory : |
return shared_context_->insertSyncPoint(); |
} |
+ virtual void SetDeviceScaleFactor(float device_scale_factor) OVERRIDE { |
+ device_scale_factor_ = device_scale_factor; |
+ } |
+ |
virtual void AddObserver(ImageTransportFactoryObserver* observer) { |
observer_list_.AddObserver(observer); |
} |
@@ -444,6 +456,7 @@ class GpuProcessTransportFactory : |
scoped_ptr<WebGraphicsContext3DCommandBufferImpl> shared_context_; |
ObserverList<ImageTransportFactoryObserver> observer_list_; |
base::WeakPtrFactory<GpuProcessTransportFactory> callback_factory_; |
+ float device_scale_factor_; |
DISALLOW_COPY_AND_ASSIGN(GpuProcessTransportFactory); |
}; |