blob: d1cdab307f12fe49ff7488faae2c9c024434d8a3 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
'use strict';
goog.require('mojo.internal');
goog.require('mojo.internal.interfaceSupport');
goog.require('blink.mojom.RendererPreferences');
goog.provide('blink.mojom.RendererPreferenceWatcher');
goog.provide('blink.mojom.RendererPreferenceWatcherCallbackRouter');
goog.provide('blink.mojom.RendererPreferenceWatcherInterface');
goog.provide('blink.mojom.RendererPreferenceWatcherProxy');
goog.provide('blink.mojom.RendererPreferenceWatcherRequest');
/** @export */
blink.mojom.RendererPreferenceWatcherRequest = class {
/** @param {!MojoHandle} handle */
constructor(handle) {
/** @public {!MojoHandle} */
this.handle = handle;
}
};
/** @interface */
blink.mojom.RendererPreferenceWatcherInterface = class {
/**
* @param { !blink.mojom.RendererPreferences } newPrefs
*/
notifyUpdate(newPrefs) {}
};
/**
* @export
* @implements { blink.mojom.RendererPreferenceWatcherInterface }
*/
blink.mojom.RendererPreferenceWatcherProxy = class {
/** @param {MojoHandle=} opt_handle */
constructor(opt_handle) {
/**
* @private {!mojo.internal.interfaceSupport.InterfaceRemoteBase<!blink.mojom.RendererPreferenceWatcherRequest>}
*/
this.proxy =
new mojo.internal.interfaceSupport.InterfaceRemoteBase(
blink.mojom.RendererPreferenceWatcherRequest,
opt_handle);
/**
* @public {!mojo.internal.interfaceSupport.InterfaceRemoteBaseWrapper<!blink.mojom.RendererPreferenceWatcherRequest>}
*/
this.$ = new mojo.internal.interfaceSupport.InterfaceRemoteBaseWrapper(this.proxy);
/** @public {!mojo.internal.interfaceSupport.ConnectionErrorEventRouter} */
this.onConnectionError = this.proxy.getConnectionErrorEventRouter();
}
/**
* @param { !blink.mojom.RendererPreferences } newPrefs
*/
notifyUpdate(
newPrefs) {
this.proxy.sendMessage(
2034089175,
blink.mojom.RendererPreferenceWatcher_NotifyUpdate_ParamsSpec.$,
null,
[
newPrefs
]);
}
};
/**
* An object which receives request messages for the RendererPreferenceWatcher
* mojom interface. Must be constructed over an object which implements that
* interface.
*
* @export
*/
blink.mojom.RendererPreferenceWatcher = class {
/**
* @param {!blink.mojom.RendererPreferenceWatcherInterface } impl
*/
constructor(impl) {
this.receiver_ = new mojo.internal.interfaceSupport.InterfaceReceiver;
this.receiver_.registerHandler(
2034089175,
blink.mojom.RendererPreferenceWatcher_NotifyUpdate_ParamsSpec.$,
null,
impl.notifyUpdate.bind(impl));
/** @public {!mojo.internal.interfaceSupport.ConnectionErrorEventRouter} */
this.onConnectionError = this.receiver_.getConnectionErrorEventRouter();
}
/**
* Binds a new handle to this object. Messages which arrive on the handle will
* be read and dispatched to this object.
*
* @param {!MojoHandle} handle
* @export
*/
bindHandle(handle) {
this.receiver_.bindHandle(handle);
}
/**
* Closes all bindings bound to this target.
*
* @export
*/
closeBindings() {
this.receiver_.closeBindings();
}
/**
* Returns a proxy for this interface which sends messages to the browser.
* The browser must have an interface request binder registered for this
* interface and accessible to the calling document's frame.
*
* @return {!blink.mojom.RendererPreferenceWatcherProxy}
* @export
*/
static getProxy() {
let proxy = new blink.mojom.RendererPreferenceWatcherProxy;
Mojo.bindInterface('blink.mojom.RendererPreferenceWatcher',
proxy.$.bindNewPipeAndPassReceiver().handle);
return proxy;
}
/**
* Returns a proxy for this interface which sends messages directly to this
* object. Any number of proxies may be created to the same object.
*
* @return {!blink.mojom.RendererPreferenceWatcherProxy}
* @export
*/
createProxy() {
let proxy = new blink.mojom.RendererPreferenceWatcherProxy;
this.receiver_.bindHandle(proxy.$.bindNewPipeAndPassReceiver().handle);
return proxy;
}
};
/**
* @const {string}
* @export
*/
blink.mojom.RendererPreferenceWatcher.$interfaceName =
'blink.mojom.RendererPreferenceWatcher';
/**
* An object which receives request messages for the RendererPreferenceWatcher
* mojom interface and dispatches them as callbacks. One callback receiver exists
* on this object for each message defined in the mojom interface, and each
* receiver can have any number of listeners added to it.
*
* @export
*/
blink.mojom.RendererPreferenceWatcherCallbackRouter = class {
constructor() {
this.receiver_ = new mojo.internal.interfaceSupport.InterfaceReceiver;
this.router_ = new mojo.internal.interfaceSupport.CallbackRouter;
/**
* @public {!mojo.internal.interfaceSupport.InterfaceCallbackReceiver}
*/
this.notifyUpdate =
new mojo.internal.interfaceSupport.InterfaceCallbackReceiver(
this.router_);
this.receiver_.registerHandler(
2034089175,
blink.mojom.RendererPreferenceWatcher_NotifyUpdate_ParamsSpec.$,
null,
this.notifyUpdate.createReceiverHandler(false /* expectsResponse */));
/** @public {!mojo.internal.interfaceSupport.ConnectionErrorEventRouter} */
this.onConnectionError = this.receiver_.getConnectionErrorEventRouter();
}
/**
* Binds a new handle to this object. Messages which arrive on the handle will
* be read and dispatched as callbacks on this object.
*
* @param {!MojoHandle} handle
* @export
*/
bindHandle(handle) {
this.receiver_.bindHandle(handle);
}
/**
* Closes all bindings bound to this receiver. The receiver will not receive any
* further message message events unless rebound to one or more handles.
*/
closeBindings() {
this.receiver_.closeBindings();
}
/**
* Returns a proxy for this interface which sends messages directly to this
* object. Any number of proxies may be created to the same object.
*
* @return {!blink.mojom.RendererPreferenceWatcherProxy}
* @export
*/
createProxy() {
let proxy = new blink.mojom.RendererPreferenceWatcherProxy;
this.receiver_.bindHandle(proxy.$.bindNewPipeAndPassReceiver().handle);
return proxy;
}
/**
* @param {number} id An ID returned by a prior call to addListener.
* @return {boolean} True iff the identified listener was found and removed.
* @export
*/
removeListener(id) {
return this.router_.removeListener(id);
}
};
goog.provide('blink.mojom.RendererPreferenceWatcher_NotifyUpdate_ParamsSpec');
/**
* @const { {$:!mojo.internal.MojomType}}
* @export
*/
blink.mojom.RendererPreferenceWatcher_NotifyUpdate_ParamsSpec =
{ $: /** @type {!mojo.internal.MojomType} */ ({}) };
mojo.internal.Struct(
blink.mojom.RendererPreferenceWatcher_NotifyUpdate_ParamsSpec.$,
'RendererPreferenceWatcher_NotifyUpdate_Params',
8,
[
mojo.internal.StructField(
'newPrefs', 0,
0,
blink.mojom.RendererPreferencesSpec.$,
null,
false /* nullable */),
]);
goog.provide('blink.mojom.RendererPreferenceWatcher_NotifyUpdate_Params');
/**
* @typedef { {
* newPrefs: !blink.mojom.RendererPreferences,
* } }
*/
blink.mojom.RendererPreferenceWatcher_NotifyUpdate_Params;