⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 244638 in webkit


Ignore:
Timestamp:
Apr 24, 2019, 11:42:36 PM (7 years ago)
Author:
bshafiei@apple.com
Message:

Cherry-pick r244120. rdar://problem/50132675

Cherry-pick r243104. rdar://problem/49725692

REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering
https://bugs.webkit.org/show_bug.cgi?id=195322

Reviewed by Ryosuke Niwa.

Since r236862, DOMWindow objects get disconnected from their Frame object as soon as
their iframe element gets removed from the document. Previously, DOMWindow was a
FrameDestructionObserver and would stay connected to its frame until the frame died.

This means that some of the work that we were doing in DOMWindow::frameDestroyed() and
Document::willDetachPage() no longer happens for subframe windows because they get
disconnected from their frame because they get a chance to get such notifications.
To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame()
which gets called when the iframe gets removed from the document and the document / window
get disconnected from the Frame element.

No new tests, verified locally that the leak is gone on JetStream.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::willDetachDocumentFromFrame):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-607-branch@244120 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Location:
branches/safari-607.2.6.0-branch/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-607.2.6.0-branch/Source/WebCore/ChangeLog

    r244637 r244638  
     12019-04-24  Babak Shafiei  <bshafiei@apple.com>
     2
     3        Cherry-pick r244120. rdar://problem/50132675
     4
     5    Cherry-pick r243104. rdar://problem/49725692
     6   
     7        REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering
     8        https://bugs.webkit.org/show_bug.cgi?id=195322
     9   
     10        Reviewed by Ryosuke Niwa.
     11   
     12        Since r236862, DOMWindow objects get disconnected from their Frame object as soon as
     13        their iframe element gets removed from the document. Previously, DOMWindow was a
     14        FrameDestructionObserver and would stay connected to its frame until the frame died.
     15   
     16        This means that some of the work that we were doing in DOMWindow::frameDestroyed() and
     17        Document::willDetachPage() no longer happens for subframe windows because they get
     18        disconnected from their frame because they get a chance to get such notifications.
     19        To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame()
     20        which gets called when the iframe gets removed from the document and the document / window
     21        get disconnected from the Frame element.
     22   
     23        No new tests, verified locally that the leak is gone on JetStream.
     24   
     25        * page/DOMWindow.cpp:
     26        (WebCore::DOMWindow::willDetachDocumentFromFrame):
     27   
     28        git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     29   
     30    git-svn-id: https://svn.webkit.org/repository/webkit/branches/safari-607-branch@244120 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     31
     32    2019-04-09  Alan Coon  <alancoon@apple.com>
     33
     34            Cherry-pick r243104. rdar://problem/49725692
     35
     36        REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering
     37        https://bugs.webkit.org/show_bug.cgi?id=195322
     38
     39        Reviewed by Ryosuke Niwa.
     40
     41        Since r236862, DOMWindow objects get disconnected from their Frame object as soon as
     42        their iframe element gets removed from the document. Previously, DOMWindow was a
     43        FrameDestructionObserver and would stay connected to its frame until the frame died.
     44
     45        This means that some of the work that we were doing in DOMWindow::frameDestroyed() and
     46        Document::willDetachPage() no longer happens for subframe windows because they get
     47        disconnected from their frame because they get a chance to get such notifications.
     48        To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame()
     49        which gets called when the iframe gets removed from the document and the document / window
     50        get disconnected from the Frame element.
     51
     52        No new tests, verified locally that the leak is gone on JetStream.
     53
     54        * page/DOMWindow.cpp:
     55        (WebCore::DOMWindow::willDetachDocumentFromFrame):
     56
     57
     58        git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
     59
     60        2019-03-18  Chris Dumez  <cdumez@apple.com>
     61
     62                REGRESSION(r236862): early frame decoupling leaves JSC ArrayBuffer objects lingering
     63                https://bugs.webkit.org/show_bug.cgi?id=195322
     64
     65                Reviewed by Ryosuke Niwa.
     66
     67                Since r236862, DOMWindow objects get disconnected from their Frame object as soon as
     68                their iframe element gets removed from the document. Previously, DOMWindow was a
     69                FrameDestructionObserver and would stay connected to its frame until the frame died.
     70
     71                This means that some of the work that we were doing in DOMWindow::frameDestroyed() and
     72                Document::willDetachPage() no longer happens for subframe windows because they get
     73                disconnected from their frame because they get a chance to get such notifications.
     74                To address this issue, we now also do this work in DOMWindow::willDetachDocumentFromFrame()
     75                which gets called when the iframe gets removed from the document and the document / window
     76                get disconnected from the Frame element.
     77
     78                No new tests, verified locally that the leak is gone on JetStream.
     79
     80                * page/DOMWindow.cpp:
     81                (WebCore::DOMWindow::willDetachDocumentFromFrame):
     82
    1832019-04-24  Babak Shafiei  <bshafiei@apple.com>
    284
  • branches/safari-607.2.6.0-branch/Source/WebCore/page/DOMWindow.cpp

    r244626 r244638  
    489489    if (m_performance)
    490490        m_performance->clearResourceTimings();
     491
     492    JSDOMWindowBase::fireFrameClearedWatchpointsForWindow(this);
     493    InspectorInstrumentation::frameWindowDiscarded(*frame(), this);
    491494}
    492495
Note: See TracChangeset for help on using the changeset viewer.