Post a message to set SurfaceView to be visible when

we switch to use the layout size. Otherwise it will
first use the old dimension which can exceed the 
limit, which in turn causes the Browser to crash.

Fix http://b/issue?id=2616263
This commit is contained in:
Grace Kloba
2010-04-21 21:14:23 -07:00
parent 25dc5f30b2
commit 8aedd10aca

View File

@@ -205,7 +205,14 @@ class ViewManager {
if (sView.getVisibility() == View.VISIBLE) {
sView.setVisibility(View.INVISIBLE);
sView.getHolder().setSizeFromLayout();
sView.setVisibility(View.VISIBLE);
// setLayoutParams() only requests the layout. If we set it
// to VISIBLE now, it will use the old dimension to set the
// size. Post a message to ensure that it shows the new size.
mWebView.mPrivateHandler.post(new Runnable() {
public void run() {
sView.setVisibility(View.VISIBLE);
}
});
} else {
sView.getHolder().setSizeFromLayout();
}