mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 16:25:38 +00:00
Bug 750778 - Ensure PluginLayer is always present when plugin is visible r=blassey
This commit is contained in:
parent
8b313bb026
commit
1da9690037
@ -1354,11 +1354,12 @@ abstract public class GeckoApp
|
||||
if (layer == null) {
|
||||
layer = new PluginLayer(view, rect, mLayerController.getView().getRenderer().getMaxTextureSize());
|
||||
tab.addPluginLayer(view, layer);
|
||||
mLayerController.getView().addLayer(layer);
|
||||
} else {
|
||||
layer.reset(rect);
|
||||
layer.setVisible(true);
|
||||
}
|
||||
|
||||
mLayerController.getView().addLayer(layer);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
import java.nio.IntBuffer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
* The layer renderer implements the rendering logic for a layer view.
|
||||
@ -103,7 +103,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer {
|
||||
private int mMaxTextureSize;
|
||||
private int mBackgroundColor;
|
||||
|
||||
private ArrayList<Layer> mExtraLayers = new ArrayList<Layer>();
|
||||
private CopyOnWriteArrayList<Layer> mExtraLayers = new CopyOnWriteArrayList<Layer>();
|
||||
|
||||
// Dropped frames display
|
||||
private int[] mFrameTimings;
|
||||
@ -292,7 +292,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer {
|
||||
public void addLayer(Layer layer) {
|
||||
LayerController controller = mView.getController();
|
||||
|
||||
synchronized (controller) {
|
||||
synchronized (mExtraLayers) {
|
||||
if (mExtraLayers.contains(layer)) {
|
||||
mExtraLayers.remove(layer);
|
||||
}
|
||||
@ -304,7 +304,7 @@ public class LayerRenderer implements GLSurfaceView.Renderer {
|
||||
public void removeLayer(Layer layer) {
|
||||
LayerController controller = mView.getController();
|
||||
|
||||
synchronized (controller) {
|
||||
synchronized (mExtraLayers) {
|
||||
mExtraLayers.remove(layer);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user