Abstract away the JSC:: in WebCore/html/ My proposal is to define the following types: typedef RefPtr<JSC::Bindings::Instance> ScriptInstance; typedef PassRefPtr<JSC::Bindings::Instance> PassScriptInstance; Then, I will use these types in HTMLPlugInElement.{h,cpp}. The result will enable V8 bindings to work with HTMLPlugInElement without any modifications or #ifdefs. The key here is that V8 bindings does not have something like JSC::Bindings::Instance. Instead, the HTMLPlugInElement's getInstance method simply vends a V8Object that is pre-bound to the underlying NPObject returned by the plugin's getValue function. I thought about changing the JSC build to also vend a JSValue* from HTMLPlugInElement::getInstance, but that wouldn't work out too well since there is not an ExecState available at the time when getInstance is called. Hence, the typedef solution that I'm proposing, which seems to allow the greatest flexibility.
Created attachment 25501 [details] v1 patch
Comment on attachment 25501 [details] v1 patch r=me
http://trac.webkit.org/changeset/38774
Windows bustage fix: http://trac.webkit.org/changeset/38777 This change was required because runtime.h is now exposed via ScriptInstance.h, forcing it to be a "private" header that WebKit.vcproj can see.