From e4b2d4dc7db426052d1dfebc40f6b64a001b6d73 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Fri, 19 Feb 2010 12:21:35 +0000 Subject: [PATCH] Adds synchronization around message handler in GeolocationPermissions and WebStorage The message handler is instantiated on the WebCore thread and its presence is checked on the browser thread. This requires synchronization. Change-Id: I4b71c7a2470b60fa273dc2bcb46f645ed135ee11 --- core/java/android/webkit/GeolocationPermissions.java | 4 ++-- core/java/android/webkit/WebStorage.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/java/android/webkit/GeolocationPermissions.java b/core/java/android/webkit/GeolocationPermissions.java index d12d8289fd10b..817fb3c2116e0 100755 --- a/core/java/android/webkit/GeolocationPermissions.java +++ b/core/java/android/webkit/GeolocationPermissions.java @@ -126,7 +126,7 @@ public final class GeolocationPermissions { * Creates the message handler. Must be called on the WebKit thread. * @hide */ - public void createHandler() { + public synchronized void createHandler() { if (mHandler == null) { mHandler = new Handler() { @Override @@ -180,7 +180,7 @@ public final class GeolocationPermissions { /** * Utility function to send a message to our handler. */ - private void postMessage(Message msg) { + private synchronized void postMessage(Message msg) { assert(mHandler != null); mHandler.sendMessage(msg); } diff --git a/core/java/android/webkit/WebStorage.java b/core/java/android/webkit/WebStorage.java index cf71a84712c29..9314d7b23f4d7 100644 --- a/core/java/android/webkit/WebStorage.java +++ b/core/java/android/webkit/WebStorage.java @@ -146,7 +146,7 @@ public final class WebStorage { * @hide * Message handler, webcore side */ - public void createHandler() { + public synchronized void createHandler() { if (mHandler == null) { mHandler = new Handler() { @Override @@ -342,7 +342,7 @@ public final class WebStorage { /** * Utility function to send a message to our handler */ - private void postMessage(Message msg) { + private synchronized void postMessage(Message msg) { if (mHandler != null) { mHandler.sendMessage(msg); }