diff --git a/lib/js_of_ocaml/dom_html.ml b/lib/js_of_ocaml/dom_html.ml index e2819856f7..a58215b441 100644 --- a/lib/js_of_ocaml/dom_html.ml +++ b/lib/js_of_ocaml/dom_html.ml @@ -27,7 +27,10 @@ let onIE = Js.to_bool (caml_js_on_ie ()) external html_escape : js_string t -> js_string t = "caml_js_html_escape" -external decode_html_entities : js_string t -> js_string t = "caml_js_html_entities" +external html_entities : js_string t -> js_string t opt = "caml_js_html_entities" + +let decode_html_entities s = + Js.Opt.get (html_entities s) (fun () -> failwith ("Invalid entity " ^ Js.to_string s)) class type cssStyleDeclaration = object method setProperty : diff --git a/runtime/jslib_js_of_ocaml.js b/runtime/jslib_js_of_ocaml.js index fa88452927..d54436c6bd 100644 --- a/runtime/jslib_js_of_ocaml.js +++ b/runtime/jslib_js_of_ocaml.js @@ -37,7 +37,6 @@ function caml_js_html_escape (s) { } //Provides: caml_js_html_entities -//Requires: caml_failwith function caml_js_html_entities(s) { var entity = /^&#?[0-9a-zA-Z]+;$/ if(s.match(entity)) @@ -49,7 +48,7 @@ function caml_js_html_entities(s) { return str; } else { - caml_failwith("Invalid entity " + s); + return null; } }