summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/platform/graphics/android/TextureOwner.cpp7
-rw-r--r--WebCore/plugins/android/PluginPackageAndroid.cpp30
-rw-r--r--WebCore/rendering/RenderLayer.h6
3 files changed, 26 insertions, 17 deletions
diff --git a/WebCore/platform/graphics/android/TextureOwner.cpp b/WebCore/platform/graphics/android/TextureOwner.cpp
index 6a6845a..c4446d7 100644
--- a/WebCore/platform/graphics/android/TextureOwner.cpp
+++ b/WebCore/platform/graphics/android/TextureOwner.cpp
@@ -34,8 +34,11 @@ TextureOwner::~TextureOwner()
{
if (m_ownedTextures.size()) {
// This TextureOwner owns textures still!
- HashSet<BackedDoubleBufferedTexture*>::iterator it = m_ownedTextures.begin();
- for (; it != m_ownedTextures.end(); ++it)
+ HashSet<BackedDoubleBufferedTexture*> textures;
+ // Swap to a local copy because release will modify the iterator.
+ textures.swap(m_ownedTextures);
+ HashSet<BackedDoubleBufferedTexture*>::const_iterator it = textures.begin();
+ for (; it != textures.end(); ++it)
(*it)->release(this);
}
}
diff --git a/WebCore/plugins/android/PluginPackageAndroid.cpp b/WebCore/plugins/android/PluginPackageAndroid.cpp
index 97ec624..24de122 100644
--- a/WebCore/plugins/android/PluginPackageAndroid.cpp
+++ b/WebCore/plugins/android/PluginPackageAndroid.cpp
@@ -206,21 +206,23 @@ bool PluginPackage::load()
m_loadCount++;
PLUGIN_LOG("Already loaded, count now %d\n", m_loadCount);
return true;
- }
- ASSERT(m_loadCount == 0);
- ASSERT(m_module == NULL);
+ } else {
+ ASSERT(m_loadCount == 0);
+ ASSERT(m_module == NULL);
- PLUGIN_LOG("Loading \"%s\"\n", m_path.utf8().data());
+ PLUGIN_LOG("Loading \"%s\"\n", m_path.utf8().data());
- // Open the library
- void *handle = dlopen(m_path.utf8().data(), RTLD_NOW);
- if(!handle) {
- PLUGIN_LOG("Couldn't load plugin library \"%s\": %s\n",
- m_path.utf8().data(), dlerror());
- return false;
+ // Open the library
+ void *handle = dlopen(m_path.utf8().data(), RTLD_NOW);
+ if(!handle) {
+ PLUGIN_LOG("Couldn't load plugin library \"%s\": %s\n",
+ m_path.utf8().data(), dlerror());
+ return false;
+ }
+ m_module = handle;
+ PLUGIN_LOG("Fetch Info Loaded %p\n", m_module);
}
- m_module = handle;
- PLUGIN_LOG("Fetch Info Loaded %p\n", m_module);
+
// This object will call dlclose() and set m_module to NULL
// when going out of scope.
DynamicLibraryCloser dlCloser(&m_module);
@@ -228,7 +230,7 @@ bool PluginPackage::load()
NP_InitializeFuncPtr NP_Initialize;
if(!getEntryPoint(m_module, "NP_Initialize", (void **) &NP_Initialize) ||
- !getEntryPoint(handle, "NP_Shutdown", (void **) &m_NPP_Shutdown)) {
+ !getEntryPoint(m_module, "NP_Shutdown", (void **) &m_NPP_Shutdown)) {
PLUGIN_LOG("Couldn't find Initialize function\n");
return false;
}
@@ -254,8 +256,6 @@ bool PluginPackage::load()
// Don't close the library - loaded OK.
dlCloser.ok();
- // Retain the handle so we can close it in the future.
- m_module = handle;
m_isLoaded = true;
++m_loadCount;
PLUGIN_LOG("Initial load ok, count now %d\n", m_loadCount);
diff --git a/WebCore/rendering/RenderLayer.h b/WebCore/rendering/RenderLayer.h
index c3c9097..711d398 100644
--- a/WebCore/rendering/RenderLayer.h
+++ b/WebCore/rendering/RenderLayer.h
@@ -142,6 +142,9 @@ public:
return m_overflowClipRect == other.overflowClipRect() &&
m_fixedClipRect == other.fixedClipRect() &&
m_posClipRect == other.posClipRect() &&
+#if ENABLE(ANDROID_OVERFLOW_SCROLL)
+ m_hitTestClip == other.hitTestClip() &&
+#endif
m_fixed == other.fixed();
}
@@ -150,6 +153,9 @@ public:
m_overflowClipRect = other.overflowClipRect();
m_fixedClipRect = other.fixedClipRect();
m_posClipRect = other.posClipRect();
+#if ENABLE(ANDROID_OVERFLOW_SCROLL)
+ m_hitTestClip = other.hitTestClip();
+#endif
m_fixed = other.fixed();
return *this;
}