pub enum EdgeType {
Show 31 variants
CrossDom {},
TextChange {},
RemoveNode {},
DeleteNode {},
InsertNode {
parent: HtmlElementId,
before: Option<HtmlElementId>,
},
CreateNode {},
JsResult {
value: Option<String>,
},
JsCall {
args: Option<String>,
script_position: usize,
},
RequestComplete {
resource_type: String,
status: String,
value: Option<String>,
response_hash: Option<String>,
request_id: usize,
headers: String,
size: String,
},
RequestError {
status: String,
request_id: usize,
value: Option<String>,
headers: String,
size: String,
},
RequestStart {
request_type: RequestType,
status: String,
request_id: usize,
},
RequestResponse,
AddEventListener {
key: String,
event_listener_id: usize,
script_id: ScriptId,
},
RemoveEventListener {
key: String,
event_listener_id: usize,
script_id: ScriptId,
},
EventListener {
key: String,
event_listener_id: usize,
},
StorageSet {
key: String,
value: Option<String>,
},
StorageReadResult {
key: String,
value: Option<String>,
},
DeleteStorage {
key: String,
},
ReadStorageCall {
key: String,
},
ClearStorage {
key: String,
},
ExecuteFromAttribute {
attr_name: HtmlAttr,
},
Execute {},
SetAttribute {
key: HtmlAttr,
value: Option<String>,
is_style: bool,
},
DeleteAttribute {
key: HtmlAttr,
is_style: bool,
},
Binding {},
BindingEvent {
script_position: usize,
},
Filter {},
Structure {},
Shield {},
ResourceBlock {},
StorageBucket {},
}Expand description
Represents the type of any PageGraph edge, along with any associated type-specific data. Edges in PageGraph represent actions taken by some actor in the page (e.g., a JavaScript code unit), being performed on some other element in the page (e.g., a resource being fetched). Edges are outgoing from the actor, and incoming to the actee.
Variants§
CrossDom
TextChange
RemoveNode
RemoveNode edges encode a HTML element being removed from the DOM
tree.
The actor node will be the Script node
that is removing a HTML element from the document.
The actee node will be the HtmlElement](NodeType::HtmlElement) node
being removed from the document.
DeleteNode
DeleteNode edges encode a HTML element being deleted by JavaScript
code. Note that this is a distinct action from merely removing an
HTML element from a document (which is encoded with a
RemoveNode edge).
The actor node will be the Script node
that is delete a HTML element.
The actee node will be the HtmlElement](NodeType::HtmlElement) node
being deleted.
InsertNode
InsertNode edges encode a HTML element being inserted into a DOM
tree.
The actor node will either be the Parser
(indicating that the element was inserted into the document because
of text being parsed, most often from the initial HTML document)
or a Script node (indicating that the element
was inserted into the document dynamically).
The actee node will be a HtmlElement node
depicting the HTML element being inserted into the document.
Fields
parent: HtmlElementIdThe identifier of the DOM element the actee
HtmlElement node is being inserted
beneath in the document.
before: Option<HtmlElementId>The identifier of the prior sibling DOM element the actee
HtmlElement node is being inserted
before in the document. If this value is not present, it indicates
that the actee node was the first child of the parent node at
insertion time,
CreateNode
CreateNode edges encode that an HTML element that was created during
the execution of the page.
The actor node will either be the Parser
(indicating that the element was created because it was defined in
text parsed by the blink parser) or a Script node
(indicating that the element was dynamically created by a JavaScript
code unit (e.g., document.createElement).
The actee node will be a HtmlElement node
depicting the HTML element that was created.
JsResult
JsResult edges encode a value being returned from a property read
or a function call in JavaScript code.
The actor node will be either a WebApi node
(representing the WebAPI method or property that was called) or
a JsBuiltin node (representing
an instrumented method or function thats defined as part of
ECMAScript).
The actee node will be a Script node
representing the JavaScript code unit that the value is being
returned to.
Fields
JsCall
JsCall edges encode a JavaScript function/method being called
by JavaScript code.
The actor node will be Script node, representing
the JavaScript code unit calling the property, function, or method.
The actee node will be either a WebApi node
(representing the WebAPI method or property being called) or
a JsBuiltin node (representing
an instrumented method or function thats defined as part of
ECMAScript being called).
Fields
RequestComplete
Fields
RequestError
RequestStart
RequestResponse
AddEventListener
RemoveEventListener
EventListener
StorageSet
StorageReadResult
DeleteStorage
ReadStorageCall
ClearStorage
ExecuteFromAttribute
Execute
SetAttribute
SetAttribute edges encode JavaScript code setting an attribute
on a HTML element.
The actor node will be Script node, representing
the JavaScript code setting the attribute.
The actee node will be a HtmlElement node,
representing the HTML element that is having an attribute set on it.
Fields
DeleteAttribute
DeleteAttribute edges encode JavaScript code deleting an attribute
from a HTML element.
The actor node will be Script node, representing
the JavaScript code deleting the attribute.
The actee node will be a HtmlElement node,
representing the HTML element that is having the attribute deleted.