WebCore:
authorrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Jan 2005 02:34:22 +0000 (02:34 +0000)
committerrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Jan 2005 02:34:22 +0000 (02:34 +0000)
commitb0df8bef959fa8fd60093b38a712b718106fb862
treee0207cc891b715557a911e66cbbaafa8526aaa17
parent2c11b2aba611ad11739e5190ac98d15f2e8bfc96
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
22 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/bindings/objc/objc_instance.h
JavaScriptCore/bindings/objc/objc_instance.mm
JavaScriptCore/bindings/runtime.h
JavaScriptCore/bindings/runtime_object.cpp
JavaScriptCore/bindings/runtime_object.h
JavaScriptCore/kjs/object.cpp
JavaScriptCore/kjs/object.h
WebCore/ChangeLog-2005-08-23
WebCore/khtml/dom/html_document.cpp
WebCore/khtml/dom/html_document.h
WebCore/khtml/ecma/kjs_dom.cpp
WebCore/khtml/ecma/kjs_dom.h
WebCore/khtml/ecma/kjs_html.cpp
WebCore/khtml/ecma/kjs_window.cpp
WebCore/khtml/html/html_miscimpl.cpp
WebCore/khtml/html/html_miscimpl.h
WebCore/khtml/html/html_objectimpl.cpp
WebCore/khtml/html/html_objectimpl.h
WebCore/khtml/rendering/render_frames.cpp
WebCore/kwq/KWQKHTMLPart.h
WebCore/kwq/KWQKHTMLPart.mm