| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.web; |
| |
| /// The debug service which allows to enable the DevTools service on Contexts. |
| [Discoverable] |
| protocol Debug { |
| /// Enables the DevTools service on every subsequent [`Context`] creation and delivers |
| /// subsequent DevTools events to the supplied `listener`. The callback indicates when the |
| /// WebEngine is in a debuggable state. Events will be sent to every `listener` registered with |
| /// this method. |
| EnableDevTools(DevToolsListener listener) -> (); |
| }; |
| |
| /// Interface used to observe DevTools service availability events. |
| protocol DevToolsListener { |
| /// Called when the DevTools service is available on a new [`Context`]. |
| /// |
| /// - `listener`: Channel over which DevTools events for the new [`Context`] will |
| /// be delivered. This channel will disconnect when the [`Context`] is destroyed. |
| OnContextDevToolsAvailable(request<DevToolsPerContextListener> listener); |
| }; |
| |
| /// Interface supplied by the debugging component to observe the DevTools service opening event. |
| protocol DevToolsPerContextListener { |
| /// Called when the DevTools service starts accepting TCP connections on `port`. `port` will |
| /// remain open until the [`Context`] is destroyed. |
| /// |
| /// - `port`: The port used by the service. |
| OnHttpPortOpen(uint16 port); |
| }; |