diff options
Diffstat (limited to 'content/browser/renderer_host/software_frame_manager.cc')
-rw-r--r-- | content/browser/renderer_host/software_frame_manager.cc | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/content/browser/renderer_host/software_frame_manager.cc b/content/browser/renderer_host/software_frame_manager.cc index f9cc1d8..147c21e 100644 --- a/content/browser/renderer_host/software_frame_manager.cc +++ b/content/browser/renderer_host/software_frame_manager.cc @@ -32,7 +32,7 @@ class CONTENT_EXPORT SoftwareFrame : public base::RefCounted<SoftwareFrame> { base::WeakPtr<SoftwareFrameManagerClient> frame_manager_client, uint32 output_surface_id, unsigned frame_id, - gfx::Size frame_size_dip, + float frame_device_scale_factor, gfx::Size frame_size_pixels, scoped_ptr<base::SharedMemory> shared_memory); ~SoftwareFrame(); @@ -40,7 +40,7 @@ class CONTENT_EXPORT SoftwareFrame : public base::RefCounted<SoftwareFrame> { base::WeakPtr<SoftwareFrameManagerClient> frame_manager_client_; const uint32 output_surface_id_; const unsigned frame_id_; - const gfx::Size frame_size_dip_; + float frame_device_scale_factor_; const gfx::Size frame_size_pixels_; scoped_ptr<base::SharedMemory> shared_memory_; @@ -51,13 +51,13 @@ SoftwareFrame::SoftwareFrame( base::WeakPtr<SoftwareFrameManagerClient> frame_manager_client, uint32 output_surface_id, unsigned frame_id, - gfx::Size frame_size_dip, + float frame_device_scale_factor, gfx::Size frame_size_pixels, scoped_ptr<base::SharedMemory> shared_memory) : frame_manager_client_(frame_manager_client), output_surface_id_(output_surface_id), frame_id_(frame_id), - frame_size_dip_(frame_size_dip), + frame_device_scale_factor_(frame_device_scale_factor), frame_size_pixels_(frame_size_pixels), shared_memory_(shared_memory.Pass()) {} @@ -125,7 +125,7 @@ bool SoftwareFrameManager::SwapToNewFrame( client_, output_surface_id, frame_data->id, - ConvertSizeToDIP(frame_device_scale_factor, frame_data->size), + frame_device_scale_factor, frame_data->size, shared_memory.Pass())); current_frame_.swap(next_frame); @@ -154,6 +154,11 @@ void SoftwareFrameManager::SetVisibility(bool visible) { } } +uint32 SoftwareFrameManager::GetCurrentFrameOutputSurfaceId() const { + DCHECK(HasCurrentFrame()); + return current_frame_->output_surface_id_; +} + void SoftwareFrameManager::GetCurrentFrameMailbox( cc::TextureMailbox* mailbox, scoped_ptr<cc::SingleReleaseCallback>* callback) { @@ -164,13 +169,18 @@ void SoftwareFrameManager::GetCurrentFrameMailbox( base::Bind(ReleaseMailbox, current_frame_)); } -const void* SoftwareFrameManager::GetCurrentFramePixels() const { +void* SoftwareFrameManager::GetCurrentFramePixels() const { DCHECK(HasCurrentFrame()); DCHECK(base::SharedMemory::IsHandleValid( current_frame_->shared_memory_->handle())); return current_frame_->shared_memory_->memory(); } +float SoftwareFrameManager::GetCurrentFrameDeviceScaleFactor() const { + DCHECK(HasCurrentFrame()); + return current_frame_->frame_device_scale_factor_; +} + gfx::Size SoftwareFrameManager::GetCurrentFrameSizeInPixels() const { DCHECK(HasCurrentFrame()); return current_frame_->frame_size_pixels_; @@ -178,7 +188,8 @@ gfx::Size SoftwareFrameManager::GetCurrentFrameSizeInPixels() const { gfx::Size SoftwareFrameManager::GetCurrentFrameSizeInDIP() const { DCHECK(HasCurrentFrame()); - return current_frame_->frame_size_dip_; + return ConvertSizeToDIP(current_frame_->frame_device_scale_factor_, + current_frame_->frame_size_pixels_); } void SoftwareFrameManager::EvictCurrentFrame() { |