summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/layer_tree_host_impl.cc2
-rw-r--r--cc/layer_tree_settings.cc2
-rw-r--r--cc/layer_tree_settings.h2
-rw-r--r--cc/switches.cc2
-rw-r--r--content/browser/renderer_host/compositor_impl_android.cc2
-rw-r--r--content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java7
-rw-r--r--webkit/compositor_bindings/web_layer_tree_view_impl.cc8
7 files changed, 14 insertions, 11 deletions
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
index c588a00..e846f1d 100644
--- a/cc/layer_tree_host_impl.cc
+++ b/cc/layer_tree_host_impl.cc
@@ -162,7 +162,7 @@ LayerTreeHostImpl::LayerTreeHostImpl(const LayerTreeSettings& settings, LayerTre
didVisibilityChange(this, m_visible);
if (settings.calculateTopControlsPosition)
- m_topControlsManager = TopControlsManager::Create(this, settings.topControlsHeightPx);
+ m_topControlsManager = TopControlsManager::Create(this, settings.topControlsHeight);
// LTHI always has an active tree.
m_activeTree = LayerTreeImpl::create(this);
diff --git a/cc/layer_tree_settings.cc b/cc/layer_tree_settings.cc
index 9cda4cb..601836b 100644
--- a/cc/layer_tree_settings.cc
+++ b/cc/layer_tree_settings.cc
@@ -31,10 +31,10 @@ LayerTreeSettings::LayerTreeSettings()
, calculateTopControlsPosition(false)
, minimumContentsScale(0.0625f)
, lowResContentsScaleFactor(0.125f)
+ , topControlsHeight(0.f)
, refreshRate(0)
, maxPartialTextureUpdates(std::numeric_limits<size_t>::max())
, numRasterThreads(1)
- , topControlsHeightPx(0)
, defaultTileSize(gfx::Size(256, 256))
, maxUntiledLayerSize(gfx::Size(512, 512))
, minimumOcclusionTrackingSize(gfx::Size(160, 160))
diff --git a/cc/layer_tree_settings.h b/cc/layer_tree_settings.h
index 28bcdaa..dc086fe 100644
--- a/cc/layer_tree_settings.h
+++ b/cc/layer_tree_settings.h
@@ -34,10 +34,10 @@ class CC_EXPORT LayerTreeSettings {
bool calculateTopControlsPosition;
float minimumContentsScale;
float lowResContentsScaleFactor;
+ float topControlsHeight;
double refreshRate;
size_t maxPartialTextureUpdates;
size_t numRasterThreads;
- int topControlsHeightPx;
gfx::Size defaultTileSize;
gfx::Size maxUntiledLayerSize;
gfx::Size minimumOcclusionTrackingSize;
diff --git a/cc/switches.cc b/cc/switches.cc
index 6cb24d7..c116d7e 100644
--- a/cc/switches.cc
+++ b/cc/switches.cc
@@ -30,7 +30,7 @@ const char kEnableRightAlignedScheduling[] = "enable-right-aligned-scheduling";
const char kEnableTopControlsPositionCalculation[] =
"enable-top-controls-position-calculation";
-// The height of the movable top controls in screen pixels.
+// The height of the movable top controls.
const char kTopControlsHeight[] = "top-controls-height";
// Number of worker threads used to rasterize content.
diff --git a/content/browser/renderer_host/compositor_impl_android.cc b/content/browser/renderer_host/compositor_impl_android.cc
index f48bb5a..f65a861 100644
--- a/content/browser/renderer_host/compositor_impl_android.cc
+++ b/content/browser/renderer_host/compositor_impl_android.cc
@@ -174,7 +174,7 @@ void CompositorImpl::SetVisible(bool visible) {
settings.refreshRate = 60.0;
settings.implSidePainting = false;
settings.calculateTopControlsPosition = false;
- settings.topControlsHeightPx = 0;
+ settings.topControlsHeight = 0.f;
// Do not clear the framebuffer when rendering into external GL contexts
// like Android View System's.
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 375f248..299f1c6 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -1912,9 +1912,12 @@ public class ContentViewCore implements MotionEventDelegate, NavigationClient {
@SuppressWarnings("unused")
@CalledByNative
- private void updateOffsetsForFullscreen(float controlsOffsetY, float contentOffsetY) {
+ private void updateOffsetsForFullscreen(float controlsOffsetYDp, float contentOffsetYDp) {
if (mContentViewClient == null) return;
- mContentViewClient.onOffsetsForFullscreenChanged(controlsOffsetY, contentOffsetY);
+ float scale = getContext().getResources().getDisplayMetrics().density;
+ float controlsOffsetPx = controlsOffsetYDp * scale;
+ float contentOffsetYPx = contentOffsetYDp * scale;
+ mContentViewClient.onOffsetsForFullscreenChanged(controlsOffsetPx, contentOffsetYPx);
}
@SuppressWarnings("unused")
diff --git a/webkit/compositor_bindings/web_layer_tree_view_impl.cc b/webkit/compositor_bindings/web_layer_tree_view_impl.cc
index 4ff7b0d..2b4d835 100644
--- a/webkit/compositor_bindings/web_layer_tree_view_impl.cc
+++ b/webkit/compositor_bindings/web_layer_tree_view_impl.cc
@@ -58,11 +58,11 @@ bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSetti
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kTopControlsHeight)) {
std::string controls_height_str =
CommandLine::ForCurrentProcess()->GetSwitchValueASCII(switches::kTopControlsHeight);
- int controls_height;
- if (base::StringToInt(controls_height_str, &controls_height) && controls_height > 0)
- settings.topControlsHeightPx = controls_height;
+ double controls_height;
+ if (base::StringToDouble(controls_height_str, &controls_height) && controls_height > 0)
+ settings.topControlsHeight = controls_height;
}
- if (settings.calculateTopControlsPosition && (settings.topControlsHeightPx <= 0 || !settings.compositorFrameMessage)) {
+ if (settings.calculateTopControlsPosition && (settings.topControlsHeight <= 0 || !settings.compositorFrameMessage)) {
DCHECK(false) << "Top controls repositioning enabled without valid height or compositorFrameMessage set.";
settings.calculateTopControlsPosition = false;
}