File: debug_mem_leak.html

package info (click to toggle)
node-ace-code 1.40.1%2B~cs1.7.37-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,816 kB
  • sloc: javascript: 258,622; sh: 231; asm: 185; makefile: 130; xml: 85; jsp: 85; objc: 77; lisp: 52; cpp: 34; java: 34; tcl: 30; cobol: 30; pascal: 29; ruby: 27; vhdl: 25; fortran: 21; erlang: 17; python: 13; php: 12; perl: 11; haskell: 10; ml: 10; sql: 6; ada: 5; cs: 3
file content (59 lines) | stat: -rw-r--r-- 1,905 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <script src="../demo/kitchen-sink/require.js"></script>
        <script type="text/javascript">
            require.config({
                paths: { ace: "../lib/ace" },
                waitSeconds: 0
            });
        </script>
    </head>
    <body>
        <p><button onclick="toggleEditor()">Toggle editor</button></p>

        <div id="container"></div>
        <script>
            var editor;
            var counter = 0

            function toggleEditor() {
                if (!editor) {
                    var root = document.createElement("div");
                    root.style.height = "100px";
                    root.setAttribute("id", "editor");
                    root.textContent = "function foo(items) {\nvar x = 'All this is syntax highlighted';\nreturn x;\n}";

                    document.getElementById("container").appendChild(root);

                    editor = ace.edit(root);

                    if (counter++ % 2)
                        editor.setTheme("ace/theme/monokai");
                    else
                        editor.setTheme("ace/theme/clouds");

                    editor.session.setMode("ace/mode/javascript");
                } else {
                    editor.destroy();
                    var el = editor.container;
                    el.parentNode.removeChild(el);

                    editor.container = null
                    editor.renderer = null

                    editor = null;

                    var root = document.getElementById("editor")
                    if (root)
                        root.parentNode.removeChild(root);
                }
            }
            require(["ace/ace"], function(ace) {
                window.ace = ace;
                toggleEditor();            
            })
        </script>
    </body>
</html>