Bug 758635 - LayerRenderer doesn't need to implement GLSurfaceView.Renderer. r=Cwiiis
--- a/mobile/android/base/gfx/LayerRenderer.java
+++ b/mobile/android/base/gfx/LayerRenderer.java
@@ -37,17 +37,17 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* The layer renderer implements the rendering logic for a layer view.
*/
-public class LayerRenderer implements GLSurfaceView.Renderer {
+public class LayerRenderer {
private static final String LOGTAG = "GeckoLayerRenderer";
private static final String PROFTAG = "GeckoLayerRendererProf";
/*
* The amount of time a frame is allowed to take to render before we declare it a dropped
* frame.
*/
private static final int MAX_FRAME_TIME = 16; /* 1000 ms / 60 FPS */
@@ -191,17 +191,17 @@ public class LayerRenderer implements GL
mCoordByteBuffer = null;
mCoordBuffer = null;
}
} finally {
super.finalize();
}
}
- public void onSurfaceCreated(GL10 gl, EGLConfig config) {
+ void onSurfaceCreated(GL10 gl, EGLConfig config) {
checkMonitoringEnabled();
createDefaultProgram();
activateDefaultProgram();
}
public void createDefaultProgram() {
int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, DEFAULT_VERTEX_SHADER);
int fragmentShader = loadShader(GLES20.GL_FRAGMENT_SHADER, DEFAULT_FRAGMENT_SHADER);
@@ -263,33 +263,16 @@ public class LayerRenderer implements GL
}
public void removeLayer(Layer layer) {
synchronized (mExtraLayers) {
mExtraLayers.remove(layer);
}
}
- /**
- * Called whenever a new frame is about to be drawn.
- */
- public void onDrawFrame(GL10 gl) {
- /* This code is causing crashes when the surface changes. (bug 738188)
- * I'm not sure if it actually works, so I'm disabling it now to avoid the crash.
- Frame frame = createFrame(mView.getController().getViewportMetrics());
- synchronized (mView.getController()) {
- frame.beginDrawing();
- frame.drawBackground();
- frame.drawRootLayer();
- frame.drawForeground();
- frame.endDrawing();
- }
- */
- }
-
private void printCheckerboardStats() {
Log.d(PROFTAG, "Frames rendered over last 1000ms: " + mCompleteFramesRendered + "/" + mFramesRendered);
mFramesRendered = 0;
mCompleteFramesRendered = 0;
}
/** Used by robocop for testing purposes. Not for production use! */
IntBuffer getPixels() {
@@ -319,17 +302,17 @@ public class LayerRenderer implements GL
return createContext(new RectF(viewport), pageRect, zoomFactor);
}
private RenderContext createContext(RectF viewport, RectF pageRect, float zoomFactor) {
return new RenderContext(viewport, pageRect, zoomFactor, mPositionHandle, mTextureHandle,
mCoordBuffer);
}
- public void onSurfaceChanged(GL10 gl, final int width, final int height) {
+ void onSurfaceChanged(GL10 gl, final int width, final int height) {
GLES20.glViewport(0, 0, width, height);
if (mFrameRateLayer != null) {
moveFrameRateLayer(width, height);
}
/* TODO: Throw away tile images? */
}