diff options
author | Steve Block <steveblock@google.com> | 2010-09-29 17:32:26 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-09-29 17:35:08 +0100 |
commit | 68513a70bcd92384395513322f1b801e7bf9c729 (patch) | |
tree | 161b50f75a5921d61731bb25e730005994fcec85 /WebCore/dom/ScriptExecutionContext.cpp | |
parent | fd5c6425ce58eb75211be7718d5dee960842a37e (diff) | |
download | external_webkit-68513a70bcd92384395513322f1b801e7bf9c729.zip external_webkit-68513a70bcd92384395513322f1b801e7bf9c729.tar.gz external_webkit-68513a70bcd92384395513322f1b801e7bf9c729.tar.bz2 |
Merge WebKit at r67908: Initial merge by Git
Change-Id: I43a553e7b3299b28cb6ee8aa035ed70fe342b972
Diffstat (limited to 'WebCore/dom/ScriptExecutionContext.cpp')
-rw-r--r-- | WebCore/dom/ScriptExecutionContext.cpp | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/WebCore/dom/ScriptExecutionContext.cpp b/WebCore/dom/ScriptExecutionContext.cpp index d014d47..bfda17b 100644 --- a/WebCore/dom/ScriptExecutionContext.cpp +++ b/WebCore/dom/ScriptExecutionContext.cpp @@ -87,20 +87,17 @@ ScriptExecutionContext::~ScriptExecutionContext() m_databaseThread = 0; } #endif -#if ENABLE(BLOB) || ENABLE(FILE_WRITER) +#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM) if (m_fileThread) { m_fileThread->stop(); m_fileThread = 0; } #endif - HashSet<Blob*>::iterator blobsEnd = m_blobs.end(); - for (HashSet<Blob*>::iterator iter = m_blobs.begin(); iter != blobsEnd; ++iter) - (*iter)->contextDestroyed(); #if ENABLE(BLOB) HashSet<String>::iterator publicBlobURLsEnd = m_publicBlobURLs.end(); for (HashSet<String>::iterator iter = m_publicBlobURLs.begin(); iter != publicBlobURLsEnd; ++iter) - ThreadableBlobRegistry::unregisterBlobURL(this, KURL(ParsedURLString, *iter)); + ThreadableBlobRegistry::unregisterBlobURL(KURL(ParsedURLString, *iter)); #endif } @@ -175,18 +172,6 @@ void ScriptExecutionContext::destroyedMessagePort(MessagePort* port) m_messagePorts.remove(port); } -void ScriptExecutionContext::addBlob(Blob* blob) -{ - ASSERT(blob); - m_blobs.add(blob); -} - -void ScriptExecutionContext::removeBlob(Blob* blob) -{ - ASSERT(blob); - m_blobs.remove(blob); -} - bool ScriptExecutionContext::canSuspendActiveDOMObjects() { // No protection against m_activeDOMObjects changing during iteration: canSuspend() shouldn't execute arbitrary JS. @@ -199,13 +184,13 @@ bool ScriptExecutionContext::canSuspendActiveDOMObjects() return true; } -void ScriptExecutionContext::suspendActiveDOMObjects() +void ScriptExecutionContext::suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension why) { // No protection against m_activeDOMObjects changing during iteration: suspend() shouldn't execute arbitrary JS. HashMap<ActiveDOMObject*, void*>::iterator activeObjectsEnd = m_activeDOMObjects.end(); for (HashMap<ActiveDOMObject*, void*>::iterator iter = m_activeDOMObjects.begin(); iter != activeObjectsEnd; ++iter) { ASSERT(iter->first->scriptExecutionContext() == this); - iter->first->suspend(); + iter->first->suspend(why); } } @@ -277,8 +262,10 @@ DOMTimer* ScriptExecutionContext::findTimeout(int timeoutId) #if ENABLE(BLOB) KURL ScriptExecutionContext::createPublicBlobURL(Blob* blob) { - KURL publicURL = BlobURL::createURL(this); - ThreadableBlobRegistry::registerBlobURL(this, publicURL, blob->url()); + if (!blob) + return KURL(); + KURL publicURL = BlobURL::createPublicURL(securityOrigin()); + ThreadableBlobRegistry::registerBlobURL(publicURL, blob->url()); m_publicBlobURLs.add(publicURL.string()); return publicURL; } @@ -286,13 +273,13 @@ KURL ScriptExecutionContext::createPublicBlobURL(Blob* blob) void ScriptExecutionContext::revokePublicBlobURL(const KURL& url) { if (m_publicBlobURLs.contains(url.string())) { - ThreadableBlobRegistry::unregisterBlobURL(this, url); + ThreadableBlobRegistry::unregisterBlobURL(url); m_publicBlobURLs.remove(url.string()); } } #endif -#if ENABLE(BLOB) || ENABLE(FILE_WRITER) +#if ENABLE(BLOB) || ENABLE(FILE_SYSTEM) FileThread* ScriptExecutionContext::fileThread() { if (!m_fileThread) { |