diff options
author | dglazkov@google.com <dglazkov@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-23 20:47:43 +0000 |
---|---|---|
committer | dglazkov@google.com <dglazkov@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-23 20:47:43 +0000 |
commit | f41825fa3c1efc2e1bb0ff3036591fb47a125722 (patch) | |
tree | 4c0c19bcd1da2f0f67144ef93de2a08440cd9f77 /webkit/port | |
parent | 4112c5261fcc4187e82fe04212662e6782e7e903 (diff) | |
download | chromium_src-f41825fa3c1efc2e1bb0ff3036591fb47a125722.zip chromium_src-f41825fa3c1efc2e1bb0ff3036591fb47a125722.tar.gz chromium_src-f41825fa3c1efc2e1bb0ff3036591fb47a125722.tar.bz2 |
Move webkit/port/bridge contents to their proper places in WebKit, Mac build.
Review URL: http://codereview.chromium.org/16244
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7436 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/port')
-rw-r--r-- | webkit/port/bridge/KJSBridge.cpp | 138 | ||||
-rw-r--r-- | webkit/port/bridge/chromium/PluginsChromium.cpp | 184 |
2 files changed, 0 insertions, 322 deletions
diff --git a/webkit/port/bridge/KJSBridge.cpp b/webkit/port/bridge/KJSBridge.cpp deleted file mode 100644 index ed6aeb7..0000000 --- a/webkit/port/bridge/KJSBridge.cpp +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright (c) 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include "config.h" - -#include "bindings/npruntime.h" -#include "npruntime_impl.h" -#include "npruntime_priv.h" - -// This file is a dumping ground for KJS-related fixups that we need. It -// should ideally be eliminated in favor of less lameness. - -// KJS should only expose functions declared in npruntime.h (NPN_*) -// and npruntime_priv.h (which is an extension of npruntime.h), and -// not exposing _NPN_* functions declared in npruntime_impl.h. -// KJSBridge implements NPN_* functions by wrapping around _NPN_* functions. -// -// Following styles in JavaScriptCore/bindings/npruntime.cpp -void NPN_ReleaseVariantValue(NPVariant *variant) { - _NPN_ReleaseVariantValue(variant); -} - -NPIdentifier NPN_GetStringIdentifier(const NPUTF8 *name) { - return _NPN_GetStringIdentifier(name); -} - -void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount, - NPIdentifier *identifiers) { - _NPN_GetStringIdentifiers(names, nameCount, identifiers); -} - -NPIdentifier NPN_GetIntIdentifier(int32_t intid) { - return _NPN_GetIntIdentifier(intid); -} - -bool NPN_IdentifierIsString(NPIdentifier identifier) { - return _NPN_IdentifierIsString(identifier); -} - -NPUTF8 *NPN_UTF8FromIdentifier(NPIdentifier identifier) { - return _NPN_UTF8FromIdentifier(identifier); -} - -int32_t NPN_IntFromIdentifier(NPIdentifier identifier) { - return _NPN_IntFromIdentifier(identifier); -} - -NPObject *NPN_CreateObject(NPP npp, NPClass *aClass) { - return _NPN_CreateObject(npp, aClass); -} - -NPObject *NPN_RetainObject(NPObject *obj) { - return _NPN_RetainObject(obj); -} - -void NPN_ReleaseObject(NPObject *obj) { - _NPN_ReleaseObject(obj); -} - -void NPN_DeallocateObject(NPObject *obj) { - _NPN_DeallocateObject(obj); -} - -bool NPN_Invoke(NPP npp, NPObject *npobj, NPIdentifier methodName, - const NPVariant *args, uint32_t argCount, NPVariant *result) { - return _NPN_Invoke(npp, npobj, methodName, args, argCount, result); -} - -bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args, - uint32_t argCount, NPVariant *result) { - return _NPN_InvokeDefault(npp, npobj, args, argCount, result); -} - -bool NPN_Evaluate(NPP npp, NPObject *npobj, NPString *script, NPVariant *result) { - return _NPN_Evaluate(npp, npobj, script, result); -} - -bool NPN_EvaluateHelper(NPP npp, bool popups_allowed, NPObject* npobj, - NPString* script, NPVariant *result) { - return _NPN_Evaluate(npp, npobj, script, result); -} - -bool NPN_GetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, - NPVariant *result) { - return _NPN_GetProperty(npp, npobj, propertyName, result); -} - -bool NPN_SetProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName, - const NPVariant *value) { - return _NPN_SetProperty(npp, npobj, propertyName, value); -} - -bool NPN_RemoveProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName) { - return _NPN_RemoveProperty(npp, npobj, propertyName); -} - -bool NPN_HasProperty(NPP npp, NPObject *npobj, NPIdentifier propertyName) { - return _NPN_HasProperty(npp, npobj, propertyName); -} - -bool NPN_HasMethod(NPP npp, NPObject *npobj, NPIdentifier methodName) { - return _NPN_HasMethod(npp, npobj, methodName); -} - -void NPN_SetException(NPObject *obj, const NPUTF8 *message) { - _NPN_SetException(obj, message); -} - -bool NPN_Enumerate(NPP npp, NPObject *npobj, NPIdentifier **identifier, - uint32_t *count) { - return _NPN_Enumerate(npp, npobj, identifier, count); -} diff --git a/webkit/port/bridge/chromium/PluginsChromium.cpp b/webkit/port/bridge/chromium/PluginsChromium.cpp deleted file mode 100644 index d73e9476..0000000 --- a/webkit/port/bridge/chromium/PluginsChromium.cpp +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright (c) 2008, Google Inc. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// These functions are used by the javascript access to the -// netscape.plugins object. See PluginInfoStore.h. -// They are also used by WebViewImpl to check if a plugin exists for a given -// MIME type. - -#include "config.h" - -#include "ChromiumBridge.h" -#include "PluginData.h" -#include "PluginInfoStore.h" - -namespace WebCore { - -class PluginCache { -public: - PluginCache() : m_loaded(false) { } - - ~PluginCache() - { - clear(); - } - - void load(bool refresh) - { - if (m_loaded) { - if (!refresh) - return; - clear(); - } else { - m_loaded = true; - } - ChromiumBridge::plugins(refresh, &m_plugins); - } - - void clear() - { - for (size_t i = 0; i < m_plugins.size(); ++i) - deleteAllValues(m_plugins[i]->mimes); - deleteAllValues(m_plugins); - m_plugins.clear(); - } - - // Returns a PluginInfo pointer. Caller is responsible for - // deleting contents of the PluginInfo. - PluginInfo* createPluginInfoForPluginAtIndex(unsigned int index) - { - load(false); - - WebCore::PluginInfo* rv = new WebCore::PluginInfo(); - const WebCore::PluginInfo* plugin = m_plugins[index]; - rv->name = plugin->name; - rv->desc = plugin->desc; - rv->file = plugin->file; - for (size_t j = 0; j < plugin->mimes.size(); ++j) { - WebCore::MimeClassInfo* newMime = new WebCore::MimeClassInfo(); - const WebCore::MimeClassInfo* mimeType = plugin->mimes[j]; - newMime->type = mimeType->type; - newMime->desc = mimeType->desc; - newMime->suffixes = mimeType->suffixes; - newMime->plugin = rv; - rv->mimes.append(newMime); - } - - return rv; - } - - unsigned pluginCount() - { - load(false); - - return m_plugins.size(); - } - - bool supportsMIMEType(const WebCore::String &mime_type) - { - load(false); - - for (size_t i = 0; i < m_plugins.size(); ++i) { - for (size_t j = 0; j < m_plugins[i]->mimes.size(); ++j) { - if (ChromiumBridge::matchesMIMEType( - m_plugins[i]->mimes[j]->type, mime_type)) { - // Don't allow wildcard matches here as this will result in - // plugins being instantiated in cases where they should - // not. For e.g. clicking on a link which causes a file to - // be downloaded, special mime types like text/xml, etc. In - // any case the webkit codepaths which invoke this function - // don't expect wildcard plugin matches. - if (m_plugins[i]->mimes[j]->type == "*") - continue; - return true; - } - } - } - - return false; - } - - String getPluginMimeTypeFromExtension(const String& extension) - { -#if !defined(__linux__) - // TODO(port): unstub once we have plugin support for Linux - - load(false); - - for (size_t i = 0; i < m_plugins.size(); ++i) { - PluginInfo* plugin = m_plugins[i]; - for (size_t j = 0; j < plugin->mimes.size(); ++j) { - MimeClassInfo* mime = plugin->mimes[j]; - Vector<String> extensions; - mime->suffixes.split(",", extensions); - for (size_t k = 0; k < extensions.size(); ++k) { - if (extension == extensions[k]) - return mime->type; - } - } - } -#endif - return String(); - } - -private: - bool m_loaded; - Vector<PluginInfo*> m_plugins; -}; - -// We cache the plugins ourselves, since if we're getting them from the another -// process GetPlugins() will be expensive. -static PluginCache pluginCache; - -PluginInfo* PluginInfoStore::createPluginInfoForPluginAtIndex(unsigned int index) -{ - return pluginCache.createPluginInfoForPluginAtIndex(index); -} - -unsigned PluginInfoStore::pluginCount() const -{ - return pluginCache.pluginCount(); -} - -bool PluginInfoStore::supportsMIMEType(const WebCore::String &mime_type) -{ - return pluginCache.supportsMIMEType(mime_type); -} - -void refreshPlugins(bool) -{ - pluginCache.load(true); -} - -String getPluginMimeTypeFromExtension(const String& extension) -{ - return pluginCache.getPluginMimeTypeFromExtension(extension); -} - -} // namespace WebCore |