File tree Expand file tree Collapse file tree 3 files changed +22
-10
lines changed Expand file tree Collapse file tree 3 files changed +22
-10
lines changed Original file line number Diff line number Diff line change @@ -232,6 +232,10 @@ void caml_unmount () {
232232 fprintf (stderr , "Unimplemented Javascript primitive caml_unmount!\n" );
233233 exit (1 );
234234}
235+ void caml_xmlhttprequest_create () {
236+ fprintf (stderr , "Unimplemented Javascript primitive caml_xmlhttprequest_create!\n" );
237+ exit (1 );
238+ }
235239void debugger () {
236240 fprintf (stderr , "Unimplemented Javascript primitive debugger!\n" );
237241 exit (1 );
Original file line number Diff line number Diff line change @@ -117,13 +117,4 @@ module Event = struct
117117 let loadend = Dom.Event. make " loadend"
118118end
119119
120- let create () : xmlHttpRequest Js.t =
121- let xmlHttpRequest = Js.Unsafe. global##._XMLHttpRequest in
122- let activeXObject = Js.Unsafe. global##.activeXObject in
123- try new % js xmlHttpRequest
124- with _ -> (
125- try new % js activeXObject (Js. string " Msxml2.XMLHTTP" )
126- with _ -> (
127- try new % js activeXObject (Js. string " Msxml3.XMLHTTP" )
128- with _ -> (
129- try new % js activeXObject (Js. string " Microsoft.XMLHTTP" ) with _ -> assert false )))
120+ external create : unit -> xmlHttpRequest Js .t = " caml_xmlhttprequest_create"
Original file line number Diff line number Diff line change @@ -249,3 +249,20 @@ function caml_js_export_var (){
249249 else
250250 return joo_global_object ;
251251}
252+
253+
254+ //Provides: caml_xmlhttprequest_create
255+ //Requires: caml_failwith
256+ //Weakdef
257+ function caml_xmlhttprequest_create ( unit ) {
258+ var g = joo_global_object ;
259+ if ( typeof g . XMLHttpRequest !== 'undefined' ) {
260+ try { return new g . XMLHttpRequest } catch ( e ) { } ;
261+ }
262+ if ( typeof g . activeXObject !== 'undefined' ) {
263+ try { return new g . activeXObject ( "Msxml2.XMLHTTP" ) } catch ( e ) { } ;
264+ try { return new g . activeXObject ( "Msxml3.XMLHTTP" ) } catch ( e ) { } ;
265+ try { return new g . activeXObject ( "Microsoft.XMLHTTP" ) } catch ( e ) { } ;
266+ }
267+ caml_failwith ( "Cannot create a XMLHttpRequest" ) ;
268+ }
You can’t perform that action at this time.
0 commit comments