Skip to content
  • andersca's avatar
    WebCore: · 3a434621
    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
    3a434621