JSGlobalObject::resetPrototype (which is called from JSGlobalContextCreateInGroup) doesn't change its JSProxy's prototype as well. This results in a JSProxy where no properties in the original prototype chain (as created from the JSClassRef hierarchy) are accessible.
Created attachment 235452 [details] Patch
<rdar://problem/17706699>
Attachment 235452 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:79: Declaration has space between * and variable name in char* buffer [whitespace/declaration] [3] Total errors found: 2 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 235452 [details] Patch r=me
Created attachment 235466 [details] Windows fix
Attachment 235466 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/JavaScriptCore/API/tests/CustomGlobalObjectClassTest.c:79: Declaration has space between * and variable name in char* buffer [whitespace/declaration] [3] Total errors found: 2 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Committed r171543: <http://trac.webkit.org/changeset/171543>