[Chromium] Move getPluginsList out of PlatformSupport https://bugs.webkit.org/show_bug.cgi?id=96507 Reviewed by Darin Fisher. Part of a refactoring series. See tracking bug 82948. Source/Platform: * Platform.gypi: * chromium/public/Platform.h: (WebKit): (Platform): (WebKit::Platform::getPluginList): * chromium/public/WebPluginListBuilder.h: Added. (WebKit): (WebPluginListBuilder): Source/WebCore: * WebCore.gypi: * platform/chromium/PlatformSupport.h: (PlatformSupport): * plugins/chromium/PluginDataChromium.cpp: (WebCore::PluginCache::plugins): * plugins/chromium/PluginListBuilder.cpp: Added. (WebKit): (WebKit::PluginListBuilder::addPlugin): (WebKit::PluginListBuilder::addMediaTypeToLastPlugin): (WebKit::PluginListBuilder::addFileExtensionToLastMediaType): * plugins/chromium/PluginListBuilder.h: Added. (WebKit): (PluginListBuilder): (WebKit::PluginListBuilder::PluginListBuilder): Source/WebKit/chromium: * WebKit.gyp: * public/WebPluginListBuilder.h: * public/platform/WebKitPlatformSupport.h: (WebKit): (WebKit::WebKitPlatformSupport::idbFactory): * src/PlatformSupport.cpp: (WebCore::PlatformSupport::idbFactory): * src/WebPluginListBuilderImpl.cpp: Removed. * src/WebPluginListBuilderImpl.h: Removed. git-svn-id: https://svn.webkit.org/repository/webkit/trunk/Source/Platform/chromium/public@137177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Platform.h b/Platform.h index 8daabe3..bd80f06 100644 --- a/Platform.h +++ b/Platform.h
@@ -60,6 +60,7 @@ class WebMediaStreamCenterClient; class WebMessagePortChannel; class WebMimeRegistry; +class WebPluginListBuilder; class WebRTCPeerConnectionHandler; class WebRTCPeerConnectionHandlerClient; class WebSandboxSupport; @@ -237,6 +238,13 @@ virtual void cacheMetadata(const WebURL&, double responseTime, const char* data, size_t dataSize) { } + // Plugins ------------------------------------------------------------- + + // If refresh is true, then cached information should not be used to + // satisfy this call. + virtual void getPluginList(bool refresh, WebPluginListBuilder*) { } + + // Resources ----------------------------------------------------------- // Returns a localized string resource (with substitution parameters).
diff --git a/WebPluginListBuilder.h b/WebPluginListBuilder.h new file mode 100644 index 0000000..4bd427d --- /dev/null +++ b/WebPluginListBuilder.h
@@ -0,0 +1,54 @@ +/* + * Copyright (C) 2009 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. + */ + +#ifndef WebPluginListBuilder_h +#define WebPluginListBuilder_h + +namespace WebKit { + +class WebString; + +// An interface for building a list of known plugins. +class WebPluginListBuilder { +public: + virtual void addPlugin( + const WebString& name, const WebString& description, + const WebString& fileName) = 0; + + virtual void addMediaTypeToLastPlugin( + const WebString& name, const WebString& description) = 0; + + virtual void addFileExtensionToLastMediaType( + const WebString& fileExtension) = 0; +}; + +} // namespace WebKit + +#endif