Commit 295dfaf5 authored by Hongchan Choi's avatar Hongchan Choi Committed by Commit Bot

[WebAudio DevTools] Report graph connection events

This is a follow-up of:
https://chromium-review.googlesource.com/c/chromium/src/+/1724499

This CL introduces new reporting methods to the AudioGraphTracer
class to notify when the graph object connection/disconnection to
the devtool frontend.

The actual reporting code to InspectorWebAudioAgent will be implemented
by the follow-up CLs.

Bug: 970898
Change-Id: Idd00e73f8aec36f2812c4ee60b6bf42d1a2bbd39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1726957
Commit-Queue: Hongchan Choi <hongchan@chromium.org>
Reviewed-by: default avatarRaymond Toy <rtoy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683210}
parent e41d7e4d
...@@ -49,7 +49,24 @@ class MODULES_EXPORT AudioGraphTracer final ...@@ -49,7 +49,24 @@ class MODULES_EXPORT AudioGraphTracer final
void DidCreateAudioParam(AudioParam*) {} void DidCreateAudioParam(AudioParam*) {}
void WillDestroyAudioParam(AudioParam*) {} void WillDestroyAudioParam(AudioParam*) {}
// Notify an associated inspector agent when a BaseAudioContext is changed. // Graph connection events: notifies an associated inspector agent about
// when a connection between graph objects happens.
void DidConnectNodes(AudioNode* source_node,
AudioNode* destination_node,
unsigned source_output_index = 0,
unsigned destination_input_index = 0) {}
void DidDisconnectNodes(AudioNode* source_node,
AudioNode* destination_node = nullptr,
unsigned source_output_index = 0,
unsigned destination_input_index = 0) {}
void DidConnectNodeParam(AudioNode* source_node,
AudioParam* destination_param,
unsigned source_output_index = 0) {}
void DidDisconnectNodeParam(AudioNode* source_node,
AudioParam* destination_param,
unsigned source_output_index = 0) {}
// Notifies an associated inspector agent when a BaseAudioContext is changed.
void DidChangeBaseAudioContext(BaseAudioContext*); void DidChangeBaseAudioContext(BaseAudioContext*);
BaseAudioContext* GetContextById(const String contextId); BaseAudioContext* GetContextById(const String contextId);
......
...@@ -742,6 +742,8 @@ AudioNode* AudioNode::connect(AudioNode* destination, ...@@ -742,6 +742,8 @@ AudioNode* AudioNode::connect(AudioNode* destination,
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidConnectNodes(this, destination, output_index, input_index);
return destination; return destination;
} }
...@@ -784,6 +786,8 @@ void AudioNode::connect(AudioParam* param, ...@@ -784,6 +786,8 @@ void AudioNode::connect(AudioParam* param,
connected_params_[output_index]->insert(param); connected_params_[output_index]->insert(param);
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidConnectNodeParam(this, param, output_index);
} }
void AudioNode::DisconnectAllFromOutput(unsigned output_index) { void AudioNode::DisconnectAllFromOutput(unsigned output_index) {
...@@ -825,6 +829,8 @@ void AudioNode::disconnect() { ...@@ -825,6 +829,8 @@ void AudioNode::disconnect() {
DisconnectAllFromOutput(i); DisconnectAllFromOutput(i);
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodes(this);
} }
void AudioNode::disconnect(unsigned output_index, void AudioNode::disconnect(unsigned output_index,
...@@ -846,6 +852,8 @@ void AudioNode::disconnect(unsigned output_index, ...@@ -846,6 +852,8 @@ void AudioNode::disconnect(unsigned output_index,
DisconnectAllFromOutput(output_index); DisconnectAllFromOutput(output_index);
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodes(this, nullptr, output_index);
} }
void AudioNode::disconnect(AudioNode* destination, void AudioNode::disconnect(AudioNode* destination,
...@@ -876,6 +884,8 @@ void AudioNode::disconnect(AudioNode* destination, ...@@ -876,6 +884,8 @@ void AudioNode::disconnect(AudioNode* destination,
} }
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodes(this, destination);
} }
void AudioNode::disconnect(AudioNode* destination, void AudioNode::disconnect(AudioNode* destination,
...@@ -914,6 +924,8 @@ void AudioNode::disconnect(AudioNode* destination, ...@@ -914,6 +924,8 @@ void AudioNode::disconnect(AudioNode* destination,
} }
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodes(this, destination, output_index);
} }
void AudioNode::disconnect(AudioNode* destination, void AudioNode::disconnect(AudioNode* destination,
...@@ -955,6 +967,9 @@ void AudioNode::disconnect(AudioNode* destination, ...@@ -955,6 +967,9 @@ void AudioNode::disconnect(AudioNode* destination,
} }
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodes(
this, destination, output_index, input_index);
} }
void AudioNode::disconnect(AudioParam* destination_param, void AudioNode::disconnect(AudioParam* destination_param,
...@@ -981,6 +996,8 @@ void AudioNode::disconnect(AudioParam* destination_param, ...@@ -981,6 +996,8 @@ void AudioNode::disconnect(AudioParam* destination_param,
} }
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodeParam(this, destination_param);
} }
void AudioNode::disconnect(AudioParam* destination_param, void AudioNode::disconnect(AudioParam* destination_param,
...@@ -1010,6 +1027,8 @@ void AudioNode::disconnect(AudioParam* destination_param, ...@@ -1010,6 +1027,8 @@ void AudioNode::disconnect(AudioParam* destination_param,
} }
Handler().UpdatePullStatusIfNeeded(); Handler().UpdatePullStatusIfNeeded();
GraphTracer().DidDisconnectNodeParam(this, destination_param, output_index);
} }
unsigned AudioNode::numberOfInputs() const { unsigned AudioNode::numberOfInputs() const {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment