Bug 97716

Summary: Generalize JSGlobalThis as JSProxy
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: JavaScriptCoreAssignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal CC: bdakin, gyuyoung.kim, rakuco, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Fix oliver: review+

Description Gavin Barraclough 2012-09-26 12:10:59 PDT
And move proxying functionality up from the window shell into JSProxy.
Comment 1 Gavin Barraclough 2012-09-26 12:18:52 PDT
Created attachment 165851 [details]
Fix
Comment 2 Gavin Barraclough 2012-09-26 12:39:16 PDT
Fixed in r129685.
Comment 3 Beth Dakin 2012-09-26 13:28:30 PDT
Looks like this change broke the Windows build. Here's some of the builder output:

12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static class JSC::JSObject * __cdecl JSC::JSGlobalObject::toThisObject(class JSC::JSCell *,class JSC::ExecState *)" (?toThisObject@JSGlobalObject@JSC@@KAPAVJSObject@2@PAVJSCell@2@PAVExecState@2@@Z)
12>WebCore.lib(DerivedSources.obj) : error LNK2001: unresolved external symbol "protected: static class JSC::JSObject * __cdecl JSC::JSGlobalObject::toThisObject(class JSC::JSCell *,class JSC::ExecState *)" (?toThisObject@JSGlobalObject@JSC@@KAPAVJSObject@2@PAVJSCell@2@PAVExecState@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static bool __cdecl JSC::JSProxy::getOwnPropertyDescriptor(class JSC::JSObject *,class JSC::ExecState *,class JSC::PropertyName,class JSC::PropertyDescriptor &)" (?getOwnPropertyDescriptor@JSProxy@JSC@@KA_NPAVJSObject@2@PAVExecState@2@VPropertyName@2@AAVPropertyDescriptor@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static bool __cdecl JSC::JSProxy::defineOwnProperty(class JSC::JSObject *,class JSC::ExecState *,class JSC::PropertyName,class JSC::PropertyDescriptor &,bool)" (?defineOwnProperty@JSProxy@JSC@@KA_NPAVJSObject@2@PAVExecState@2@VPropertyName@2@AAVPropertyDescriptor@2@_N@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static void __cdecl JSC::JSProxy::putDirectVirtual(class JSC::JSObject *,class JSC::ExecState *,class JSC::PropertyName,class JSC::JSValue,unsigned int)" (?putDirectVirtual@JSProxy@JSC@@KAXPAVJSObject@2@PAVExecState@2@VPropertyName@2@VJSValue@2@I@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static class WTF::String __cdecl JSC::JSProxy::className(class JSC::JSObject const *)" (?className@JSProxy@JSC@@KA?AVString@WTF@@PBVJSObject@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static void __cdecl JSC::JSProxy::getPropertyNames(class JSC::JSObject *,class JSC::ExecState *,class JSC::PropertyNameArray &,enum JSC::EnumerationMode)" (?getPropertyNames@JSProxy@JSC@@KAXPAVJSObject@2@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static void __cdecl JSC::JSProxy::getOwnPropertyNames(class JSC::JSObject *,class JSC::ExecState *,class JSC::PropertyNameArray &,enum JSC::EnumerationMode)" (?getOwnPropertyNames@JSProxy@JSC@@KAXPAVJSObject@2@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static bool __cdecl JSC::JSProxy::getOwnPropertySlotByIndex(class JSC::JSCell *,class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)" (?getOwnPropertySlotByIndex@JSProxy@JSC@@KA_NPAVJSCell@2@PAVExecState@2@IAAVPropertySlot@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static bool __cdecl JSC::JSProxy::getOwnPropertySlot(class JSC::JSCell *,class JSC::ExecState *,class JSC::PropertyName,class JSC::PropertySlot &)" (?getOwnPropertySlot@JSProxy@JSC@@KA_NPAVJSCell@2@PAVExecState@2@VPropertyName@2@AAVPropertySlot@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static bool __cdecl JSC::JSProxy::deletePropertyByIndex(class JSC::JSCell *,class JSC::ExecState *,unsigned int)" (?deletePropertyByIndex@JSProxy@JSC@@KA_NPAVJSCell@2@PAVExecState@2@I@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static bool __cdecl JSC::JSProxy::deleteProperty(class JSC::JSCell *,class JSC::ExecState *,class JSC::PropertyName)" (?deleteProperty@JSProxy@JSC@@KA_NPAVJSCell@2@PAVExecState@2@VPropertyName@2@@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static void __cdecl JSC::JSProxy::putByIndex(class JSC::JSCell *,class JSC::ExecState *,unsigned int,class JSC::JSValue,bool)" (?putByIndex@JSProxy@JSC@@KAXPAVJSCell@2@PAVExecState@2@IVJSValue@2@_N@Z)
12>WebCore.lib(JSBindingsAllInOne.obj) : error LNK2001: unresolved external symbol "protected: static void __cdecl JSC::JSProxy::put(class JSC::JSCell *,class JSC::ExecState *,class JSC::PropertyName,class JSC::JSValue,class JSC::PutPropertySlot &)" (?put@JSProxy@JSC@@KAXPAVJSCell@2@PAVExecState@2@VPropertyName@2@VJSValue@2@AAVPutPropertySlot@2@@Z)
12>C:\cygwin\home\buildbot\slave\win-debug\build\WebKitBuild\Debug\bin\WebKit.dll : fatal error LNK1120: 13 unresolved externals
12>Build log was saved at "file://C:\cygwin\home\buildbot\slave\win-debug\build\WebKitBuild\Debug\obj\WebKit\BuildLog.htm"
12>WebKit - 15 error(s), 1 warning(s)
Comment 4 Gavin Barraclough 2012-09-26 13:57:38 PDT
Thanks Beth! - Speculative Windows build fix in r129702.
Comment 5 Beth Dakin 2012-09-26 14:09:36 PDT
(In reply to comment #4)
> Thanks Beth! - Speculative Windows build fix in r129702.

Yay! Looks like this fixed the release build. The Debug build is still busted, but I don't think its your fault since it's failing in RenderTableCell.cpp

Thanks, Gavin!