- 07 Jul, 2006 1 commit
-
-
andersca authored
Reviewed by Brady. http://bugzilla.opendarwin.org/show_bug.cgi?id=9777 Reproducible crash in Loading/Frames in ToT. The problem was that the renderpart destructor resets the frame's owner element. For iframes, this should only be done when the element is going to be removed from the document. * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::~HTMLIFrameElement): (WebCore::HTMLIFrameElement::willRemove): (WebCore::HTMLIFrameElement::removedFromDocument): (WebCore::HTMLIFrameElement::detach): * html/HTMLIFrameElement.h: Remove the frame in willRemove instead. * rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart): (WebCore::RenderPart::~RenderPart): * rendering/RenderPart.h: Don't call setFrame(0) in the destructor when the element is an iframe element. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Jul, 2006 1 commit
-
-
andersca authored
2006-07-05 Anders Carlsson <acarlsson@apple.com> Reviewed by Maciej. http://bugzilla.opendarwin.org/show_bug.cgi?id=3581 iFrames set to display:none are Missing from frames array * bridge/mac/FrameMac.h: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac): (WebCore::FrameMac::createFrame): * bridge/mac/WebCoreFrameBridge.h: * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge initSubframeWithOwnerElement:]): (-[WebCoreFrameBridge installInFrame:]): Modify to pass the owner element instead of the owner renderer. * dom/ContainerNode.cpp: (WebCore::ContainerNode::insertBefore): (WebCore::ContainerNode::replaceChild): (WebCore::ContainerNode::appendChild): Dispatch the node inserted events before attaching the nodes. This is what the tokenizer does. * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::openURL): (WebCore::HTMLFrameElement::attach): Pass the element to requestFrame. (WebCore::HTMLFrameElement::setLocation): Don't call attach/detach on an iframe. * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::insertedIntoDocument): Load the frame here (using openURL). (WebCore::HTMLIFrameElement::removedFromDocument): Call frameDetached. (WebCore::HTMLIFrameElement::attach): If there's a renderer, attach the content frame to it. (WebCore::HTMLIFrameElement::detach): Reset the renderer's frame. (WebCore::HTMLIFrameElement::openURL): Modify to request the frame. * html/HTMLIFrameElement.h: Add detach. * page/Frame.cpp: (WebCore::parentFromOwnerElement): (WebCore::Frame::Frame): (WebCore::Frame::~Frame): (WebCore::Frame::requestFrame): (WebCore::Frame::requestObject): (WebCore::Frame::loadSubframe): (WebCore::Frame::ownerElement): (WebCore::Frame::ownerRenderer): (WebCore::Frame::disconnectOwnerElement): * page/Frame.h: * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): * rendering/RenderPart.cpp: (WebCore::RenderPart::setFrame): Modify to keep an owner element around instead of the renderer. * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Don't do anything for iframes. WebKit: 2006-07-05 Anders Carlsson <acarlsson@apple.com> Reviewed by Maciej. http://bugzilla.opendarwin.org/show_bug.cgi?id=3581 iFrames set to display:none are Missing from frames array * WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]): (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]): Modify to pass the owner element instead of the owner renderer. * WebView/WebHTMLView.m: (-[WebHTMLView _topHTMLView]): Remove assertion, it's not valid anymore. LayoutTests: 2006-07-05 Anders Carlsson <acarlsson@apple.com> Reviewed by Maciej. http://bugzilla.opendarwin.org/show_bug.cgi?id=3581 iFrames set to display:none are Missing from frames array * fast/events/mouseover-mouseout2-expected.txt: * fast/events/mouseover-mouseout2.html: Update expected result. Since we now keep the frame around, the mouseout event is now dispatched to the element in the frame. * fast/events/onloadFrameCrash-expected.checksum: * fast/events/onloadFrameCrash-expected.png: * fast/events/onloadFrameCrash-expected.txt: This does hide the frame now. * fast/frames/iframe-display-none-expected.txt: Added. * fast/frames/iframe-display-none.html: Added. * fast/frames/resources/iframe-display-none-child.html: Added. New test that tests JS interaction with frames. * fast/frames/iframe-double-attach-expected.txt: Added. * fast/frames/iframe-double-attach.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 May, 2006 1 commit
-
-
eseidel authored
Reviewed by mjs. Split render_frames.* render_replaced.* and html_baseimpl.* into separate files (one class per file). http://bugzilla.opendarwin.org/show_bug.cgi?id=8878 * WebCore.xcodeproj/project.pbxproj: * bindings/js/kjs_html.cpp: (KJS::JSHTMLDocumentProtoFunc::callAsFunction): (KJS::JSHTMLDocument::namedItemGetter): (KJS::JSHTMLDocument::getValueProperty): (KJS::JSHTMLDocument::getOwnPropertySlot): (KJS::JSHTMLDocument::putValueProperty): (KJS::JSHTMLElement::formIndexGetter): (KJS::JSHTMLElement::formNameGetter): (KJS::JSHTMLElement::selectIndexGetter): (KJS::JSHTMLElement::framesetNameGetter): (KJS::JSHTMLElement::runtimeObjectGetter): (KJS::JSHTMLElement::runtimeObjectPropertyGetter): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::JSHTMLElement::implementsCall): (KJS::JSHTMLElement::callAsFunction): (KJS::JSHTMLElement::getValueProperty): (KJS::JSHTMLElement::toString): (KJS::getForm): (KJS::JSHTMLElement::pushEventHandlerScope): (KJS::HTMLElementFunction::callAsFunction): (KJS::JSHTMLElement::put): (KJS::JSHTMLElement::selectSetter): (KJS::JSHTMLElement::putValueProperty): (KJS::toHTMLElement): (KJS::toHTMLTableCaptionElement): (KJS::toHTMLTableSectionElement): (KJS::JSHTMLCollection::lengthGetter): (KJS::JSHTMLCollection::indexGetter): (KJS::JSHTMLCollection::nameGetter): (KJS::JSHTMLCollection::getOwnPropertySlot): (KJS::HTMLCollectionProtoFunc::callAsFunction): (KJS::JSHTMLSelectCollection::selectedIndexGetter): (KJS::JSHTMLSelectCollection::put): (KJS::OptionConstructorImp::construct): (KJS::getSelectHTMLCollection): * bindings/objc/DOMHTML.mm: * bridge/mac/FrameMac.mm: (WebCore::FrameMac::createFrame): * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge copyRenderNode:copier:]): * dom/Document.cpp: (WebCore::widgetForNode): * html/HTMLBodyElement.cpp: Added. (WebCore::HTMLBodyElement::HTMLBodyElement): (WebCore::HTMLBodyElement::parseMappedAttribute): * html/HTMLBodyElement.h: Added. * html/HTMLDocument.cpp: * html/HTMLElementFactory.cpp: * html/HTMLEmbedElement.cpp: * html/HTMLFrameElement.cpp: Added. (WebCore::HTMLFrameElement::isURLAllowed): (WebCore::HTMLFrameElement::parseMappedAttribute): (WebCore::HTMLFrameElement::setLocation): * html/HTMLFrameElement.h: Added. * html/HTMLFrameSetElement.cpp: Added. (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): (WebCore::HTMLFrameSetElement::parseMappedAttribute): (WebCore::HTMLFrameSetElement::attach): (WebCore::HTMLFrameSetElement::defaultEventHandler): (WebCore::HTMLFrameSetElement::recalcStyle): * html/HTMLFrameSetElement.h: Added. * html/HTMLHeadElement.cpp: Added. (WebCore::HTMLHeadElement::HTMLHeadElement): * html/HTMLHeadElement.h: Added. * html/HTMLHtmlElement.cpp: Added. (WebCore::HTMLHtmlElement::HTMLHtmlElement): * html/HTMLHtmlElement.h: Added. * html/HTMLIFrameElement.cpp: Added. (WebCore::HTMLIFrameElement::HTMLIFrameElement): * html/HTMLIFrameElement.h: Added. * html/HTMLObjectElement.cpp: * html/HTMLParser.cpp: * html/html_baseimpl.cpp: Removed. * html/html_baseimpl.h: Removed. * kwq/WebCoreAXObject.mm: * page/Frame.cpp: (WebCore::isFrameElement): (WebCore::Frame::applyEditingStyleToBodyElement): (WebCore::Frame::removeEditingStyleFromBodyElement): (WebCore::Frame::applyEditingStyleToElement): (WebCore::Frame::removeEditingStyleFromElement): (WebCore::Frame::selectionRect): (WebCore::Frame::isFrameSet): (WebCore::scanForForm): (WebCore::Frame::currentForm): (WebCore::Frame::nodeInfoAtPoint): (WebCore::Frame::adjustPageHeight): (WebCore::Frame::frameForWidget): (WebCore::Frame::forceLayoutWithPageWidthRange): (WebCore::Frame::passWidgetMouseDownEventToWidget): * page/FrameView.cpp: * rendering/RenderFrame.cpp: Added. (WebCore::RenderFrame::viewCleared): * rendering/RenderFrame.h: Added. * rendering/RenderFrameSet.cpp: Added. (WebCore::RenderFrameSet::RenderFrameSet): (WebCore::RenderFrameSet::~RenderFrameSet): (WebCore::RenderFrameSet::layout): (WebCore::RenderFrameSet::positionFrames): (WebCore::RenderFrameSet::userResize): (WebCore::RenderFrameSet::canResize): (WebCore::RenderFrameSet::dump): * rendering/RenderFrameSet.h: Added. * rendering/RenderImage.h: * rendering/RenderPart.cpp: Added. (WebCore::RenderPart::RenderPart): * rendering/RenderPart.h: Added. * rendering/RenderPartObject.cpp: Added. (WebCore::isURLAllowed): (WebCore::RenderPartObject::updateWidget): (WebCore::RenderPartObject::viewCleared): * rendering/RenderPartObject.h: Added. * rendering/RenderReplaced.cpp: Added. (WebCore::RenderReplaced::selectionColor): * rendering/RenderReplaced.h: Added. * rendering/RenderWidget.cpp: Added. (WebCore::RenderWidget::deleteWidget): * rendering/RenderWidget.h: Added. * rendering/render_form.h: * rendering/render_frames.cpp: Removed. * rendering/render_frames.h: Removed. * rendering/render_replaced.cpp: Removed. * rendering/render_replaced.h: Removed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-