Yes, JS symbols are no longer exported. You can't use JSAPI from non-Gecko
code anymore.

On Sat, Sep 6, 2014 at 9:06 PM, Shanmugham Sundaram <shansyman...@gmail.com>
wrote:

> Hi,
>
> As part of our FF extension development, we are using FF SDK (which was
> obtained after compiling FF 33 beta source code in MS 2010). The libs and
> include are obtained from obj-i686-pc-mingw32\dist\ dir after compiled
> using start-shell-msvc2010.bat (provided by MozillaBuildSetup-Latest.exe).
>
> Till FF 32, we did not have issue in compiling the following function
>
>     const jschar* GetStringCharsZ(JSContext *cx, JSString *str) const
> throw()
>     {
>         if( !cx || !str)
>         {
>             return NULL;
>         }
>
>         return JS_GetStringCharsZ(cx, str);
>
>     }
>
> But it appears that in FF 33 beta, the JS_GetStringCharsZ is Un-Available
> in
> E:\me\work\builds\mozillaBuildsForPorting\firefox-33.0b1.source\mozilla-beta\js\src\jsapi.h.
> When i checked the replacement code for JS_GetStringCharsZ, I found
> following code available in other js src code @
> http://mxr.mozilla.org/mozilla-beta/source/js/src/shell/js.cpp#1278.
>
>         JSFlatString *flat = str->ensureFlat(cx);
>         if (!flat)
>             return NULL;
>         AutoStableStringChars chars(cx);
>         if (!chars.initTwoByte(cx, flat))
>             return NULL;
>         return chars.twoByteRange().start().get();
>
> I tried to modify my current function as below and I am getting the
> following errors when i compiled in VS 2010. My include path contains these
> values [
> $(SDK)\VS10\Firefox-SDKs\33.0.0\include;$(SDK)\VS10\Firefox-SDKs\33.0.0\include\js;$(SDK)\VS10\Firefox-SDKs\33.0.0\include\nspr
> ] .
>
> Am I missing anything in include path to pick up the JSFlatString ,
> AutoStableStringChars , JSString ???? All were working fine for extension
> built in FF 32 .
>
> Modified function
> =================
>     const jschar* GetStringCharsZ(JSContext *cx, JSString *str) const
> throw()
>     {
>         if( !cx || !str)
>         {
>             return NULL;
>         }
>
>         //return JS_GetStringCharsZ(cx, str);
>         //RootedString
>         JSFlatString *flat = str->ensureFlat(cx);
>         if (!flat)
>             return NULL;
>         AutoStableStringChars chars(cx);
>         if (!chars.initTwoByte(cx, flat))
>             return NULL;
>         return chars.twoByteRange().start().get();
>     }
>
>
> Errors
> =====
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2027: use of undefined type 'JSString'
> 2>
> c:\users\shanmugam_s\perforce\nco_r8.7.7_ff_32_shan_new\sdk\vs10\firefox-sdks\33.0.0\include\js/TypeDecls.h(29)
> : see declaration of 'JSString'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2227: left of '->ensureFlat' must point to class/struct/union/generic type
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2065: 'AutoStableStringChars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2146: syntax error : missing ';' before identifier 'chars'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C3861: 'chars': identifier not found
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2228: left of '.initTwoByte' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.twoByteRange' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.start' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.get' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2027: use of undefined type 'JSString'
> 2>
> c:\users\shanmugam_s\perforce\nco_r8.7.7_ff_32_shan_new\sdk\vs10\firefox-sdks\33.0.0\include\js/TypeDecls.h(29)
> : see declaration of 'JSString'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2227: left of '->ensureFlat' must point to class/struct/union/generic type
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2065: 'AutoStableStringChars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2146: syntax error : missing ';' before identifier 'chars'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C3861: 'chars': identifier not found
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2228: left of '.initTwoByte' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.twoByteRange' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.start' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.get' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2027: use of undefined type 'JSString'
> 2>
> c:\users\shanmugam_s\perforce\nco_r8.7.7_ff_32_shan_new\sdk\vs10\firefox-sdks\33.0.0\include\js/TypeDecls.h(29)
> : see declaration of 'JSString'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2227: left of '->ensureFlat' must point to class/struct/union/generic type
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2065: 'AutoStableStringChars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2146: syntax error : missing ';' before identifier 'chars'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C3861: 'chars': identifier not found
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2228: left of '.initTwoByte' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.twoByteRange' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.start' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.get' must have class/struct/union
> 2>  WebProgressImpl.cpp
> 2>  WebProgressImplBeta.cpp
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2027: use of undefined type 'JSString'
> 2>
> c:\users\shanmugam_s\perforce\nco_r8.7.7_ff_32_shan_new\sdk\vs10\firefox-sdks\33.0.0\include\js/TypeDecls.h(29)
> : see declaration of 'JSString'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2227: left of '->ensureFlat' must point to class/struct/union/generic type
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2065: 'AutoStableStringChars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2146: syntax error : missing ';' before identifier 'chars'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C3861: 'chars': identifier not found
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2228: left of '.initTwoByte' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.twoByteRange' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.start' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.get' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2027: use of undefined type 'JSString'
> 2>
> c:\users\shanmugam_s\perforce\nco_r8.7.7_ff_32_shan_new\sdk\vs10\firefox-sdks\33.0.0\include\js/TypeDecls.h(29)
> : see declaration of 'JSString'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(86): error
> C2227: left of '->ensureFlat' must point to class/struct/union/generic type
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2065: 'AutoStableStringChars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C2146: syntax error : missing ';' before identifier 'chars'
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(89): error
> C3861: 'chars': identifier not found
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(90): error
> C2228: left of '.initTwoByte' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2065: 'chars' : undeclared identifier
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.twoByteRange' must have class/struct/union
> 2>          type is ''unknown-type''
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.start' must have class/struct/union
> 2>c:\shan\\cofirefoxpluginbeta\cofirefoxplugin\JSFuncWrapper.h(92): error
> C2228: left of '.get' must have class/struct/union
>
>
> Thanks in advance,
> Shan'
> _______________________________________________
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to