Changeset 241970 in webkit


Ignore:
Timestamp:
Feb 22, 2019 4:41:58 PM (5 years ago)
Author:
aestes@apple.com
Message:

[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=194964
<rdar://problem/48279441>

Reviewed by Alex Christensen.

When a document's QuickLook preview is loaded, a reference cycle is created between
PreviewLoader and ResourceLoader. Break the cycle by clearing m_previewLoader in
ResourceLoader::releaseResources().

Fixes leaks detected by run-webkit-tests --leaks LayoutTests/quicklook.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::releaseResources):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r241967 r241970  
     12019-02-22  Andy Estes  <aestes@apple.com>
     2
     3        [iOS] Break a reference cycle between PreviewLoader and ResourceLoader
     4        https://bugs.webkit.org/show_bug.cgi?id=194964
     5        <rdar://problem/48279441>
     6
     7        Reviewed by Alex Christensen.
     8
     9        When a document's QuickLook preview is loaded, a reference cycle is created between
     10        PreviewLoader and ResourceLoader. Break the cycle by clearing m_previewLoader in
     11        ResourceLoader::releaseResources().
     12
     13        Fixes leaks detected by `run-webkit-tests --leaks LayoutTests/quicklook`.
     14
     15        * loader/ResourceLoader.cpp:
     16        (WebCore::ResourceLoader::releaseResources):
     17
    1182019-02-22  Sihui Liu  <sihui_liu@apple.com>
    219
  • trunk/Source/WebCore/loader/ResourceLoader.cpp

    r239457 r241970  
    114114    m_resourceData = nullptr;
    115115    m_deferredRequest = ResourceRequest();
     116
     117#if USE(QUICK_LOOK)
     118    m_previewLoader = nullptr;
     119#endif
    116120}
    117121
Note: See TracChangeset for help on using the changeset viewer.