-
tomernic authored
Reviewed by Geoff. Test case for <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>: Give Netscape plug-ins access to their own DOM element * plugins/netscape-dom-access-expected.checksum: Added. * plugins/netscape-dom-access-expected.png: Added. * plugins/netscape-dom-access-expected.txt: Added. * plugins/netscape-dom-access.html: Added. WebCore: Reviewed by Anders. <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>: Give Netscape plug-ins access to their own DOM element * html/HTMLPlugInElement.h: Just import JSC headers on Mac. The NPObject and Bindings::Instance stuff is only used on Mac anyway. Changed __APPLE__ to PLATFORM(MAC). Added m_NPObject ivar. * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize the NPObject. (WebCore::HTMLPlugInElement::~HTMLPlugInElement): Release the NPObject when the element is destroyed. (WebCore::HTMLPlugInElement::createNPObject): Creates an NPObject for the element. (WebCore::HTMLPlugInElement::getNPObject): Returns the NPObject for the element, creating and caching it if necessary. * html/HTMLAppletElement.h: Changed __APPLE__ to PLATFORM(MAC). * html/HTMLAppletElement.cpp: ditto * html/HTMLEmbedElement.h: ditto * html/HTMLEmbedElement.cpp: ditto * html/HTMLObjectElement.h: ditto * html/HTMLObjectElement.cpp: ditto * bindings/objc/DOMPrivate.h: Added -[DOMElement _NPObject]. * bindings/objc/DOM.mm: (-[DOMElement _NPObject]): Returns the NPObject for the element. Since this is only needed by the Netscape plug-in API, you can only get the NPObject for applet, embed, and object elements. WebKit: Reviewed by Geoff. <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>: Give Netscape plug-ins access to their own DOM element * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView dealloc]): Release DOM element. (-[WebBaseNetscapePluginView getVariable:value:]): Return NPObject for plugin DOM element. * Plugins/WebNetscapePluginEmbeddedView.h: * Plugins/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement. * WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]): Pass DOMElement to Netscape plug-ins. (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]): ditto git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
f519362d