summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/Platform/mac/ModuleMac.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/Platform/mac/ModuleMac.mm')
-rw-r--r--Source/WebKit2/Platform/mac/ModuleMac.mm17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/WebKit2/Platform/mac/ModuleMac.mm b/Source/WebKit2/Platform/mac/ModuleMac.mm
index 078e7ee..1ec60f3 100644
--- a/Source/WebKit2/Platform/mac/ModuleMac.mm
+++ b/Source/WebKit2/Platform/mac/ModuleMac.mm
@@ -48,6 +48,13 @@ bool Module::load()
void Module::unload()
{
+ ASSERT(m_bundle);
+
+#if !defined(__LP64__)
+ if (m_bundleResourceMap != -1)
+ CFBundleCloseBundleResourceMap(m_bundle.get(), m_bundleResourceMap);
+#endif
+
// See the comment in Module.h for why we leak the bundle here.
m_bundle.releaseRef();
}
@@ -60,4 +67,14 @@ void* Module::platformFunctionPointer(const char* functionName) const
return CFBundleGetFunctionPointerForName(m_bundle.get(), functionNameString.get());
}
+#if !defined(__LP64__)
+CFBundleRefNum Module::bundleResourceMap()
+{
+ if (m_bundleResourceMap == -1)
+ m_bundleResourceMap = CFBundleOpenBundleResourceMap(m_bundle.get());
+
+ return m_bundleResourceMap;
+}
+#endif
+
}