Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java

Issue 2482233002: Remove visible viewport dependency in CompositorView (Closed)
Patch Set: remove unneeded override Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
index 09c01f82075c0c41f1c05997bbd9e455943eb457..17a70c9ec29c45127325582560bb8a5725de472f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
@@ -86,6 +86,9 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
protected final RectF mLastVisibleViewportDp = new RectF();
protected final RectF mLastFullscreenViewportDp = new RectF();
+ // Used to store the visible viewport and not create a new Rect object every frame.
+ private final Rect mCachedVisibleViewport;
+
protected float mLastContentWidthDp;
protected float mLastContentHeightDp;
protected float mLastHeightMinusBrowserControlsDp;
@@ -115,6 +118,8 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
mLastVisibleViewportDp.set(0, 0, mLastContentWidthDp, mLastContentHeightDp);
mLastFullscreenViewportDp.set(0, 0, mLastContentWidthDp, mLastContentHeightDp);
+ mCachedVisibleViewport = new Rect();
+
mLastHeightMinusBrowserControlsDp = mLastContentHeightDp;
}
@@ -273,10 +278,11 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
}
@Override
- public SceneLayer getUpdatedActiveSceneLayer(Rect viewport, Rect contentViewport,
- LayerTitleCache layerTitleCache, TabContentManager tabContentManager,
- ResourceManager resourceManager, ChromeFullscreenManager fullscreenManager) {
- return mActiveLayout.getUpdatedSceneLayer(viewport, contentViewport, layerTitleCache,
+ public SceneLayer getUpdatedActiveSceneLayer(Rect viewport, LayerTitleCache layerTitleCache,
+ TabContentManager tabContentManager, ResourceManager resourceManager,
+ ChromeFullscreenManager fullscreenManager) {
+ getViewportPixel(mCachedVisibleViewport);
+ return mActiveLayout.getUpdatedSceneLayer(viewport, mCachedVisibleViewport, layerTitleCache,
tabContentManager, resourceManager, fullscreenManager);
}
@@ -352,12 +358,10 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
}
@Override
- public RectF getViewportDp(RectF rect) {
- if (rect == null) rect = new RectF();
-
+ public void getViewportDp(RectF rect) {
if (getActiveLayout() == null) {
rect.set(mLastViewportDp);
- return rect;
+ return;
}
final int flags = getActiveLayout().getSizingFlags();
@@ -368,17 +372,13 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
} else {
rect.set(mLastVisibleViewportDp);
}
-
- return rect;
}
@Override
- public Rect getViewportPixel(Rect rect) {
- if (rect == null) rect = new Rect();
-
+ public void getViewportPixel(Rect rect) {
if (getActiveLayout() == null) {
rect.set(mLastViewportPx);
- return rect;
+ return;
}
final int flags = getActiveLayout().getSizingFlags();
@@ -389,7 +389,6 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
} else {
rect.set(mLastVisibleViewportPx);
}
- return rect;
}
@Override

Powered by Google App Engine
This is Rietveld 408576698