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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ReaderModeSceneLayer.java

Issue 1716653002: Implement OverlayPanels as SceneOverlays (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Prevent native call in test Created 4 years, 7 months 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/scene_layer/ReaderModeSceneLayer.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ReaderModeSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ReaderModeSceneLayer.java
index 157c5f04298c4dff43d45952795dd4762d8c32c6..2b08a78fadb8bba8b1acc9aa383642d17ff253d5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ReaderModeSceneLayer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/ReaderModeSceneLayer.java
@@ -14,7 +14,7 @@ import org.chromium.ui.resources.ResourceManager;
* A SceneLayer to render layers for Reader Mode.
*/
@JNINamespace("chrome::android")
-public class ReaderModeSceneLayer extends SceneLayer {
+public class ReaderModeSceneLayer extends SceneOverlayLayer {
/** Pointer to native ReaderModeSceneLayer. */
private long mNativePtr;
@@ -41,7 +41,10 @@ public class ReaderModeSceneLayer extends SceneLayer {
*/
public void update(ResourceManager resourceManager, OverlayPanel panel, int barTextViewId,
float barTextOpacity) {
- if (!mIsInitialized && resourceManager != null) {
+ // Don't try to update the layer if not initialized or showing.
+ if (resourceManager == null || !panel.isShowing()) return;
+
+ if (!mIsInitialized) {
nativeCreateReaderModeLayer(mNativePtr, resourceManager);
// TODO(mdjones): Rename contextual search resources below to be generic to overlay
// panels.
@@ -54,10 +57,10 @@ public class ReaderModeSceneLayer extends SceneLayer {
mIsInitialized = true;
}
- // Don't try to update the layer if not initialized.
- if (!mIsInitialized) return;
nativeUpdate(mNativePtr,
mDpToPx,
+ panel.getBasePageBrightness(),
+ panel.getBasePageY() * mDpToPx,
panel.getContentViewCore(),
panel.getOffsetX() * mDpToPx,
panel.getOffsetY() * mDpToPx,
@@ -73,6 +76,19 @@ public class ReaderModeSceneLayer extends SceneLayer {
}
@Override
+ public void setContentTree(SceneLayer contentTree) {
+ nativeSetContentTree(mNativePtr, contentTree);
+ }
+
+ /**
+ * Hide the layer tree; for use if the panel is not being shown.
+ */
+ public void hideTree() {
+ if (!mIsInitialized) return;
+ nativeHideTree(mNativePtr);
+ }
+
+ @Override
protected void initializeNative() {
if (mNativePtr == 0) {
mNativePtr = nativeInit();
@@ -94,6 +110,11 @@ public class ReaderModeSceneLayer extends SceneLayer {
private native void nativeCreateReaderModeLayer(
long nativeReaderModeSceneLayer,
ResourceManager resourceManager);
+ private native void nativeSetContentTree(
+ long nativeReaderModeSceneLayer,
+ SceneLayer contentTree);
+ private native void nativeHideTree(
+ long nativeReaderModeSceneLayer);
private native void nativeSetResourceIds(
long nativeReaderModeSceneLayer,
int barTextResourceId,
@@ -104,6 +125,8 @@ public class ReaderModeSceneLayer extends SceneLayer {
private native void nativeUpdate(
long nativeReaderModeSceneLayer,
float dpToPx,
+ float basePageBrightness,
+ float basePageYOffset,
ContentViewCore contentViewCore,
float panelX,
float panelY,

Powered by Google App Engine
This is Rietveld 408576698