Merge "Hack to workaround the fact that the EGL context can be removed from under us by framework in low memory condition." into ics-mr1
This commit is contained in:
committed by
Android (Google) Code Review
commit
e88ca718ed
@@ -119,6 +119,11 @@ import java.util.Vector;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import javax.microedition.khronos.egl.EGL10;
|
||||||
|
import javax.microedition.khronos.egl.EGLContext;
|
||||||
|
import javax.microedition.khronos.egl.EGLDisplay;
|
||||||
|
import static javax.microedition.khronos.egl.EGL10.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>A View that displays web pages. This class is the basis upon which you
|
* <p>A View that displays web pages. This class is the basis upon which you
|
||||||
* can roll your own web browser or simply display some online content within your Activity.
|
* can roll your own web browser or simply display some online content within your Activity.
|
||||||
@@ -909,6 +914,9 @@ public class WebView extends AbsoluteLayout
|
|||||||
private Rect mScrollingLayerBounds = new Rect();
|
private Rect mScrollingLayerBounds = new Rect();
|
||||||
private boolean mSentAutoScrollMessage = false;
|
private boolean mSentAutoScrollMessage = false;
|
||||||
|
|
||||||
|
// Temporary hack to work around the context removal upon memory pressure
|
||||||
|
private static boolean mIncrementEGLContextHack = false;
|
||||||
|
|
||||||
// used for serializing asynchronously handled touch events.
|
// used for serializing asynchronously handled touch events.
|
||||||
private final TouchEventQueue mTouchEventQueue = new TouchEventQueue();
|
private final TouchEventQueue mTouchEventQueue = new TouchEventQueue();
|
||||||
|
|
||||||
@@ -4225,6 +4233,13 @@ public class WebView extends AbsoluteLayout
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (canvas.isHardwareAccelerated()) {
|
if (canvas.isHardwareAccelerated()) {
|
||||||
|
if (mIncrementEGLContextHack == false) {
|
||||||
|
mIncrementEGLContextHack = true;
|
||||||
|
EGL10 egl = (EGL10) EGLContext.getEGL();
|
||||||
|
EGLDisplay eglDisplay = egl.eglGetDisplay(EGL_DEFAULT_DISPLAY);
|
||||||
|
int[] version = new int[2];
|
||||||
|
egl.eglInitialize(eglDisplay, version);
|
||||||
|
}
|
||||||
mZoomManager.setHardwareAccelerated();
|
mZoomManager.setHardwareAccelerated();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user