• dimich@chromium.org's avatar
    When a live iframe element is moved between pages, it still depends on the old page. · d79180bd
    dimich@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=34382
    
    Reviewed by David Levin.
    
    WebCore:
    
    Test: fast/frames/iframe-reparenting-new-page.html
    
    * html/HTMLFrameElementBase.cpp:
    (WebCore::HTMLFrameElementBase::setName):
    Move the code setting the frame name into a separate function.
    
    (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
    (WebCore::HTMLFrameElementBase::updateLiveFrame):
    Update frame tree, reset page in the contentFrame and re-set the name.
    
    (WebCore::HTMLFrameElementBase::insertedIntoDocument):
    * html/HTMLFrameElementBase.h:
    
    * page/Frame.cpp:
    (WebCore::Frame::setPage):
    * page/Frame.h: Add setPage method. It is only currently used when iframe is
                    moved between pages (so the ASSERT(m_ownerElement).
    
    LayoutTests:
    
    * fast/frames/iframe-reparenting-new-page-expected.txt: Added.
    * fast/frames/iframe-reparenting-new-page.html: Added.
    * fast/frames/resources/iframe-reparenting-new-page-1.html: Added.
    * fast/frames/resources/iframe-reparenting-new-page-2.html: Added.
    * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Added.
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@54194 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    d79180bd
ChangeLog 7.58 KB