|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 addOnPreMain(function() { |
|
6 |
|
7 onmessage = function(aMsg){ |
|
8 |
|
9 // Convert the string to an array of UTF8 bytes. |
|
10 var encoder = new TextEncoder(); |
|
11 encoder['encoding'] = "utf-8"; |
|
12 var utf8Array = encoder['encode'](aMsg.data); |
|
13 |
|
14 // Copy the UTF8 byte array to the heap. |
|
15 var strLength = utf8Array.length; |
|
16 var ptr = Module['_malloc'](strLength + 1); |
|
17 var heap = Module['HEAPU8']; |
|
18 new Uint8Array(heap.buffer, ptr, strLength).set(utf8Array); |
|
19 // Add a \0 at the end of the C string. |
|
20 heap[ptr + strLength] = 0; |
|
21 |
|
22 var lang = Pointer_stringify(_detectLangCode(ptr)); |
|
23 var confident = !!Module['ccall']("lastResultReliable", "number"); |
|
24 postMessage({'language': lang, |
|
25 'confident': confident}); |
|
26 |
|
27 Module['_free'](ptr); |
|
28 }; |
|
29 |
|
30 postMessage("ready"); |
|
31 |
|
32 }); |