diff options
author | Ben Murdoch <benm@google.com> | 2011-05-16 16:25:10 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-23 18:54:14 +0100 |
commit | ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb (patch) | |
tree | db769fadd053248f85db67434a5b275224defef7 /Source/WebCore/loader/cache/CachedScript.cpp | |
parent | 52e2557aeb8477967e97fd24f20f8f407a10fa15 (diff) | |
download | external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.zip external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.gz external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.bz2 |
Merge WebKit at r76408: Initial merge by git.
Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
Diffstat (limited to 'Source/WebCore/loader/cache/CachedScript.cpp')
-rw-r--r-- | Source/WebCore/loader/cache/CachedScript.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/Source/WebCore/loader/cache/CachedScript.cpp b/Source/WebCore/loader/cache/CachedScript.cpp index 54b4503..8950ddb 100644 --- a/Source/WebCore/loader/cache/CachedScript.cpp +++ b/Source/WebCore/loader/cache/CachedScript.cpp @@ -34,6 +34,10 @@ #include "TextResourceDecoder.h" #include <wtf/Vector.h> +#if USE(JSC) +#include <parser/SourceProvider.h> +#endif + namespace WebCore { CachedScript::CachedScript(const String& url, const String& charset) @@ -111,7 +115,12 @@ void CachedScript::error(CachedResource::Status status) void CachedScript::destroyDecodedData() { m_script = String(); - setDecodedSize(0); + unsigned extraSize = 0; +#if USE(JSC) + // FIXME: SourceInfoCache should be wiped out too but not this easily. + extraSize = m_sourceProviderCache ? m_sourceProviderCache->byteSize() : 0; +#endif + setDecodedSize(extraSize); if (!MemoryCache::shouldMakeResourcePurgeableOnEviction() && isSafeToMakePurgeable()) makePurgeable(true); } @@ -121,4 +130,18 @@ void CachedScript::decodedDataDeletionTimerFired(Timer<CachedScript>*) destroyDecodedData(); } +#if USE(JSC) +JSC::SourceProviderCache* CachedScript::sourceProviderCache() const +{ + if (!m_sourceProviderCache) + m_sourceProviderCache = adoptPtr(new JSC::SourceProviderCache); + return m_sourceProviderCache.get(); +} + +void CachedScript::sourceProviderCacheSizeChanged(int delta) +{ + setDecodedSize(decodedSize() + delta); +} +#endif + } // namespace WebCore |