diff options
Diffstat (limited to 'webkit/api/public')
-rw-r--r-- | webkit/api/public/WebFrameClient.h | 7 | ||||
-rw-r--r-- | webkit/api/public/WebPlugin.h | 3 | ||||
-rw-r--r-- | webkit/api/public/WebPluginContainer.h | 10 | ||||
-rw-r--r-- | webkit/api/public/WebPluginParams.h | 50 |
4 files changed, 67 insertions, 3 deletions
diff --git a/webkit/api/public/WebFrameClient.h b/webkit/api/public/WebFrameClient.h index 8140997..bdb38fa 100644 --- a/webkit/api/public/WebFrameClient.h +++ b/webkit/api/public/WebFrameClient.h @@ -51,9 +51,7 @@ namespace WebKit { // Factory methods ----------------------------------------------------- // May return null. - virtual WebPlugin* createPlugin( - WebFrame*, const WebURL& source, const WebString& mimeType, - const WebString& classID, WebString* actualMimeType) = 0; + virtual WebPlugin* createPlugin(WebFrame*, const WebPluginParams&) = 0; // May return null. virtual WebWorker* createWorker(WebFrame*, WebWorkerClient*) = 0; @@ -189,6 +187,9 @@ namespace WebKit { // FIXME need to add: // find-in-page + + protected: + ~WebFrameClient() { } }; } // namespace WebKit diff --git a/webkit/api/public/WebPlugin.h b/webkit/api/public/WebPlugin.h index 35caed3..c05db72 100644 --- a/webkit/api/public/WebPlugin.h +++ b/webkit/api/public/WebPlugin.h @@ -39,15 +39,18 @@ namespace WebKit { class WebDataSource; class WebFrame; class WebInputEvent; + class WebPluginContainer; class WebURL; class WebURLResponse; struct WebCursorInfo; + struct WebPluginParams; struct WebRect; struct WebURLError; template <typename T> class WebVector; class WebPlugin { public: + virtual bool initialize(WebPluginContainer*) = 0; virtual void destroy() = 0; virtual NPObject* scriptableObject() = 0; diff --git a/webkit/api/public/WebPluginContainer.h b/webkit/api/public/WebPluginContainer.h index 18013d7..29029e6 100644 --- a/webkit/api/public/WebPluginContainer.h +++ b/webkit/api/public/WebPluginContainer.h @@ -44,6 +44,16 @@ namespace WebKit { virtual void invalidate() = 0; virtual void invalidateRect(const WebRect&) = 0; + // Causes the container to report its current geometry via + // WebPlugin::updateGeometry. + virtual void reportGeometry() = 0; + + // Drop any references to script objects allocated by the plugin. + // These are objects derived from WebPlugin::scriptableObject. This is + // called when the plugin is being destroyed or if it needs to be + // re-initialized. + virtual void clearScriptObjects() = 0; + // Returns the scriptable object associated with the DOM element // containing the plugin. virtual NPObject* scriptableObjectForElement() = 0; diff --git a/webkit/api/public/WebPluginParams.h b/webkit/api/public/WebPluginParams.h new file mode 100644 index 0000000..28243c8 --- /dev/null +++ b/webkit/api/public/WebPluginParams.h @@ -0,0 +1,50 @@ +/* + * 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 WebPluginParams_h +#define WebPluginParams_h + +#include "WebString.h" +#include "WebURL.h" +#include "WebVector.h" + +namespace WebKit { + + struct WebPluginParams { + WebURL url; + WebString mimeType; + WebVector<WebString> attributeNames; + WebVector<WebString> attributeValues; + bool loadManually; + }; + +} // namespace WebKit + +#endif |