Changeset 90595 in webkit


Ignore:
Timestamp:
Jul 7, 2011 3:29:57 PM (13 years ago)
Author:
gavinp@chromium.org
Message:

Reviewed by Alexey Proskuryakov.

fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
https://bugs.webkit.org/show_bug.cgi?id=60097

The culprit was that CachedResource:stopLoading() was using *this
after a call to checkNotify(), which isn't kosher. This patch
uses a CachedResourceHandle to keep the CachedResource alive.

Source/WebCore:

The test is a very close copy of the eponymous
link-and-subresource-test.html, only substituting invalid
resources for the valid ones in that test. The reproduction is
timing related, and happens much more consistantly with an invalid
resource for whatever reason.
Test: fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::stopLoading):

LayoutTests:

The test is a very close copy of the eponymous
link-and-subresource-test.html, only substituting invalid
resources for the valid ones in that test. The reproduction is
timing related, and happens much more consistantly with an invalid
resource for whatever reason.

  • fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent-expected.txt: Added.
  • fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html: Added.
  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r90593 r90595  
     12011-07-07  Gavin Peters  <gavinp@chromium.org>
     2
     3        Reviewed by Alexey Proskuryakov.
     4
     5        fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
     6        https://bugs.webkit.org/show_bug.cgi?id=60097
     7
     8        The culprit was that CachedResource:stopLoading() was using *this
     9        after a call to checkNotify(), which isn't kosher.  This patch
     10        uses a CachedResourceHandle to keep the CachedResource alive.
     11
     12        The test is a very close copy of the eponymous
     13        link-and-subresource-test.html, only substituting invalid
     14        resources for the valid ones in that test.  The reproduction is
     15        timing related, and happens much more consistantly with an invalid
     16        resource for whatever reason.
     17
     18        * fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent-expected.txt: Added.
     19        * fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html: Added.
     20        * platform/gtk/Skipped:
     21        * platform/mac/Skipped:
     22        * platform/qt/Skipped:
     23        * platform/win/Skipped:
     24
    1252011-07-07  Jeff Timanus  <twiz@chromium.org>
    226
  • trunk/LayoutTests/platform/gtk/Skipped

    r90580 r90595  
    10191019# Link prefetch is disabled by default
    10201020fast/dom/HTMLLinkElement/link-and-subresource-test.html
     1021fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
    10211022fast/dom/HTMLLinkElement/prefetch.html
    10221023fast/dom/HTMLLinkElement/prefetch-beforeload.html
  • trunk/LayoutTests/platform/mac/Skipped

    r90175 r90595  
    176176# Link prefetch is disabled by default
    177177fast/dom/HTMLLinkElement/link-and-subresource-test.html
     178fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
    178179fast/dom/HTMLLinkElement/prefetch.html
    179180fast/dom/HTMLLinkElement/prefetch-beforeload.html
  • trunk/LayoutTests/platform/qt/Skipped

    r90570 r90595  
    116116# ENABLE(LINK_PREFETCH) is disabled.
    117117fast/dom/HTMLLinkElement/link-and-subresource-test.html
     118fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
    118119fast/dom/HTMLLinkElement/prefetch.html
    119120fast/dom/HTMLLinkElement/prefetch-beforeload.html
  • trunk/LayoutTests/platform/win/Skipped

    r90576 r90595  
    10311031# Link prefetch is disabled by default
    10321032fast/dom/HTMLLinkElement/link-and-subresource-test.html
     1033fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
    10331034fast/dom/HTMLLinkElement/prefetch.html
    10341035fast/dom/HTMLLinkElement/prefetch-beforeload.html
  • trunk/Source/WebCore/ChangeLog

    r90592 r90595  
     12011-07-07  Gavin Peters  <gavinp@chromium.org>
     2
     3        Reviewed by Alexey Proskuryakov.
     4
     5        fast/dom/HTMLLinkElement/link-and-subresource-test.html is flaky on chromium debug bots
     6        https://bugs.webkit.org/show_bug.cgi?id=60097
     7
     8        The culprit was that CachedResource:stopLoading() was using *this
     9        after a call to checkNotify(), which isn't kosher.  This patch
     10        uses a CachedResourceHandle to keep the CachedResource alive.
     11
     12        The test is a very close copy of the eponymous
     13        link-and-subresource-test.html, only substituting invalid
     14        resources for the valid ones in that test.  The reproduction is
     15        timing related, and happens much more consistantly with an invalid
     16        resource for whatever reason.
     17        Test: fast/dom/HTMLLinkElement/link-and-subresource-test-nonexistent.html
     18
     19        * loader/cache/CachedResource.cpp:
     20        (WebCore::CachedResource::stopLoading):
     21
    1222011-07-07  James Robinson  <jamesr@chromium.org>
    223
  • trunk/Source/WebCore/loader/cache/CachedResource.cpp

    r88391 r90595  
    264264    m_request.clear();
    265265
     266    CachedResourceHandle<CachedResource> protect(this);
     267
    266268    // All loads finish with data(allDataReceived = true) or error(), except for
    267269    // canceled loads, which silently set our request to 0. Be sure to notify our
     
    272274        checkNotify();
    273275    }
    274 
    275     if (canDelete() && !inCache())
    276         delete this;
    277276}
    278277
Note: See TracChangeset for help on using the changeset viewer.