aboutsummaryrefslogtreecommitdiffstats
path: root/components/devtools/actors/browsing_context.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/devtools/actors/browsing_context.rs')
-rw-r--r--components/devtools/actors/browsing_context.rs39
1 files changed, 11 insertions, 28 deletions
diff --git a/components/devtools/actors/browsing_context.rs b/components/devtools/actors/browsing_context.rs
index c4ead7272bd..5de0855df4a 100644
--- a/components/devtools/actors/browsing_context.rs
+++ b/components/devtools/actors/browsing_context.rs
@@ -31,6 +31,7 @@ use crate::actors::thread::ThreadActor;
use crate::actors::watcher::{SessionContext, SessionContextType, WatcherActor};
use crate::id::{DevtoolsBrowserId, DevtoolsBrowsingContextId, DevtoolsOuterWindowId, IdMap};
use crate::protocol::JsonPacketStream;
+use crate::resource::ResourceAvailable;
use crate::{EmptyReplyMsg, StreamId};
#[derive(Serialize)]
@@ -57,14 +58,6 @@ struct FrameUpdateMsg {
}
#[derive(Serialize)]
-struct ResourceAvailableReply<T: Serialize> {
- from: String,
- #[serde(rename = "type")]
- type_: String,
- array: Vec<(String, Vec<T>)>,
-}
-
-#[derive(Serialize)]
struct TabNavigated {
from: String,
#[serde(rename = "type")]
@@ -152,6 +145,16 @@ pub(crate) struct BrowsingContextActor {
pub watcher: String,
}
+impl ResourceAvailable for BrowsingContextActor {
+ fn actor_name(&self) -> String {
+ self.name.clone()
+ }
+
+ fn get_streams(&self) -> &RefCell<HashMap<StreamId, TcpStream>> {
+ &self.streams
+ }
+}
+
impl Actor for BrowsingContextActor {
fn name(&self) -> String {
self.name.clone()
@@ -358,26 +361,6 @@ impl BrowsingContextActor {
});
}
- pub(crate) fn resource_available<T: Serialize>(&self, resource: T, resource_type: String) {
- self.resources_available(vec![resource], resource_type);
- }
-
- pub(crate) fn resources_available<T: Serialize>(
- &self,
- resources: Vec<T>,
- resource_type: String,
- ) {
- let msg = ResourceAvailableReply::<T> {
- from: self.name(),
- type_: "resources-available-array".into(),
- array: vec![(resource_type, resources)],
- };
-
- for stream in self.streams.borrow_mut().values_mut() {
- let _ = stream.write_json_packet(&msg);
- }
- }
-
pub fn simulate_color_scheme(&self, theme: Theme) -> Result<(), ()> {
self.script_chan
.send(SimulateColorScheme(self.active_pipeline_id.get(), theme))