@@ -8,34 +8,24 @@ if (!window.location.origin) {
88 (window.location.port ? (':' + window.location.port) : '');
99}
1010
11−Elm.Debugger = null;
12−Elm.debuggerAttach = function(module, hotSwapState /* =undefined */) {
13− return {
14− make: function(runtime) {
15− var wrappedModule = debugModule(module, runtime);
16− Elm.Debugger = debuggerInit(wrappedModule, runtime, hotSwapState);
17− dispatchElmDebuggerInit();
18− return wrappedModule.debuggedModule;
11+Elm.fullscreenDebugHooks = function(module, hotSwapState /* =undefined */) {
12+ var exposedDebugger = {};
13+ function debuggerAttach(module, hotSwapState) {
14+ return {
15+ make: function(runtime) {
16+ var wrappedModule = debugModule(module, runtime);
17+ exposedDebugger = debuggerInit(wrappedModule, runtime, hotSwapState);
18+ return wrappedModule.debuggedModule;
19+ }
1920 }
20− };
21+ }
22+ var mainHandle = Elm.fullscreen(debuggerAttach(module,hotSwapState));
23+ mainHandle.debugger = exposedDebugger;
24+ return mainHandle;
2125};
2226
2327var EVENTS_PER_SAVE = 100;
2428
25−function dispatchElmDebuggerInit() {
26− if (parent.window) {
27− var dispatch = function() {
28− parent.window.postMessage("elmDebuggerInit", window.location.origin);
29− };
30− if (parent.window.document.readyState === "complete") {
31− dispatch();
32− }
33− else {
34− parent.window.addEventListener("load", dispatch);
35− }
36− }
37−}
38−
3929function debugModule(module, runtime) {
4030 var programPaused = false;
4131 var recordedEvents = [];