summaryrefslogtreecommitdiff
path: root/chromium/qtwebengine/userscript/userscript.mojom
blob: 6fa0e24895b94d3e8fa4e138dd335b0bddcc238f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
module qtwebengine.mojom;

import "url/mojom/url.mojom";

enum InjectionPoint {
  AfterLoad,
  DocumentLoadFinished,
  DocumentElementCreation
};

struct UserScriptData {
  string source;
  url.mojom.Url url;
  uint8 injectionPoint = 0; // fixme : use InjectionPoint Enum
  bool injectForSubframes = false;
  uint8 worldId = 1;
  uint64 scriptId = 0;
  array<string> globs;
  array<string> excludeGlobs;
  array<string> urlPatterns;
};

// per frame
interface UserResourceControllerRenderFrame {
  AddScript(UserScriptData data);
  RemoveScript(UserScriptData data);
  ClearScripts();
};

// global
interface UserResourceController {
  AddScript(UserScriptData data);
  RemoveScript(UserScriptData data);
  ClearScripts();
};