Web Inspector: merge SourceMapManager into NetworkManager
[WebKit-https.git] / Source / WebInspectorUI / UserInterface / Test / Test.js
1 /*
2  * Copyright (C) 2013-2015 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
14  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
15  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
16  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
17  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
18  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 WI.loaded = function()
27 {
28     // Register observers for events from the InspectorBackend.
29     // The initialization order should match the same in Main.js.
30     InspectorBackend.registerInspectorDispatcher(new WI.InspectorObserver);
31     InspectorBackend.registerPageDispatcher(new WI.PageObserver);
32     InspectorBackend.registerConsoleDispatcher(new WI.ConsoleObserver);
33     InspectorBackend.registerNetworkDispatcher(new WI.NetworkObserver);
34     InspectorBackend.registerDOMDispatcher(new WI.DOMObserver);
35     InspectorBackend.registerDebuggerDispatcher(new WI.DebuggerObserver);
36     InspectorBackend.registerHeapDispatcher(new WI.HeapObserver);
37     InspectorBackend.registerMemoryDispatcher(new WI.MemoryObserver);
38     InspectorBackend.registerDOMStorageDispatcher(new WI.DOMStorageObserver);
39     InspectorBackend.registerScriptProfilerDispatcher(new WI.ScriptProfilerObserver);
40     InspectorBackend.registerTimelineDispatcher(new WI.TimelineObserver);
41     InspectorBackend.registerCSSDispatcher(new WI.CSSObserver);
42     InspectorBackend.registerLayerTreeDispatcher(new WI.LayerTreeObserver);
43     InspectorBackend.registerRuntimeDispatcher(new WI.RuntimeObserver);
44     InspectorBackend.registerWorkerDispatcher(new WI.WorkerObserver);
45     InspectorBackend.registerCanvasDispatcher(new WI.CanvasObserver);
46
47     WI.mainTarget = new WI.MainTarget;
48     WI.pageTarget = WI.sharedApp.debuggableType === WI.DebuggableType.Web ? WI.mainTarget : null;
49
50     // Instantiate controllers used by tests.
51     this.targetManager = new WI.TargetManager;
52     this.networkManager = new WI.NetworkManager;
53     this.domStorageManager = new WI.DOMStorageManager;
54     this.domManager = new WI.DOMManager;
55     this.cssManager = new WI.CSSManager;
56     this.consoleManager = new WI.ConsoleManager;
57     this.runtimeManager = new WI.RuntimeManager;
58     this.heapManager = new WI.HeapManager;
59     this.memoryManager = new WI.MemoryManager;
60     this.timelineManager = new WI.TimelineManager;
61     this.debuggerManager = new WI.DebuggerManager;
62     this.layerTreeManager = new WI.LayerTreeManager;
63     this.probeManager = new WI.ProbeManager;
64     this.workerManager = new WI.WorkerManager;
65     this.domDebuggerManager = new WI.DOMDebuggerManager;
66     this.canvasManager = new WI.CanvasManager;
67
68     document.addEventListener("DOMContentLoaded", this.contentLoaded);
69
70     // Enable agents.
71     InspectorAgent.enable();
72     ConsoleAgent.enable();
73
74     // Perform one-time tasks.
75     WI.CSSCompletions.requestCSSCompletions();
76
77     // Global settings.
78     this.showShadowDOMSetting = new WI.Setting("show-shadow-dom", true);
79 };
80
81 WI.contentLoaded = function()
82 {
83     // Signal that the frontend is now ready to receive messages.
84     InspectorFrontendAPI.loadCompleted();
85
86     // Tell the InspectorFrontendHost we loaded, which causes the window to display
87     // and pending InspectorFrontendAPI commands to be sent.
88     InspectorFrontendHost.loaded();
89 };
90
91 Object.defineProperty(WI, "targets",
92 {
93     get() { return this.targetManager.targets; }
94 });
95
96 WI.assumingMainTarget = () => WI.mainTarget;
97
98 WI.isDebugUIEnabled = () => false;
99
100 WI.unlocalizedString = (string) => string;
101 WI.UIString = (string) => string;
102
103 WI.indentString = () => "    ";
104
105 // Add stubs that are called by the frontend API.
106 WI.updateDockedState = () => {};
107 WI.updateDockingAvailability = () => {};
108 WI.updateVisibilityState = () => {};
109
110 window.InspectorTest = new FrontendTestHarness();
111
112 InspectorTest.redirectConsoleToTestOutput();
113
114 WI.reportInternalError = (e) => { console.error(e); };
115
116 window.reportUnhandledRejection = InspectorTest.reportUnhandledRejection.bind(InspectorTest);
117 window.onerror = InspectorTest.reportUncaughtExceptionFromEvent.bind(InspectorTest);