Changeset 77853 in webkit
- Timestamp:
- Feb 7, 2011 3:37:23 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r77852 r77853 1 2011-02-07 Geoffrey Garen <ggaren@apple.com> 2 3 Reviewed by Darin Adler. 4 5 Assertion failure in ~JSGlobalObject when loading apple.com HTML5 6 transitions demo page 7 https://bugs.webkit.org/show_bug.cgi?id=53853 8 9 This was a long-standing bookkeeping bug uncovered by some heap refactoring. 10 11 * html/HTMLCanvasElement.cpp: 12 (WebCore::HTMLCanvasElement::createImageBuffer): 13 * html/HTMLImageLoader.cpp: 14 (WebCore::HTMLImageLoader::notifyFinished): 15 * xml/XMLHttpRequest.cpp: 16 (WebCore::XMLHttpRequest::dropProtection): Take the JSLock before 17 reporting extra cost to the JavaScriptCore heap, since all use of 18 JavaScriptCore is supposed to be guarded by JSLock. 19 1 20 2011-02-07 Jian Li <jianli@chromium.org> 2 21 -
trunk/Source/WebCore/html/HTMLCanvasElement.cpp
r77286 r77853 49 49 #include <stdio.h> 50 50 51 #if USE(JSC) 52 #include <runtime/JSLock.h> 53 #endif 54 51 55 #if ENABLE(WEBGL) 52 56 #include "WebGLContextAttributes.h" … … 409 413 410 414 #if USE(JSC) 411 if (hasCachedDOMNodeWrapperUnchecked(document(), const_cast<HTMLCanvasElement*>(this))) 415 if (hasCachedDOMNodeWrapperUnchecked(document(), const_cast<HTMLCanvasElement*>(this))) { 416 JSC::JSLock lock(JSC::SilenceAssertionsOnly); 412 417 scriptExecutionContext()->globalData()->heap.reportExtraMemoryCost(m_imageBuffer->dataSize()); 418 } 413 419 #endif 414 420 } -
trunk/Source/WebCore/html/HTMLImageLoader.cpp
r74465 r77853 34 34 #if USE(JSC) 35 35 #include "JSDOMWindowBase.h" 36 #include <runtime/JSLock.h> 36 37 #endif 37 38 … … 77 78 if (!loadError) { 78 79 if (!elem->inDocument()) { 80 JSC::JSLock lock(JSC::SilenceAssertionsOnly); 79 81 JSC::JSGlobalData* globalData = JSDOMWindowBase::commonJSGlobalData(); 80 82 globalData->heap.reportExtraMemoryCost(cachedImage->encodedSize()); -
trunk/Source/WebCore/xml/XMLHttpRequest.cpp
r77246 r77853 57 57 #include "JSDOMBinding.h" 58 58 #include "JSDOMWindow.h" 59 #include <runtime/JSLock.h> 59 60 #include <runtime/Protect.h> 60 61 #endif … … 793 794 // report the extra cost at that point. 794 795 JSC::JSGlobalData* globalData = scriptExecutionContext()->globalData(); 795 if (hasCachedDOMObjectWrapper(globalData, this)) 796 if (hasCachedDOMObjectWrapper(globalData, this)) { 797 JSC::JSLock lock(JSC::SilenceAssertionsOnly); 796 798 globalData->heap.reportExtraMemoryCost(m_responseBuilder.length() * 2); 799 } 797 800 #endif 798 801
Note: See TracChangeset
for help on using the changeset viewer.