WebCore:
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: https://svn.webkit.org/repository/webkit/trunk@15170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc