WebCore:
Fixed several issues all arising from analysis of plugin detection code at ifilm.com:
Fixed <rdar://problem/
3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
Fixed <rdar://problem/
3958597> <object> elements with IDs do not show up as named properties of the document
Fixed <rdar://problem/
3960973> DOM objects for plugin elements are not accessible
Fixed <rdar://problem/
3958601> need an additional class ID in WebCore for the Real plug-in
We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
tags. Also, if any of these elements are named they can be accessed from the document or window objects.
Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.
Reviewed by Chris.
* khtml/dom/html_document.cpp:
(HTMLDocument::objects):
* khtml/dom/html_document.h:
* khtml/ecma/kjs_dom.cpp:
(DOMDocumentProtoFunc::tryCall):
(DOMElementProtoFunc::tryCall):
(KJS::getRuntimeObject):
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::tryGet):
(KJS::HTMLElement::tryGet):
(KJS::HTMLCollection::tryGet):
(KJS::HTMLCollection::getNamedItems):
* khtml/ecma/kjs_window.cpp:
(Window::get):
* khtml/html/html_miscimpl.cpp:
(HTMLCollectionImpl::traverseNextItem):
* khtml/html/html_miscimpl.h:
(DOM::HTMLCollectionImpl::):
* khtml/html/html_objectimpl.cpp:
(HTMLAppletElementImpl::getAppletInstance):
(HTMLObjectElementImpl::HTMLObjectElementImpl):
(HTMLObjectElementImpl::getObjectInstance):
* khtml/html/html_objectimpl.h:
* khtml/rendering/render_frames.cpp:
(RenderPartObject::updateWidget):
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::getObjectInstanceForView):
JavaScriptCore:
Fixed several issues all arising from analysis of plugin detection code at ifilm.com:
Fixed <rdar://problem/
3958592> can't script plug-ins if plug-in is invoked with <object> element instead of <embed>
Fixed <rdar://problem/
3958597> <object> elements with IDs do not show up as named properties of the document
Fixed <rdar://problem/
3960973> DOM objects for plugin elements are not accessible
Fixed <rdar://problem/
3958601> need an additional class ID in WebCore for the Real plug-in
We now support accessing scriptable plugin objects that are specified with <applet>, <embed>, or <object>
tags. Also, if any of these elements are named they can be accessed from the document or window objects.
Finally, DOM methods are properties will be forwarded appropriately for the plugin's root scriptable object.
Reviewed by Chris.
* bindings/objc/objc_instance.h:
* bindings/objc/objc_instance.mm:
(ObjcInstance::supportsSetValueOfUndefinedField):
* bindings/runtime.h:
(KJS::Bindings::Instance::supportsSetValueOfUndefinedField):
* bindings/runtime_object.cpp:
(RuntimeObjectImp::RuntimeObjectImp):
(RuntimeObjectImp::get):
(RuntimeObjectImp::put):
(RuntimeObjectImp::canPut):
(RuntimeObjectImp::hasProperty):
(RuntimeObjectImp::defaultValue):
* bindings/runtime_object.h:
(KJS::RuntimeObjectImp::fallbackObject):
* kjs/object.cpp:
(KJS::ObjectImp::ObjectImp):
* kjs/object.h:
(KJS::ObjectImp::forwardingScriptMessage):
(KJS::ObjectImp::setForwardingScriptMessage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc