summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android/GraphicsLayerAndroid.h
diff options
context:
space:
mode:
authorGrace Kloba <klobag@google.com>2010-07-08 14:50:52 -0700
committerGrace Kloba <klobag@google.com>2010-07-09 08:53:57 -0700
commit6d43b9ceb777071c088fe12ee94af80e34816bcf (patch)
treedb69180ecec4b0789bcc5060fe8ce6f2160a6492 /WebCore/platform/graphics/android/GraphicsLayerAndroid.h
parent5f90462bbf4efb0ac7bb65a852d5559d0ab30f0b (diff)
downloadexternal_webkit-6d43b9ceb777071c088fe12ee94af80e34816bcf.zip
external_webkit-6d43b9ceb777071c088fe12ee94af80e34816bcf.tar.gz
external_webkit-6d43b9ceb777071c088fe12ee94af80e34816bcf.tar.bz2
Combine base PictureSet with composite layers into
one SkLayer tree. The BaseLayerAndroid is the root of the composite layers and it has the PictureSet as its base content. Before, WebViewCore uses m_contentMutex and both UI and WebCore threads access the m_content. Now we use the layer approach. When WebCore thread updates its content in recordContent, it creates a new BaseLayerAndroid and copy both PictureSet and composite layers into it. Then it is sent to be consumed by UI thread. Clean up sync layer in both ChromeClientAndroid and GraphicsLayerAndroid. splitContent can be a little tricky with this change. Now UI has its own copy of PictureSet. When it takes too long to draw, it will send a request to WebCore to split the PictureSet. When it is done, a copy of the new PictureSet will be sent back to UI. There is a matching change in framework/base
Diffstat (limited to 'WebCore/platform/graphics/android/GraphicsLayerAndroid.h')
-rw-r--r--WebCore/platform/graphics/android/GraphicsLayerAndroid.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/WebCore/platform/graphics/android/GraphicsLayerAndroid.h b/WebCore/platform/graphics/android/GraphicsLayerAndroid.h
index b72877b..54a035b 100644
--- a/WebCore/platform/graphics/android/GraphicsLayerAndroid.h
+++ b/WebCore/platform/graphics/android/GraphicsLayerAndroid.h
@@ -108,22 +108,21 @@ public:
virtual void setZPosition(float);
- void askForSync();
- void syncPositionState();
- void needsSyncChildren();
- void syncChildren();
- void syncMask();
virtual void syncCompositingState();
- void setFrame(Frame*);
void notifyClientAnimationStarted();
- void sendImmediateRepaint();
LayerAndroid* contentLayer() { return m_contentLayer; }
static int instancesCount();
private:
+ void askForSync();
+ void syncPositionState();
+ void needsSyncChildren();
+ void syncChildren();
+ void syncMask();
+
void updateFixedPosition();
// with SkPicture, we always repaint the entire layer's content.
@@ -146,8 +145,6 @@ private:
FloatPoint m_currentPosition;
- RefPtr<Frame> m_frame;
-
Vector<FloatRect> m_invalidatedRects;
LayerAndroid* m_contentLayer;