Changeset 111361 in webkit


Ignore:
Timestamp:
Mar 19, 2012, 10:58:36 PM (14 years ago)
Author:
[email protected]
Message:

Remove support for "magic" iframe
https://bugs.webkit.org/show_bug.cgi?id=81590

Reviewed by Eric Seidel.

Source/WebCore:

This patch removes support for "magic" iframe, which previously allowed
an iframe to be transfered from one document to another without
reloading the iframe. The idea behind this feature was to let sites
create "pop out" windows that could outlive their parents by
transfering state to these windows via these magic iframes.

Unforuntately, this feature was never implemented by other browsers and
has been the source of a series of security vulnerabilities. Although
we have fixed each vulnerability as it has been discovered, the feature
is still a complex corner case that isn't widely exercised on the web.
For that reason, it's likely to have more vulnerabilities in the
future.

I'm not aware of any web sites that use this feature anymore. There
were a handful of them, but we appear to have been successful in
evangalizing them to move away from "magic" iframe.

  • dom/Document.cpp:

(WebCore::Document::adoptNode):

  • html/HTMLFrameElementBase.cpp:

(WebCore):
(WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
(WebCore::HTMLFrameElementBase::insertedIntoDocument):

  • html/HTMLFrameElementBase.h:

(HTMLFrameElementBase):

  • loader/DocumentLoader.cpp:

(WebCore):

  • loader/DocumentLoader.h:

(DocumentLoader):

  • loader/EmptyClients.h:

(WebCore::EmptyFrameLoaderClient::createFrame):

  • loader/FrameLoader.cpp:

(WebCore):

  • loader/FrameLoader.h:

(FrameLoader):

  • loader/FrameLoaderClient.h:

(FrameLoaderClient):

  • loader/ResourceLoadNotifier.cpp:

(WebCore):

  • loader/ResourceLoadNotifier.h:

(ResourceLoadNotifier):

  • page/Frame.cpp:

(WebCore):

  • page/Frame.h:

(Frame):

Source/WebKit/blackberry:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore):

  • WebCoreSupport/FrameLoaderClientBlackBerry.h:

(FrameLoaderClientBlackBerry):
(WebCore::FrameLoaderClientBlackBerry::didDetectXSS):

Source/WebKit/chromium:

Remove FrameLoaderClient methods that no longer exist.

  • public/WebFrameClient.h:

(WebFrameClient):

  • src/FrameLoaderClientImpl.cpp:

(WebKit):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

Source/WebKit/efl:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore):

  • WebCoreSupport/FrameLoaderClientEfl.h:

(FrameLoaderClientEfl):

Source/WebKit/gtk:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit):

  • WebCoreSupport/FrameLoaderClientGtk.h:

(FrameLoaderClient):

Source/WebKit/mac:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit/qt:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore):

  • WebCoreSupport/FrameLoaderClientQt.h:

(FrameLoaderClientQt):

Source/WebKit/win:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

Source/WebKit/wince:

Remove FrameLoaderClient methods that no longer exist.

  • WebCoreSupport/FrameLoaderClientWinCE.cpp:

(WebKit):

  • WebCoreSupport/FrameLoaderClientWinCE.h:

(FrameLoaderClientWinCE):

Source/WebKit/wx:

Remove FrameLoaderClient methods that no longer exist.

  • WebKitSupport/FrameLoaderClientWx.cpp:

(WebCore):

  • WebKitSupport/FrameLoaderClientWx.h:

(FrameLoaderClientWx):

Source/WebKit2:

Remove FrameLoaderClient methods that no longer exist.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

LayoutTests:

Remove tests of magic iframe. These tests don't reall make sense to
keep without the feature.

  • fast/frames/adopt-iframe-into-itself-expected.txt: Added.
  • fast/frames/adopt-iframe-into-itself.html: Added.
    • I've added a test about adopting an iframe into itself. We might already have a test for this, but it covers a mistake I made in an earlier iteration of this patch.
  • fast/frames/iframe-reparenting-adopt-node-expected.txt: Removed.
  • fast/frames/iframe-reparenting-adopt-node.html: Removed.
  • fast/frames/iframe-reparenting-embed-elements-expected.txt: Removed.
  • fast/frames/iframe-reparenting-embed-elements.html: Removed.
  • fast/frames/iframe-reparenting-expected.txt: Removed.
  • fast/frames/iframe-reparenting-fail-load-expected.txt: Removed.
  • fast/frames/iframe-reparenting-fail-load.html: Removed.
  • fast/frames/iframe-reparenting-new-page-expected.txt: Removed.
  • fast/frames/iframe-reparenting-new-page.html: Removed.
  • fast/frames/iframe-reparenting-plugins-expected.txt: Removed.
  • fast/frames/iframe-reparenting-plugins.html: Removed.
  • fast/frames/iframe-reparenting.html: Removed.
  • fast/frames/resources/iframe-reparenting-adopt-node-iframe-content.html: Removed.
  • fast/frames/resources/iframe-reparenting-adopt-node-new-page.html: Removed.
  • fast/frames/resources/iframe-reparenting-embed-frame1.html: Removed.
  • fast/frames/resources/iframe-reparenting-embed-iframe.html: Removed.
  • fast/frames/resources/iframe-reparenting-frame1.html: Removed.
  • fast/frames/resources/iframe-reparenting-frame2.html: Removed.
  • fast/frames/resources/iframe-reparenting-iframe-content.html: Removed.
  • fast/frames/resources/iframe-reparenting-new-page-1.html: Removed.
  • fast/frames/resources/iframe-reparenting-new-page-2.html: Removed.
  • fast/frames/resources/iframe-reparenting-new-page-iframe.html: Removed.
  • fast/frames/resources/iframe-reparenting-plugins-iframe-content.html: Removed.
  • fast/frames/resources/iframe-reparenting-plugins-new-page.html: Removed.
  • fast/frames/script-tests/iframe-reparenting-new-page.js: Removed.
Location:
trunk
Files:
2 added
25 deleted
46 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r111360 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove tests of magic iframe. These tests don't reall make sense to
     9        keep without the feature.
     10
     11        * fast/frames/adopt-iframe-into-itself-expected.txt: Added.
     12        * fast/frames/adopt-iframe-into-itself.html: Added.
     13            - I've added a test about adopting an iframe into itself. We might
     14              already have a test for this, but it covers a mistake I made in
     15              an earlier iteration of this patch.
     16        * fast/frames/iframe-reparenting-adopt-node-expected.txt: Removed.
     17        * fast/frames/iframe-reparenting-adopt-node.html: Removed.
     18        * fast/frames/iframe-reparenting-embed-elements-expected.txt: Removed.
     19        * fast/frames/iframe-reparenting-embed-elements.html: Removed.
     20        * fast/frames/iframe-reparenting-expected.txt: Removed.
     21        * fast/frames/iframe-reparenting-fail-load-expected.txt: Removed.
     22        * fast/frames/iframe-reparenting-fail-load.html: Removed.
     23        * fast/frames/iframe-reparenting-new-page-expected.txt: Removed.
     24        * fast/frames/iframe-reparenting-new-page.html: Removed.
     25        * fast/frames/iframe-reparenting-plugins-expected.txt: Removed.
     26        * fast/frames/iframe-reparenting-plugins.html: Removed.
     27        * fast/frames/iframe-reparenting.html: Removed.
     28        * fast/frames/resources/iframe-reparenting-adopt-node-iframe-content.html: Removed.
     29        * fast/frames/resources/iframe-reparenting-adopt-node-new-page.html: Removed.
     30        * fast/frames/resources/iframe-reparenting-embed-frame1.html: Removed.
     31        * fast/frames/resources/iframe-reparenting-embed-iframe.html: Removed.
     32        * fast/frames/resources/iframe-reparenting-frame1.html: Removed.
     33        * fast/frames/resources/iframe-reparenting-frame2.html: Removed.
     34        * fast/frames/resources/iframe-reparenting-iframe-content.html: Removed.
     35        * fast/frames/resources/iframe-reparenting-new-page-1.html: Removed.
     36        * fast/frames/resources/iframe-reparenting-new-page-2.html: Removed.
     37        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Removed.
     38        * fast/frames/resources/iframe-reparenting-plugins-iframe-content.html: Removed.
     39        * fast/frames/resources/iframe-reparenting-plugins-new-page.html: Removed.
     40        * fast/frames/script-tests/iframe-reparenting-new-page.js: Removed.
     41
    1422012-03-19  Julien Chaffraix  <[email protected]>
    243
  • trunk/Source/WebCore/ChangeLog

    r111360 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        This patch removes support for "magic" iframe, which previously allowed
     9        an iframe to be transfered from one document to another without
     10        reloading the iframe.  The idea behind this feature was to let sites
     11        create "pop out" windows that could outlive their parents by
     12        transfering state to these windows via these magic iframes.
     13
     14        Unforuntately, this feature was never implemented by other browsers and
     15        has been the source of a series of security vulnerabilities.  Although
     16        we have fixed each vulnerability as it has been discovered, the feature
     17        is still a complex corner case that isn't widely exercised on the web.
     18        For that reason, it's likely to have more vulnerabilities in the
     19        future.
     20
     21        I'm not aware of any web sites that use this feature anymore.  There
     22        were a handful of them, but we appear to have been successful in
     23        evangalizing them to move away from "magic" iframe.
     24
     25        * dom/Document.cpp:
     26        (WebCore::Document::adoptNode):
     27        * html/HTMLFrameElementBase.cpp:
     28        (WebCore):
     29        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
     30        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
     31        * html/HTMLFrameElementBase.h:
     32        (HTMLFrameElementBase):
     33        * loader/DocumentLoader.cpp:
     34        (WebCore):
     35        * loader/DocumentLoader.h:
     36        (DocumentLoader):
     37        * loader/EmptyClients.h:
     38        (WebCore::EmptyFrameLoaderClient::createFrame):
     39        * loader/FrameLoader.cpp:
     40        (WebCore):
     41        * loader/FrameLoader.h:
     42        (FrameLoader):
     43        * loader/FrameLoaderClient.h:
     44        (FrameLoaderClient):
     45        * loader/ResourceLoadNotifier.cpp:
     46        (WebCore):
     47        * loader/ResourceLoadNotifier.h:
     48        (ResourceLoadNotifier):
     49        * page/Frame.cpp:
     50        (WebCore):
     51        * page/Frame.h:
     52        (Frame):
     53
    1542012-03-19  Julien Chaffraix  <[email protected]>
    255
  • trunk/Source/WebCore/dom/Document.cpp

    r111229 r111361  
    942942    }       
    943943    default:
     944        // FIXME: What about <frame> and <object>?
    944945        if (source->hasTagName(iframeTag)) {
    945946            HTMLIFrameElement* iframe = static_cast<HTMLIFrameElement*>(source.get());
     
    948949                return 0;
    949950            }
    950             iframe->setRemainsAliveOnRemovalFromTree(attached() && source->attached() && iframe->canRemainAliveOnRemovalFromTree());
    951951        }
    952 
    953952        if (source->parentNode())
    954953            source->parentNode()->removeChild(source.get(), ec);
  • trunk/Source/WebCore/html/HTMLFrameElementBase.cpp

    r111108 r111361  
    4545using namespace HTMLNames;
    4646
    47 // Helper to check if the Frame's document contains elements that can instantiate plugins.
    48 // Does a recursive check for nested Frames too.
    49 static bool hasPluginElements(Frame* frame)
    50 {
    51     if (!frame)
    52         return false;
    53 
    54     // Search for a plugin element in this document.
    55     Document* document = frame->document();
    56     for (Node* node = document->firstChild(); node; node = node->traverseNextNode(document)) {
    57         if (!node->isElementNode())
    58             continue;
    59 
    60         Element* element = static_cast<Element*>(node);
    61         if (element->hasLocalName(embedTag) || element->hasLocalName(objectTag))
    62             return true;
    63     }
    64 
    65     // Do the same for the nested frames.
    66     for (Frame* child = frame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
    67         if (hasPluginElements(child))
    68             return true;
    69     }
    70 
    71     return false;
    72 }
    73 
    7447HTMLFrameElementBase::HTMLFrameElementBase(const QualifiedName& tagName, Document* document)
    7548    : HTMLFrameOwnerElement(tagName, document)
     
    7750    , m_marginWidth(-1)
    7851    , m_marginHeight(-1)
    79     , m_checkInDocumentTimer(this, &HTMLFrameElementBase::checkInDocumentTimerFired)
    8052    , m_viewSource(false)
    81     , m_remainsAliveOnRemovalFromTree(false)
    8253{
    8354}
     
    181152}
    182153
    183 void HTMLFrameElementBase::updateOnReparenting()
    184 {
    185     ASSERT(m_remainsAliveOnRemovalFromTree);
    186 
    187     if (Frame* frame = contentFrame())
    188         frame->transferChildFrameToNewDocument();
    189 }
    190 
    191154void HTMLFrameElementBase::insertedIntoDocument()
    192155{
    193156    HTMLFrameOwnerElement::insertedIntoDocument();
    194157
    195     if (m_remainsAliveOnRemovalFromTree) {
    196         updateOnReparenting();
    197         m_remainsAliveOnRemovalFromTree = false;
    198         m_checkInDocumentTimer.stop();
    199         return;
    200     }
    201158    // DocumentFragments don't kick of any loads.
    202159    if (!document()->frame())
     
    278235}
    279236
    280 // Some types of content can restrict the ability to move the iframes between pages.
    281 // For example, the plugin infrastructure of an embedder may associate the plugin instances
    282 // with the top-level Frame for tracking various resources and failure to transfer those
    283 // resources correctly may lead to crashes and other ill effects (https://bugs.webkit.org/show_bug.cgi?id=68267)
    284 bool HTMLFrameElementBase::canRemainAliveOnRemovalFromTree()
    285 {
    286     return !hasPluginElements(contentFrame());
    287 }
    288 
    289 void HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree(bool value)
    290 {
    291     ASSERT(!value || canRemainAliveOnRemovalFromTree());
    292     m_remainsAliveOnRemovalFromTree = value;
    293 
    294     // There is a possibility that JS will do document.adoptNode() on this element but will not insert it into the tree.
    295     // Start the async timer that is normally stopped by attach(). If it's not stopped and fires, it'll unload the frame.
    296     if (value)
    297         m_checkInDocumentTimer.startOneShot(0);
    298     else {
    299         m_checkInDocumentTimer.stop();
    300         willRemove();
    301     }
    302 }
    303 
    304 void HTMLFrameElementBase::checkInDocumentTimerFired(Timer<HTMLFrameElementBase>*)
    305 {
    306     ASSERT(!attached());
    307     ASSERT(m_remainsAliveOnRemovalFromTree);
    308 
    309     m_remainsAliveOnRemovalFromTree = false;
    310     willRemove();
    311 }
    312 
    313 void HTMLFrameElementBase::willRemove()
    314 {
    315     if (m_remainsAliveOnRemovalFromTree)
    316         return;
    317 
    318     HTMLFrameOwnerElement::willRemove();
    319 }
    320 
    321237#if ENABLE(FULLSCREEN_API)
    322238bool HTMLFrameElementBase::allowFullScreen() const
  • trunk/Source/WebCore/html/HTMLFrameElementBase.h

    r106769 r111361  
    4343    int height();
    4444
    45     bool canRemainAliveOnRemovalFromTree();
    46     void setRemainsAliveOnRemovalFromTree(bool);
    4745#if ENABLE(FULLSCREEN_API)
    4846    virtual bool allowFullScreen() const;
     
    6765    virtual bool isFrameElementBase() const { return true; }
    6866
    69     virtual void willRemove();
    70     void checkInDocumentTimerFired(Timer<HTMLFrameElementBase>*);
    71     void updateOnReparenting();
    72 
    7367    bool viewSourceMode() const { return m_viewSource; }
    7468
     
    8478    int m_marginHeight;
    8579
    86     // This is a performance optimization some call "magic iframe" which avoids
    87     // tearing down the frame hierarchy when a web page calls adoptNode on a
    88     // frame owning element but does not immediately insert it into the new
    89     // document before JavaScript yields to WebCore.  If the element is not yet
    90     // in a document by the time this timer fires, the frame hierarchy teardown
    91     // will continue.  This can also be seen as implementation of:
    92     // "Removing an iframe from a Document does not cause its browsing context
    93     // to be discarded. Indeed, an iframe's browsing context can survive its
    94     // original parent Document if its iframe is moved to another Document."
    95     // From HTML5: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-iframe-element
    96     Timer<HTMLFrameElementBase> m_checkInDocumentTimer;
    97 
    9880    bool m_viewSource;
    99     bool m_remainsAliveOnRemovalFromTree;
    10081};
    10182
  • trunk/Source/WebCore/loader/DocumentLoader.cpp

    r107995 r111361  
    851851}
    852852
    853 void DocumentLoader::transferLoadingResourcesFromPage(Page* oldPage)
    854 {
    855     ASSERT(oldPage != m_frame->page());
    856 
    857     FrameLoader* loader = frameLoader();
    858     ASSERT(loader);
    859 
    860     if (isLoadingMainResource())
    861         loader->dispatchTransferLoadingResourceFromPage(m_mainResourceLoader.get(), originalRequest(), oldPage);
    862 
    863     if (isLoadingSubresources()) {
    864         ResourceLoaderSet::const_iterator it = m_subresourceLoaders.begin();
    865         ResourceLoaderSet::const_iterator end = m_subresourceLoaders.end();
    866         for (; it != end; ++it)
    867             loader->dispatchTransferLoadingResourceFromPage((*it).get(), (*it)->originalRequest(), oldPage);
    868     }
    869 }
    870 
    871853void DocumentLoader::maybeFinishLoadingMultipartContent()
    872854{
  • trunk/Source/WebCore/loader/DocumentLoader.h

    r96856 r111361  
    222222        void subresourceLoaderFinishedLoadingOnePart(ResourceLoader*);
    223223
    224         void transferLoadingResourcesFromPage(Page*);
    225 
    226224        void maybeFinishLoadingMultipartContent();
    227225
  • trunk/Source/WebCore/loader/EmptyClients.h

    r110865 r111361  
    375375    virtual void didDetectXSS(const KURL&, bool) { }
    376376    virtual PassRefPtr<Frame> createFrame(const KURL&, const String&, HTMLFrameOwnerElement*, const String&, bool, int, int) { return 0; }
    377     virtual void didTransferChildFrameToNewDocument(Page*) { }
    378     virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*) { }
    379377    virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool) { return 0; }
    380378    virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&) { return 0; }
  • trunk/Source/WebCore/loader/FrameLoader.cpp

    r110570 r111361  
    16471647}
    16481648
    1649 void FrameLoader::transferLoadingResourcesFromPage(Page* oldPage)
    1650 {
    1651     ASSERT(oldPage != m_frame->page());
    1652     if (isLoading()) {
    1653         activeDocumentLoader()->transferLoadingResourcesFromPage(oldPage);
    1654         oldPage->progress()->progressCompleted(m_frame);
    1655         if (m_frame->page())
    1656             m_frame->page()->progress()->progressStarted(m_frame);
    1657     }
    1658 }
    1659 
    1660 void FrameLoader::dispatchTransferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
    1661 {
    1662     notifier()->dispatchTransferLoadingResourceFromPage(loader, request, oldPage);
    1663 }
    1664 
    16651649void FrameLoader::setDocumentLoader(DocumentLoader* loader)
    16661650{
  • trunk/Source/WebCore/loader/FrameLoader.h

    r109480 r111361  
    136136    bool isLoading() const;
    137137    bool frameHasLoaded() const;
    138     void transferLoadingResourcesFromPage(Page*);
    139     void dispatchTransferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
    140138
    141139    int numPendingOrLoadingRequests(bool recurse) const;
  • trunk/Source/WebCore/loader/FrameLoaderClient.h

    r109064 r111361  
    257257        virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceResponse&) = 0;
    258258
    259         virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
    260                                    const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0;
    261         virtual void didTransferChildFrameToNewDocument(Page* oldPage) = 0;
    262         virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page* oldPage) = 0;
     259        virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0;
    263260        virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0;
    264261        virtual void redirectDataToPlugin(Widget* pluginWidget) = 0;
  • trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp

    r95901 r111361  
    145145}
    146146
    147 void ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
    148 {
    149     ASSERT(oldPage != m_frame->page());
    150     m_frame->loader()->client()->transferLoadingResourceFromPage(loader, request, oldPage);
    151 
    152     oldPage->progress()->completeProgress(loader->identifier());
    153 }
    154 
    155147void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const char* data, int dataLength, int encodedDataLength, const ResourceError& error)
    156148{
  • trunk/Source/WebCore/loader/ResourceLoadNotifier.h

    r95901 r111361  
    6363    void dispatchDidReceiveData(DocumentLoader*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
    6464    void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, double finishTime);
    65     void dispatchTransferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
    6665
    6766    void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const char* data, int dataLength, int encodedDataLength, const ResourceError&);
  • trunk/Source/WebCore/page/Frame.cpp

    r111141 r111361  
    718718}
    719719
    720 // The frame is moved in DOM, potentially to another page.
    721 void Frame::transferChildFrameToNewDocument()
    722 {
    723     ASSERT(m_ownerElement);
    724     Frame* newParent = m_ownerElement->document()->frame();
    725     ASSERT(newParent);
    726     bool didTransfer = false;
    727 
    728     // Switch page.
    729     Page* newPage = newParent->page();
    730     Page* oldPage = m_page;
    731     if (m_page != newPage) {
    732         if (m_page) {
    733             if (m_page->focusController()->focusedFrame() == this)
    734                 m_page->focusController()->setFocusedFrame(0);
    735 
    736              m_page->decrementFrameCount();
    737         }
    738 
    739         if (m_domWindow) {
    740 #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
    741             m_domWindow->resetNotifications();
    742 #endif
    743         }
    744 
    745         HashSet<FrameDestructionObserver*>::iterator stop = m_destructionObservers.end();
    746         for (HashSet<FrameDestructionObserver*>::iterator it = m_destructionObservers.begin(); it != stop; ++it)
    747             (*it)->willDetachPage();
    748 
    749         m_page = newPage;
    750 
    751         if (newPage)
    752             newPage->incrementFrameCount();
    753 
    754         didTransfer = true;
    755     }
    756 
    757     // Update the frame tree.
    758     didTransfer = newParent->tree()->transferChild(this) || didTransfer;
    759 
    760     // Avoid unnecessary calls to client and frame subtree if the frame ended
    761     // up on the same page and under the same parent frame.
    762     if (didTransfer) {
    763         // Let external clients update themselves.
    764         loader()->client()->didTransferChildFrameToNewDocument(oldPage);
    765 
    766         // Update resource tracking now that frame could be in a different page.
    767         if (oldPage != newPage)
    768             loader()->transferLoadingResourcesFromPage(oldPage);
    769 
    770         // Do the same for all the children.
    771         for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
    772             child->transferChildFrameToNewDocument();
    773     }
    774 }
    775 
    776720String Frame::documentTypeString() const
    777721{
  • trunk/Source/WebCore/page/Frame.h

    r109548 r111361  
    114114        RenderPart* ownerRenderer() const; // Renderer for the element that contains this frame.
    115115
    116         void transferChildFrameToNewDocument();
    117 
    118116#if ENABLE(PAGE_VISIBILITY_API)
    119117        void dispatchVisibilityStateChangeEvent();
  • trunk/Source/WebKit/blackberry/ChangeLog

    r111259 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
     11        (WebCore):
     12        * WebCoreSupport/FrameLoaderClientBlackBerry.h:
     13        (FrameLoaderClientBlackBerry):
     14        (WebCore::FrameLoaderClientBlackBerry::didDetectXSS):
     15
    1162012-03-19  Tyler Abbott  <[email protected]>
    217
  • trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp

    r111000 r111361  
    741741}
    742742
    743 void FrameLoaderClientBlackBerry::didTransferChildFrameToNewDocument(Page* /*oldPage*/)
    744 {
    745     Page* newPage = m_frame->page();
    746     m_webPagePrivate = static_cast<ChromeClientBlackBerry*>(newPage->chrome()->client())->webPagePrivate();
    747 }
    748 
    749 void FrameLoaderClientBlackBerry::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
    750 {
    751     notImplemented();
    752 }
    753 
    754743ObjectContentType FrameLoaderClientBlackBerry::objectContentType(const KURL& url, const String& mimeTypeIn, bool shouldPreferPlugInsForImages)
    755744{
  • trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h

    r107991 r111361  
    149149    virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&);
    150150    virtual PassRefPtr<Frame> createFrame(const KURL&, const String&, HTMLFrameOwnerElement*, const String&, bool, int, int);
    151     virtual void didTransferChildFrameToNewDocument(Page*);
    152151    virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
    153152    virtual void redirectDataToPlugin(Widget*);
     
    165164
    166165    virtual void didDetectXSS(const KURL&, bool) { }
    167     virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
    168     virtual void didTransferChildFrameToNewDocument() { notImplemented(); };
    169166    virtual void dispatchDidChangeIcons(IconType) { notImplemented(); };
    170167    virtual void dispatchWillSendSubmitEvent(HTMLFormElement*) { notImplemented(); };
  • trunk/Source/WebKit/chromium/ChangeLog

    r111350 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * public/WebFrameClient.h:
     11        (WebFrameClient):
     12        * src/FrameLoaderClientImpl.cpp:
     13        (WebKit):
     14        * src/FrameLoaderClientImpl.h:
     15        (FrameLoaderClientImpl):
     16
    1172012-03-19  Charlie Reis  <[email protected]>
    218
  • trunk/Source/WebKit/chromium/public/WebFrameClient.h

    r109064 r111361  
    285285    virtual void didDetectXSS(WebFrame*, const WebURL&, bool didBlockEntirePage) { }
    286286
    287     // This frame adopted the resource that is being loaded. This happens when
    288     // an iframe, that is loading a subresource, is transferred between windows.
    289     virtual void didAdoptURLLoader(WebURLLoader*) { }
    290 
    291287    // Script notifications ------------------------------------------------
    292288
  • trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp

    r111258 r111361  
    14611461}
    14621462
    1463 void FrameLoaderClientImpl::didTransferChildFrameToNewDocument(Page*)
    1464 {
    1465     ASSERT(m_webFrame->frame()->ownerElement());
    1466 
    1467     WebFrameImpl* newParent = static_cast<WebFrameImpl*>(m_webFrame->parent());
    1468     if (!newParent || !newParent->client())
    1469         return;
    1470 
    1471     // Replace the client since the old client may be destroyed when the
    1472     // previous page is closed.
    1473     m_webFrame->setClient(newParent->client());
    1474 }
    1475 
    1476 void FrameLoaderClientImpl::transferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
    1477 {
    1478     assignIdentifierToInitialRequest(loader->identifier(), loader->documentLoader(), request);
    1479 
    1480     WebFrameImpl* oldWebFrame = WebFrameImpl::fromFrame(oldPage->mainFrame());
    1481     if (oldWebFrame && oldWebFrame->client())
    1482         oldWebFrame->client()->removeIdentifierForRequest(loader->identifier());
    1483 
    1484     ResourceHandle* handle = loader->handle();
    1485     WebURLLoader* webURLLoader = ResourceHandleInternal::FromResourceHandle(handle)->loader();
    1486     if (webURLLoader && m_webFrame->client())
    1487         m_webFrame->client()->didAdoptURLLoader(webURLLoader);
    1488 }
    1489 
    14901463PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
    14911464    const IntSize& size, // FIXME: how do we use this?
  • trunk/Source/WebKit/chromium/src/FrameLoaderClientImpl.h

    r109064 r111361  
    178178        const WTF::String& referrer, bool allowsScrolling,
    179179        int marginWidth, int marginHeight);
    180     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
    181     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
    182180    virtual PassRefPtr<WebCore::Widget> createPlugin(
    183181        const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&,
  • trunk/Source/WebKit/efl/ChangeLog

    r110991 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/FrameLoaderClientEfl.cpp:
     11        (WebCore):
     12        * WebCoreSupport/FrameLoaderClientEfl.h:
     13        (FrameLoaderClientEfl):
     14
    1152012-03-16  Kihong Kwon  <[email protected]>
    216
  • trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp

    r107854 r111361  
    330330}
    331331
    332 void FrameLoaderClientEfl::didTransferChildFrameToNewDocument(Page*)
    333 {
    334     ASSERT(m_frame);
    335 
    336     Frame* currentFrame = EWKPrivate::coreFrame(m_frame);
    337     Evas_Object* currentView = ewk_frame_view_get(m_frame);
    338     Frame* parentFrame = currentFrame->tree()->parent();
    339 
    340     FrameLoaderClientEfl* client = static_cast<FrameLoaderClientEfl*>(parentFrame->loader()->client());
    341     Evas_Object* clientFrame = client ? client->webFrame() : 0;
    342     Evas_Object* clientView = ewk_frame_view_get(clientFrame);
    343 
    344     if (currentView != clientView) {
    345         ewk_frame_view_set(m_frame, clientView);
    346         m_view = clientView;
    347     }
    348 
    349     ASSERT(ewk_view_core_page_get(ewk_frame_view_get(m_frame)) == currentFrame->page());
    350 }
    351 
    352 void FrameLoaderClientEfl::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
    353 {
    354 }
    355 
    356332void FrameLoaderClientEfl::redirectDataToPlugin(Widget* pluginWidget)
    357333{
  • trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h

    r101609 r111361  
    133133    virtual PassRefPtr<Frame> createFrame(const KURL&, const String& name, HTMLFrameOwnerElement*,
    134134                               const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
    135     virtual void didTransferChildFrameToNewDocument(Page*);
    136     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const ResourceRequest&, WebCore::Page*);
    137135
    138136    virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const WTF::Vector<String>&, const WTF::Vector<String>&, const String&, bool);
  • trunk/Source/WebKit/gtk/ChangeLog

    r111340 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/FrameLoaderClientGtk.cpp:
     11        (WebKit):
     12        * WebCoreSupport/FrameLoaderClientGtk.h:
     13        (FrameLoaderClient):
     14
    1152012-03-19  Gustavo Noronha Silva  <[email protected]>
    216
  • trunk/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp

    r110999 r111361  
    533533}
    534534
    535 void FrameLoaderClient::didTransferChildFrameToNewDocument(WebCore::Page*)
    536 {
    537     ASSERT(m_frame);
    538 
    539     // Update the frame's webview to the new parent's webview.
    540     Frame* coreFrame = core(m_frame);
    541     WebKitWebView* webView = getViewFromFrame(m_frame);
    542 
    543     Frame* parentCoreFrame = coreFrame->tree()->parent();
    544     WebKitWebFrame* parentKitFrame = kit(parentCoreFrame);
    545     WebKitWebView* parentWebView = getViewFromFrame(parentKitFrame);
    546     if (webView != parentWebView)
    547         m_frame->priv->webView = parentWebView;
    548 
    549     ASSERT(core(getViewFromFrame(m_frame)) == coreFrame->page());
    550 }
    551 
    552 void FrameLoaderClient::transferLoadingResourceFromPage(WebCore::ResourceLoader* loader, const WebCore::ResourceRequest& request, WebCore::Page* oldPage)
    553 {
    554     ASSERT(oldPage != core(m_frame)->page());
    555 
    556     GOwnPtr<gchar> identifierString(toString(loader->identifier()));
    557     ASSERT(!webkit_web_view_get_resource(getViewFromFrame(m_frame), identifierString.get()));
    558 
    559     assignIdentifierToInitialRequest(loader->identifier(), loader->documentLoader(), request);
    560 
    561     webkit_web_view_remove_resource(kit(oldPage), identifierString.get());
    562 }
    563 
    564535void FrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
    565536{
  • trunk/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h

    r101933 r111361  
    116116        virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
    117117                                   const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
    118         virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
    119         virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
    120118        virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
    121119        virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
  • trunk/Source/WebKit/mac/ChangeLog

    r111276 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/WebFrameLoaderClient.h:
     11        * WebCoreSupport/WebFrameLoaderClient.mm:
     12
    1132012-03-19  Enrica Casucci  <[email protected]>
    214
  • trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h

    r101609 r111361  
    199199    virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement*,
    200200                                        const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) OVERRIDE;
    201     virtual void didTransferChildFrameToNewDocument(WebCore::Page* oldPage) OVERRIDE;
    202     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page* oldPage);
    203201    virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&,
    204202                                          const Vector<WTF::String>&, const WTF::String&, bool) OVERRIDE;
  • trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm

    r109670 r111361  
    13871387}
    13881388
    1389 void WebFrameLoaderClient::didTransferChildFrameToNewDocument(Page* oldPage)
    1390 {
    1391 }
    1392 
    1393 void WebFrameLoaderClient::transferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& originalRequest, Page* oldPage)
    1394 {
    1395     ASSERT(oldPage != core(m_webFrame.get())->page());
    1396 
    1397     unsigned long identifier = loader->identifier();
    1398     ASSERT(![getWebView(m_webFrame.get()) _objectForIdentifier:identifier]);
    1399 
    1400     assignIdentifierToInitialRequest(identifier, loader->documentLoader(), originalRequest);
    1401 
    1402     [kit(oldPage) _removeObjectForIdentifier:identifier];
    1403 }
    1404 
    14051389ObjectContentType WebFrameLoaderClient::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
    14061390{
  • trunk/Source/WebKit/qt/ChangeLog

    r111268 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/FrameLoaderClientQt.cpp:
     11        (WebCore):
     12        * WebCoreSupport/FrameLoaderClientQt.h:
     13        (FrameLoaderClientQt):
     14
    1152012-03-19  Emil A Eklund  <[email protected]>
    216
  • trunk/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp

    r107915 r111361  
    13671367}
    13681368
    1369 void FrameLoaderClientQt::didTransferChildFrameToNewDocument(Page*)
    1370 {
    1371     ASSERT(m_frame->ownerElement());
    1372 
    1373     if (!m_webFrame)
    1374         return;
    1375 
    1376     Frame* parentFrame = m_webFrame->d->frame->tree()->parent();
    1377     ASSERT(parentFrame);
    1378 
    1379     if (QWebFrame* parent = QWebFramePrivate::kit(parentFrame)) {
    1380         m_webFrame->d->setPage(parent->page());
    1381 
    1382         if (m_webFrame->parent() != qobject_cast<QObject*>(parent))
    1383             m_webFrame->setParent(parent);
    1384     }
    1385 }
    1386 
    1387 void FrameLoaderClientQt::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
    1388 {
    1389 }
    1390 
    13911369ObjectContentType FrameLoaderClientQt::objectContentType(const KURL& url, const String& mimeTypeIn, bool shouldPreferPlugInsForImages)
    13921370{
  • trunk/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h

    r102592 r111361  
    208208    virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
    209209                               const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
    210     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
    211     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
    212210    virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
    213211    virtual void redirectDataToPlugin(Widget* pluginWidget);
  • trunk/Source/WebKit/win/ChangeLog

    r111331 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/WebFrameLoaderClient.cpp:
     11        * WebCoreSupport/WebFrameLoaderClient.h:
     12        (WebFrameLoaderClient):
     13
    1142012-03-19  Anders Carlsson  <[email protected]>
    215
  • trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp

    r109670 r111361  
    763763}
    764764
    765 void WebFrameLoaderClient::didTransferChildFrameToNewDocument(Page*)
    766 {
    767     Frame* coreFrame = core(m_webFrame);
    768     ASSERT(coreFrame);
    769     WebView* webView = kit(coreFrame->page());
    770     if (m_webFrame->webView() != webView)
    771         m_webFrame->setWebView(webView);
    772 }
    773 
    774 void WebFrameLoaderClient::transferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
    775 {
    776     assignIdentifierToInitialRequest(loader->identifier(), loader->documentLoader(), request);
    777 
    778     WebView* oldWebView = kit(oldPage);
    779     if (!oldWebView)
    780         return;
    781 
    782     COMPtr<IWebResourceLoadDelegate> oldResourceLoadDelegate;
    783     if (FAILED(oldWebView->resourceLoadDelegate(&oldResourceLoadDelegate)))
    784         return;
    785 
    786     COMPtr<IWebResourceLoadDelegatePrivate2> oldResourceLoadDelegatePrivate2(Query, oldResourceLoadDelegate);
    787     if (!oldResourceLoadDelegatePrivate2)
    788         return;
    789     oldResourceLoadDelegatePrivate2->removeIdentifierForRequest(oldWebView, loader->identifier());
    790 }
    791 
    792765PassRefPtr<Frame> WebFrameLoaderClient::createFrame(const KURL& URL, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer)
    793766{
  • trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h

    r99096 r111361  
    117117    virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
    118118                               const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
    119     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
    120     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
    121119    virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&, bool loadManually);
    122120    virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
  • trunk/Source/WebKit/wince/ChangeLog

    r110784 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebCoreSupport/FrameLoaderClientWinCE.cpp:
     11        (WebKit):
     12        * WebCoreSupport/FrameLoaderClientWinCE.h:
     13        (FrameLoaderClientWinCE):
     14
    1152012-03-13  Jon Lee  <[email protected]>
    216
  • trunk/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp

    r101609 r111361  
    173173}
    174174
    175 void FrameLoaderClientWinCE::didTransferChildFrameToNewDocument(Page*)
    176 {
    177 }
    178 
    179 void FrameLoaderClientWinCE::transferLoadingResourceFromPage(ResourceLoader*, const WebCore::ResourceRequest&, Page*)
    180 {
    181 }
    182 
    183175void FrameLoaderClientWinCE::redirectDataToPlugin(Widget* pluginWidget)
    184176{
  • trunk/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h

    r101609 r111361  
    110110    virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
    111111                               const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
    112     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
    113     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
    114112    virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
    115113    virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
  • trunk/Source/WebKit/wx/ChangeLog

    r110859 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebKitSupport/FrameLoaderClientWx.cpp:
     11        (WebCore):
     12        * WebKitSupport/FrameLoaderClientWx.h:
     13        (FrameLoaderClientWx):
     14
    1152012-03-15  Kevin Ollivier  <[email protected]>
    216
  • trunk/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp

    r101835 r111361  
    901901}
    902902
    903 void FrameLoaderClientWx::didTransferChildFrameToNewDocument(Page*)
    904 {
    905 }
    906 
    907 void FrameLoaderClientWx::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
    908 {
    909 }
    910 
    911903ObjectContentType FrameLoaderClientWx::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
    912904{
  • trunk/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h

    r101609 r111361  
    212212        virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
    213213                                   const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
    214         virtual void didTransferChildFrameToNewDocument(Page*);
    215         virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
    216214        virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) ;
    217215        virtual void redirectDataToPlugin(Widget* pluginWidget);
  • trunk/Source/WebKit2/ChangeLog

    r111340 r111361  
     12012-03-19  Adam Barth  <[email protected]>
     2
     3        Remove support for "magic" iframe
     4        https://bugs.webkit.org/show_bug.cgi?id=81590
     5
     6        Reviewed by Eric Seidel.
     7
     8        Remove FrameLoaderClient methods that no longer exist.
     9
     10        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
     11        (WebKit):
     12        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
     13
    1142012-03-19  Gustavo Noronha Silva  <[email protected]>
    215
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp

    r111235 r111361  
    12551255}
    12561256
    1257 void WebFrameLoaderClient::didTransferChildFrameToNewDocument(Page*)
    1258 {
    1259     notImplemented();
    1260 }
    1261 
    1262 void WebFrameLoaderClient::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
    1263 {
    1264     notImplemented();
    1265 }
    1266 
    12671257PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize&, HTMLPlugInElement* pluginElement, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
    12681258{
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h

    r106492 r111361  
    184184    virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
    185185                                          const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) OVERRIDE;
    186     virtual void didTransferChildFrameToNewDocument(WebCore::Page*) OVERRIDE;
    187     virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*) OVERRIDE;
    188186   
    189187    virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) OVERRIDE;
Note: See TracChangeset for help on using the changeset viewer.