Bug 97716 - Generalize JSGlobalThis as JSProxy
Summary: Generalize JSGlobalThis as JSProxy
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gavin Barraclough
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-26 12:10 PDT by Gavin Barraclough
Modified: 2012-09-26 14:09 PDT (History)
4 users (show)

See Also:


Attachments
Fix (55.89 KB, patch)
2012-09-26 12:18 PDT, Gavin Barraclough
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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!