UNPKG

selenium-webdriver

Version:

The official WebDriver JavaScript bindings from the Selenium project

95 lines (85 loc) 2.48 kB
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. /** * Represents a message received through a channel. * Described in https://w3c.github.io/webdriver-bidi/#event-script-message. * @class */ class Message { /** * Creates a new Message instance. * @param {string} channel - The channel through which the message is received. * @param {RemoteValue} data - The data contained in the message. * @param {Source} source - The source of the message. */ constructor(channel, data, source) { this._channel = channel this._data = data this._source = source } /** * Gets the channel through which the message is received. * @returns {string} The channel. */ get channel() { return this._channel } /** * Gets the data contained in the message. * @returns {RemoteValue} The data. */ get data() { return this._data } /** * Gets the source of the message. * @returns {Source} The source. */ get source() { return this._source } } /** * Represents a source object. * Described in https://w3c.github.io/webdriver-bidi/#type-script-Source. * @class */ class Source { constructor(source) { this._browsingContextId = null this._realmId = source.realm // Browsing context is returned as an optional parameter if ('context' in source) { this._browsingContextId = source.context } } /** * Get the browsing context ID. * @returns {string|null} The browsing context ID. */ get browsingContextId() { return this._browsingContextId } /** * Get the realm ID. * @returns {string} The realm ID. */ get realmId() { return this._realmId } } module.exports = { Message, Source }