mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Include WebViewId
into EmbedderMsg variants where possible (#35211)
`EmbedderMsg` was previously paired with an implicit `Option<WebViewId>`, even though almost all variants were either always `Some` or always `None`, depending on whether there was a `WebView involved. This patch adds the `WebViewId` to as many `EmbedderMsg` variants as possible, so we can call their associated `WebView` delegate methods without needing to check and unwrap the `Option`. In many cases, this required more changes to plumb through the `WebViewId`. Notably, all `Request`s now explicitly need a `WebView` or not, in order to ensure that it is passed when appropriate. Signed-off-by: Delan Azabani <dazabani@igalia.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
9eeb602f7a
commit
5e9de2cb61
70 changed files with 809 additions and 753 deletions
|
@ -12,6 +12,7 @@ name = "bluetooth_traits"
|
|||
path = "lib.rs"
|
||||
|
||||
[dependencies]
|
||||
base = { workspace = true }
|
||||
embedder_traits = { workspace = true }
|
||||
ipc-channel = { workspace = true }
|
||||
regex = { workspace = true }
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
use std::collections::{HashMap, HashSet};
|
||||
use std::slice::Iter;
|
||||
|
||||
use base::id::WebViewId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
// A device name can never be longer than 29 bytes. An adv packet is at most
|
||||
|
@ -114,21 +115,28 @@ impl BluetoothScanfilterSequence {
|
|||
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
pub struct RequestDeviceoptions {
|
||||
webview_id: WebViewId,
|
||||
filters: BluetoothScanfilterSequence,
|
||||
optional_services: ServiceUUIDSequence,
|
||||
}
|
||||
|
||||
impl RequestDeviceoptions {
|
||||
pub fn new(
|
||||
webview_id: WebViewId,
|
||||
filters: BluetoothScanfilterSequence,
|
||||
services: ServiceUUIDSequence,
|
||||
) -> RequestDeviceoptions {
|
||||
RequestDeviceoptions {
|
||||
webview_id,
|
||||
filters,
|
||||
optional_services: services,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn webview_id(&self) -> WebViewId {
|
||||
self.webview_id
|
||||
}
|
||||
|
||||
pub fn get_filters(&self) -> &BluetoothScanfilterSequence {
|
||||
&self.filters
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue