summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/software_frame_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host/software_frame_manager.cc')
-rw-r--r--content/browser/renderer_host/software_frame_manager.cc25
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() {