Skip to content
  • fpizlo@apple.com's avatar
    JSC bindings appear to sometimes ignore the possibility of arrays being in sparse mode · 7ebfaed1
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=95610
    
    Reviewed by Oliver Hunt.
    
    Source/JavaScriptCore: 
    
    Add better support for quickly accessing the indexed storage from bindings.
    
    * runtime/JSObject.h:
    (JSC::JSObject::tryGetIndexQuickly):
    (JSObject):
    (JSC::JSObject::getDirectIndex):
    (JSC::JSObject::getIndex):
    
    Source/WebCore: 
    
    Fix all of the cases I found where we were using getIndexQuickly(), which was wrong
    if we were in sparse mode.
    
    * bindings/js/ArrayValue.cpp:
    (WebCore::ArrayValue::get):
    * bindings/js/JSBlobCustom.cpp:
    (WebCore::JSBlobConstructor::constructJSBlob):
    * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
    (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
    * bindings/js/JSDOMStringListCustom.cpp:
    (WebCore::toDOMStringList):
    * bindings/js/JSInspectorFrontendHostCustom.cpp:
    (WebCore::populateContextMenuItems):
    * bindings/js/JSWebSocketCustom.cpp:
    (WebCore::JSWebSocketConstructor::constructJSWebSocket):
    * bindings/js/ScriptValue.cpp:
    (WebCore::jsToInspectorValue):
    * bindings/js/SerializedScriptValue.cpp:
    (CloneSerializer):
    (WebCore::CloneSerializer::serialize):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7ebfaed1