1635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project/* 22daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch * Copyright (C) 2011 Google Inc. All rights reserved. 30bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 4635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * Redistribution and use in source and binary forms, with or without 5635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * modification, are permitted provided that the following conditions are 6635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * met: 70bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 8635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * * Redistributions of source code must retain the above copyright 9635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * notice, this list of conditions and the following disclaimer. 10635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * * Redistributions in binary form must reproduce the above 11635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * copyright notice, this list of conditions and the following disclaimer 12635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * in the documentation and/or other materials provided with the 13635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * distribution. 14635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * * Neither the name of Google Inc. nor the names of its 15635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * contributors may be used to endorse or promote products derived from 16635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * this software without specific prior written permission. 170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 18635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project */ 30635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 312daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#ifndef WorkerInspectorController_h 322daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#define WorkerInspectorController_h 33635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 342daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if ENABLE(INSPECTOR) && ENABLE(WORKERS) 352daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 362daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include <wtf/FastAllocBase.h> 37e14391e94c850b8bd03680c23b38978db68687a8John Reck#include <wtf/Forward.h> 382daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include <wtf/Noncopyable.h> 392daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#include <wtf/OwnPtr.h> 40635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 41635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectnamespace WebCore { 42635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 432daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InjectedScriptManager; 442daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorDebuggerAgent; 452daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorBackendDispatcher; 462daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorFrontend; 472daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorFrontendChannel; 482daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorInstrumentation; 492daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorRuntimeAgent; 502daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InspectorState; 512daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass InstrumentingAgents; 522daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass WorkerContext; 5306ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 542daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochclass WorkerInspectorController { 552daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch WTF_MAKE_NONCOPYABLE(WorkerInspectorController); 562daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch WTF_MAKE_FAST_ALLOCATED; 5706ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenpublic: 582daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch WorkerInspectorController(WorkerContext*); 592daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch ~WorkerInspectorController(); 6006ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 612daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void connectFrontend(InspectorFrontendChannel*); 622daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void disconnectFrontend(); 632daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch void dispatchMessageFromFrontend(const String&); 6406ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen 6506ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsenprivate: 662daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch WorkerContext* m_workerContext; 672daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InspectorState> m_state; 682daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InstrumentingAgents> m_instrumentingAgents; 692daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InjectedScriptManager> m_injectedScriptManager; 702daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InspectorDebuggerAgent> m_debuggerAgent; 712daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InspectorRuntimeAgent> m_runtimeAgent; 725ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen 732daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InspectorFrontend> m_frontend; 742daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch OwnPtr<InspectorBackendDispatcher> m_backendDispatcher; 750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}; 76635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 772daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch} 782daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch 792daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif // ENABLE(WORKERS) 80d0825bca7fe65beaee391d30da42e937db621564Steve Block 812daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif // !defined(WorkerInspectorController_h) 82