Changeset 88914 in webkit


Ignore:
Timestamp:
Jun 15, 2011 1:24:41 AM (13 years ago)
Author:
yurys@chromium.org
Message:

2011-06-10 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Dmitry Titov.

[Chromium] Worker object may be garbage collected if it doesn't send any messages
https://bugs.webkit.org/show_bug.cgi?id=62446

  • fast/workers/resources/worker-init.js: Added.
  • fast/workers/worker-init-expected.txt: Added.
  • fast/workers/worker-init.html: Added.

2011-06-10 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Dmitry Titov.

[Chromium] Worker object may be garbage collected if it doesn't send any messages
https://bugs.webkit.org/show_bug.cgi?id=62446

Assume that WorkerContext has pending activity before explicit notification
is received from it. It prevents worker object from being collected before
the first message from its context is received.

  • src/WebWorkerClientImpl.cpp: (WebKit::WebWorkerClientImpl::startWorkerContext): (WebKit::WebWorkerClientImpl::startWorkerContextInternal): (WebKit::WebWorkerClientImpl::startWorkerContextTask):
  • src/WebWorkerClientImpl.h:
Location:
trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r88913 r88914  
     12011-06-10  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Dmitry Titov.
     4
     5        [Chromium] Worker object may be garbage collected if it doesn't send any messages
     6        https://bugs.webkit.org/show_bug.cgi?id=62446
     7
     8        * fast/workers/resources/worker-init.js: Added.
     9        * fast/workers/worker-init-expected.txt: Added.
     10        * fast/workers/worker-init.html: Added.
     11
    1122011-06-15  Nikolas Zimmermann  <nzimmermann@rim.com>
    213
  • trunk/Source/WebKit/chromium/ChangeLog

    r88844 r88914  
     12011-06-10  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Reviewed by Dmitry Titov.
     4
     5        [Chromium] Worker object may be garbage collected if it doesn't send any messages
     6        https://bugs.webkit.org/show_bug.cgi?id=62446
     7
     8        Assume that WorkerContext has pending activity before explicit notification
     9        is received from it. It prevents worker object from being collected before
     10        the first message from its context is received.
     11
     12        * src/WebWorkerClientImpl.cpp:
     13        (WebKit::WebWorkerClientImpl::startWorkerContext):
     14        (WebKit::WebWorkerClientImpl::startWorkerContextInternal):
     15        (WebKit::WebWorkerClientImpl::startWorkerContextTask):
     16        * src/WebWorkerClientImpl.h:
     17
    1182011-06-14  Eric Uhrhane  <ericu@chromium.org>
    219
  • trunk/Source/WebKit/chromium/src/WebWorkerClientImpl.cpp

    r88529 r88914  
    151151        return;
    152152    }
     153    startWorkerContextInternal(scriptURL, userAgent, sourceCode);
     154}
     155
     156void WebWorkerClientImpl::startWorkerContextInternal(const KURL& scriptURL, const WTF::String& userAgent, const WTF::String& sourceCode)
     157{
    153158    m_webWorker->startWorkerContext(scriptURL, userAgent, sourceCode);
     159    m_workerContextHadPendingActivity = true; // Worker initialization means a pending activity.
    154160}
    155161
     
    352358                                                 const String& sourceCode)
    353359{
    354     thisPtr->m_webWorker->startWorkerContext(KURL(ParsedURLString, scriptURL),
    355                                              userAgent, sourceCode);
     360    thisPtr->startWorkerContextInternal(KURL(ParsedURLString, scriptURL), userAgent, sourceCode);
    356361}
    357362
  • trunk/Source/WebKit/chromium/src/WebWorkerClientImpl.h

    r88529 r88914  
    160160                                          bool hasPendingActivity);
    161161
     162    void startWorkerContextInternal(const WebCore::KURL& scriptURL, const WTF::String& userAgent, const WTF::String& sourceCode);
     163
    162164    // Guard against context from being destroyed before a worker exits.
    163165    RefPtr<WebCore::ScriptExecutionContext> m_scriptExecutionContext;
Note: See TracChangeset for help on using the changeset viewer.