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

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: rebase Created 4 years, 8 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..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,

Powered by Google App Engine
This is Rietveld 408576698