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..b30a75ae6c403444395cb072060f8b0d0118366b 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; |
@@ -55,9 +55,12 @@ public class ReaderModeSceneLayer extends SceneLayer { |
} |
// Don't try to update the layer if not initialized. |
- if (!mIsInitialized) return; |
+ if (!mIsInitialized || !panel.isShowing()) 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) { |
+ if (!mIsInitialized) return; |
+ nativeSetContentTree(mNativePtr, contentTree); |
+ } |
+ |
+ /** |
+ * Hide the layer tree; for use if the panel is not being shown. |
+ */ |
+ public void hideTree() { |
+ 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, |