From f3cef498906fce0a2d7787f7475f6df232baaead Mon Sep 17 00:00:00 2001 From: Cary Clark Date: Wed, 19 Jan 2011 09:58:30 -0500 Subject: don't draw buttons while they are created There are three threads all hammering at the same resource. The WebViewCore thread records the buttons on the page. The WebView thread rerecords the button pictures to show selection and focus. The GLWebViewState thread draws the picture containing the button pictures into the tile. Prevent drawing the picture while the buttons are recorded by sharing the button mutext with the GL tile creation. bug:3354678 Change-Id: I245ed47ad5a6d1fe28ea870bd7c557937eed1164 --- WebCore/platform/graphics/android/GLWebViewState.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'WebCore/platform/graphics/android/GLWebViewState.h') diff --git a/WebCore/platform/graphics/android/GLWebViewState.h b/WebCore/platform/graphics/android/GLWebViewState.h index c627a6e..8d2216e 100644 --- a/WebCore/platform/graphics/android/GLWebViewState.h +++ b/WebCore/platform/graphics/android/GLWebViewState.h @@ -152,7 +152,7 @@ public: }; typedef int32_t GLScaleState; - GLWebViewState(); + GLWebViewState(android::Mutex* globalButtonMutex); ~GLWebViewState(); GLScaleState scaleRequestState() const { return m_scaleRequestState; } void setScaleRequestState(GLScaleState state) { m_scaleRequestState = state; } @@ -222,6 +222,7 @@ private: TiledPage* m_tiledPageA; TiledPage* m_tiledPageB; SkIRect m_lastInval; + android::Mutex* m_globalButtonMutex; }; } // namespace WebCore -- cgit v1.1