[webkit-dev] why js script" var a = new XMLHttpRequest; ", it's ok; but "var a = new StyleSheet; ", it'll throw an exception?

David Hyatt hyatt at apple.com
Fri Jun 5 07:00:47 PDT 2009


Just a guess, but I believe StyleSheet is abstract, and if you want to  
craft a stylesheet, you'd probably use CSSStyleSheet instead.

dave

On Jun 5, 2009, at 3:28 AM, Suk Zhong wrote:

> Hi All:
>    We're trying to extend WebKit dom js binding.We have some  
> questions.
>
>    in DOMWindow.idl having the following code:
>    attribute StyleSheetConstructor StyleSheet;
>    attribute [JSCCustomGetter] XMLHttpRequestConstructor  
> XMLHttpRequest;
>
>    and we find class JSXMLHttpRequestConstructor has function  
> getConstructData, while JSStyleSheetConstructor doesn't have  
> function getConstructData.
>
>    if test the following js script:"var a = new XMLHttpRequest;",  
> it's ok;but "var a = new StyleSheet;", it'll throw an exception.
>
>    and we trac this problem to Interpreter::privateExecute() and  
> JSValuePtr::getConstructData function
>
>    inline ConstructType JSValuePtr::getConstructData(ConstructData&  
> constructData)
>    {
>         return JSImmediate::isImmediate(asValue()) ?  
> ConstructTypeNone : asCell()->getConstructData(constructData);
>    }
>    and we know this function returns ConstructTypeNone for  
> JSStyleSheetConstructor object,  ConstructTypeHost for  
> JSXMLHttpRequestConstructor object;
>
>    JSStyleSheetConstructor object and JSXMLHttpRequestConstructor  
> object are returned by the same template function getDOMConstructor.
>
>    our questions are:
>
>    1.why it has this return?
>    2.which codes make the two object have different immediate value?
>    3.some people can explain the whole role of class JSImmediate?
>    4.our trac maybe be not correct,who can explain why newing  
> StyleSheet has exception and newing XMLHttpRequest is OK?
>
> Thanks and Best Regards
>
> Suk
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev



More information about the webkit-dev mailing list