1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- // Copyright 2021 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.
- module extensions.mojom;
- import "extensions/common/mojom/css_origin.mojom";
- import "extensions/common/mojom/execution_world.mojom";
- import "third_party/blink/public/mojom/script/script_evaluation_params.mojom";
- import "url/mojom/url.mojom";
- // A single JS source to execute in the renderer.
- struct JSSource {
- // The Javascript code to execute.
- string code;
- // The URL of the script that was injected, if any.
- url.mojom.Url script_url;
- };
- // A single CSS source to execute in the renderer.
- struct CSSSource {
- // The CSS code to insert.
- string code;
- // A generated injection key for the CSS, which can be used to remove it
- // later.
- string? key;
- };
- // A struct representing a collection of JS code to inject in the renderer.
- struct JSInjection {
- // The JS sources to execute.
- array<JSSource> sources;
- // The JS world into which to inject the scripts.
- ExecutionWorld world;
- // Whether the caller is interested in the result value. Manifest-declared
- // content scripts and executeScript() calls without a response callback
- // are examples of when this will be `kNoResult`.
- blink.mojom.WantResultOption wants_result;
- // Whether the code to be executed with synthesized user activation.
- blink.mojom.UserActivationOption user_gesture;
- // For scripts that evaluate to promises, whether to wait for the resolution
- // of the resulting promises.
- blink.mojom.PromiseResultOption wait_for_promise;
- };
- // A struct representing a collection of CSS code to insert in the renderer.
- struct CSSInjection {
- enum Operation {
- kAdd,
- kRemove,
- };
- // The CSS sources to insert.
- array<CSSSource> sources;
- // The origin of the CSS.
- CSSOrigin css_origin;
- // The type of operation to perform.
- Operation operation;
- };
- // A single CodeInjection, which is allowed to contain exactly one of
- // CSS and JS.
- union CodeInjection {
- CSSInjection css;
- JSInjection js;
- };
|