diff options
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/Test/Test.js')
-rw-r--r-- | Source/WebInspectorUI/UserInterface/Test/Test.js | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/Source/WebInspectorUI/UserInterface/Test/Test.js b/Source/WebInspectorUI/UserInterface/Test/Test.js new file mode 100644 index 000000000..f59bf7304 --- /dev/null +++ b/Source/WebInspectorUI/UserInterface/Test/Test.js @@ -0,0 +1,120 @@ +/* + * Copyright (C) 2013-2015 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +WebInspector.DebuggableType = { + Web: "web", + JavaScript: "javascript" +}; + +WebInspector.loaded = function() +{ + this.debuggableType = WebInspector.DebuggableType.Web; + this.hasExtraDomains = false; + + // Register observers for events from the InspectorBackend. + // The initialization order should match the same in Main.js. + InspectorBackend.registerInspectorDispatcher(new WebInspector.InspectorObserver); + InspectorBackend.registerPageDispatcher(new WebInspector.PageObserver); + InspectorBackend.registerConsoleDispatcher(new WebInspector.ConsoleObserver); + InspectorBackend.registerDOMDispatcher(new WebInspector.DOMObserver); + InspectorBackend.registerNetworkDispatcher(new WebInspector.NetworkObserver); + InspectorBackend.registerDebuggerDispatcher(new WebInspector.DebuggerObserver); + InspectorBackend.registerHeapDispatcher(new WebInspector.HeapObserver); + InspectorBackend.registerDOMStorageDispatcher(new WebInspector.DOMStorageObserver); + InspectorBackend.registerTimelineDispatcher(new WebInspector.TimelineObserver); + InspectorBackend.registerCSSDispatcher(new WebInspector.CSSObserver); + InspectorBackend.registerRuntimeDispatcher(new WebInspector.RuntimeObserver); + InspectorBackend.registerWorkerDispatcher(new WebInspector.WorkerObserver); + if (InspectorBackend.registerReplayDispatcher) + InspectorBackend.registerReplayDispatcher(new WebInspector.ReplayObserver); + + WebInspector.mainTarget = new WebInspector.MainTarget; + + // Instantiate controllers used by tests. + this.targetManager = new WebInspector.TargetManager; + this.frameResourceManager = new WebInspector.FrameResourceManager; + this.storageManager = new WebInspector.StorageManager; + this.domTreeManager = new WebInspector.DOMTreeManager; + this.cssStyleManager = new WebInspector.CSSStyleManager; + this.logManager = new WebInspector.LogManager; + this.issueManager = new WebInspector.IssueManager; + this.runtimeManager = new WebInspector.RuntimeManager; + this.heapManager = new WebInspector.HeapManager; + this.memoryManager = new WebInspector.MemoryManager; + this.timelineManager = new WebInspector.TimelineManager; + this.debuggerManager = new WebInspector.DebuggerManager; + this.probeManager = new WebInspector.ProbeManager; + this.workerManager = new WebInspector.WorkerManager; + this.replayManager = new WebInspector.ReplayManager; + + document.addEventListener("DOMContentLoaded", this.contentLoaded); + + // Enable agents. + InspectorAgent.enable(); + ConsoleAgent.enable(); + + // Perform one-time tasks. + WebInspector.CSSCompletions.requestCSSCompletions(); + + // Global settings. + this.showShadowDOMSetting = new WebInspector.Setting("show-shadow-dom", true); +}; + +WebInspector.contentLoaded = function() +{ + // Signal that the frontend is now ready to receive messages. + InspectorFrontendAPI.loadCompleted(); + + // Tell the InspectorFrontendHost we loaded, which causes the window to display + // and pending InspectorFrontendAPI commands to be sent. + InspectorFrontendHost.loaded(); +}; + +Object.defineProperty(WebInspector, "targets", +{ + get() { return this.targetManager.targets; } +}); + +WebInspector.assumingMainTarget = () => WebInspector.mainTarget; + +WebInspector.isDebugUIEnabled = () => false; + +WebInspector.UIString = (string) => string; + +WebInspector.indentString = () => " "; + +// Add stubs that are called by the frontend API. +WebInspector.updateDockedState = () => {}; +WebInspector.updateDockingAvailability = () => {}; +WebInspector.updateVisibilityState = () => {}; + +window.InspectorTest = new FrontendTestHarness(); + +InspectorTest.redirectConsoleToTestOutput(); + +WebInspector.reportInternalError = (e) => { console.error(e); }; + +window.reportUnhandledRejection = InspectorTest.reportUnhandledRejection.bind(InspectorTest); +window.onerror = InspectorTest.reportUncaughtExceptionFromEvent.bind(InspectorTest); |