mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
base: Finish rename of TopLevelBrowsingContextId
to WebViewId
(#35896)
The `WebViewId` name is a lot more descriptive these days to the casual reader, so I think we can go ahead and finish the rename. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
81fe4bbb1e
commit
2464d0937f
22 changed files with 416 additions and 570 deletions
|
@ -275,61 +275,58 @@ impl fmt::Display for BrowsingContextGroupId {
|
|||
}
|
||||
}
|
||||
|
||||
thread_local!(pub static TOP_LEVEL_BROWSING_CONTEXT_ID: Cell<Option<TopLevelBrowsingContextId>> =
|
||||
thread_local!(pub static WEBVIEW_ID: Cell<Option<WebViewId>> =
|
||||
const { Cell::new(None) });
|
||||
|
||||
#[derive(
|
||||
Clone, Copy, Deserialize, Eq, Hash, MallocSizeOf, Ord, PartialEq, PartialOrd, Serialize,
|
||||
)]
|
||||
pub struct TopLevelBrowsingContextId(pub BrowsingContextId);
|
||||
/// An alias to ID of top level browsing context. A web view is usually what people would treat as
|
||||
/// a normal web page.
|
||||
pub type WebViewId = TopLevelBrowsingContextId;
|
||||
pub struct WebViewId(pub BrowsingContextId);
|
||||
|
||||
size_of_test!(TopLevelBrowsingContextId, 8);
|
||||
size_of_test!(Option<TopLevelBrowsingContextId>, 8);
|
||||
size_of_test!(WebViewId, 8);
|
||||
size_of_test!(Option<WebViewId>, 8);
|
||||
|
||||
impl fmt::Debug for TopLevelBrowsingContextId {
|
||||
impl fmt::Debug for WebViewId {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "TopLevel{:?}", self.0)
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for TopLevelBrowsingContextId {
|
||||
impl fmt::Display for WebViewId {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(f, "TopLevel{}", self.0)
|
||||
}
|
||||
}
|
||||
|
||||
impl TopLevelBrowsingContextId {
|
||||
pub fn new() -> TopLevelBrowsingContextId {
|
||||
TopLevelBrowsingContextId(BrowsingContextId::new())
|
||||
impl WebViewId {
|
||||
pub fn new() -> WebViewId {
|
||||
WebViewId(BrowsingContextId::new())
|
||||
}
|
||||
|
||||
/// Each script and layout thread should have the top-level browsing context id installed,
|
||||
/// since it is used by crash reporting.
|
||||
pub fn install(id: TopLevelBrowsingContextId) {
|
||||
TOP_LEVEL_BROWSING_CONTEXT_ID.with(|tls| tls.set(Some(id)))
|
||||
pub fn install(id: WebViewId) {
|
||||
WEBVIEW_ID.with(|tls| tls.set(Some(id)))
|
||||
}
|
||||
|
||||
pub fn installed() -> Option<TopLevelBrowsingContextId> {
|
||||
TOP_LEVEL_BROWSING_CONTEXT_ID.with(|tls| tls.get())
|
||||
pub fn installed() -> Option<WebViewId> {
|
||||
WEBVIEW_ID.with(|tls| tls.get())
|
||||
}
|
||||
}
|
||||
|
||||
impl From<TopLevelBrowsingContextId> for BrowsingContextId {
|
||||
fn from(id: TopLevelBrowsingContextId) -> BrowsingContextId {
|
||||
impl From<WebViewId> for BrowsingContextId {
|
||||
fn from(id: WebViewId) -> BrowsingContextId {
|
||||
id.0
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq<TopLevelBrowsingContextId> for BrowsingContextId {
|
||||
fn eq(&self, rhs: &TopLevelBrowsingContextId) -> bool {
|
||||
impl PartialEq<WebViewId> for BrowsingContextId {
|
||||
fn eq(&self, rhs: &WebViewId) -> bool {
|
||||
self.eq(&rhs.0)
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq<BrowsingContextId> for TopLevelBrowsingContextId {
|
||||
impl PartialEq<BrowsingContextId> for WebViewId {
|
||||
fn eq(&self, rhs: &BrowsingContextId) -> bool {
|
||||
self.0.eq(rhs)
|
||||
}
|
||||
|
@ -444,4 +441,4 @@ pub const TEST_BROWSING_CONTEXT_ID: BrowsingContextId = BrowsingContextId {
|
|||
index: TEST_BROWSING_CONTEXT_INDEX,
|
||||
};
|
||||
|
||||
pub const TEST_WEBVIEW_ID: WebViewId = TopLevelBrowsingContextId(TEST_BROWSING_CONTEXT_ID);
|
||||
pub const TEST_WEBVIEW_ID: WebViewId = WebViewId(TEST_BROWSING_CONTEXT_ID);
|
||||
|
|
|
@ -7,7 +7,7 @@ use std::fmt;
|
|||
use std::time::Duration;
|
||||
|
||||
use base::Epoch;
|
||||
use base::id::{BrowsingContextId, PipelineId, TopLevelBrowsingContextId, WebViewId};
|
||||
use base::id::{BrowsingContextId, PipelineId, WebViewId};
|
||||
use embedder_traits::{
|
||||
Cursor, InputEvent, MediaSessionActionType, Theme, TraversalDirection, WebDriverCommandMsg,
|
||||
};
|
||||
|
@ -28,19 +28,19 @@ pub enum ConstellationMsg {
|
|||
GetPipeline(BrowsingContextId, IpcSender<Option<PipelineId>>),
|
||||
/// Request that the constellation send the current focused top-level browsing context id,
|
||||
/// over a provided channel.
|
||||
GetFocusTopLevelBrowsingContext(IpcSender<Option<TopLevelBrowsingContextId>>),
|
||||
GetFocusTopLevelBrowsingContext(IpcSender<Option<WebViewId>>),
|
||||
/// Query the constellation to see if the current compositor output is stable
|
||||
IsReadyToSaveImage(HashMap<PipelineId, Epoch>),
|
||||
/// Whether to allow script to navigate.
|
||||
AllowNavigationResponse(PipelineId, bool),
|
||||
/// Request to load a page.
|
||||
LoadUrl(TopLevelBrowsingContextId, ServoUrl),
|
||||
LoadUrl(WebViewId, ServoUrl),
|
||||
/// Clear the network cache.
|
||||
ClearCache,
|
||||
/// Request to traverse the joint session history of the provided browsing context.
|
||||
TraverseHistory(TopLevelBrowsingContextId, TraversalDirection),
|
||||
TraverseHistory(WebViewId, TraversalDirection),
|
||||
/// Inform the constellation of a window being resized.
|
||||
WindowSize(TopLevelBrowsingContextId, WindowSizeData, WindowSizeType),
|
||||
WindowSize(WebViewId, WindowSizeData, WindowSizeType),
|
||||
/// Inform the constellation of a theme change.
|
||||
ThemeChange(Theme),
|
||||
/// Requests that the constellation instruct layout to begin a new tick of the animation.
|
||||
|
@ -48,17 +48,17 @@ pub enum ConstellationMsg {
|
|||
/// Dispatch a webdriver command
|
||||
WebDriverCommand(WebDriverCommandMsg),
|
||||
/// Reload a top-level browsing context.
|
||||
Reload(TopLevelBrowsingContextId),
|
||||
Reload(WebViewId),
|
||||
/// A log entry, with the top-level browsing context id and thread name
|
||||
LogEntry(Option<TopLevelBrowsingContextId>, Option<String>, LogEntry),
|
||||
LogEntry(Option<WebViewId>, Option<String>, LogEntry),
|
||||
/// Create a new top level browsing context.
|
||||
NewWebView(ServoUrl, TopLevelBrowsingContextId),
|
||||
NewWebView(ServoUrl, WebViewId),
|
||||
/// Close a top level browsing context.
|
||||
CloseWebView(TopLevelBrowsingContextId),
|
||||
CloseWebView(WebViewId),
|
||||
/// Panic a top level browsing context.
|
||||
SendError(Option<TopLevelBrowsingContextId>, String),
|
||||
SendError(Option<WebViewId>, String),
|
||||
/// Make a webview focused.
|
||||
FocusWebView(TopLevelBrowsingContextId),
|
||||
FocusWebView(WebViewId),
|
||||
/// Make none of the webviews focused.
|
||||
BlurWebView,
|
||||
/// Forward an input event to an appropriate ScriptTask.
|
||||
|
@ -68,11 +68,11 @@ pub enum ConstellationMsg {
|
|||
/// Enable the sampling profiler, with a given sampling rate and max total sampling duration.
|
||||
ToggleProfiler(Duration, Duration),
|
||||
/// Request to exit from fullscreen mode
|
||||
ExitFullScreen(TopLevelBrowsingContextId),
|
||||
ExitFullScreen(WebViewId),
|
||||
/// Media session action.
|
||||
MediaSessionAction(MediaSessionActionType),
|
||||
/// Set whether to use less resources, by stopping animations and running timers at a heavily limited rate.
|
||||
SetWebViewThrottled(TopLevelBrowsingContextId, bool),
|
||||
SetWebViewThrottled(WebViewId, bool),
|
||||
}
|
||||
|
||||
impl fmt::Debug for ConstellationMsg {
|
||||
|
|
|
@ -9,7 +9,7 @@ mod constellation_msg;
|
|||
use std::fmt::{Debug, Error, Formatter};
|
||||
|
||||
use base::Epoch;
|
||||
use base::id::{PipelineId, TopLevelBrowsingContextId, WebViewId};
|
||||
use base::id::{PipelineId, WebViewId};
|
||||
pub use constellation_msg::ConstellationMsg;
|
||||
use crossbeam_channel::{Receiver, Sender};
|
||||
use embedder_traits::{EventLoopWaker, MouseButton, MouseButtonAction};
|
||||
|
@ -63,7 +63,7 @@ pub enum CompositorMsg {
|
|||
/// Create or update a webview, given its frame tree.
|
||||
CreateOrUpdateWebView(SendableFrameTree),
|
||||
/// Remove a webview.
|
||||
RemoveWebView(TopLevelBrowsingContextId),
|
||||
RemoveWebView(WebViewId),
|
||||
/// Script has handled a touch event, and either prevented or allowed default actions.
|
||||
TouchEventProcessed(WebViewId, TouchEventResult),
|
||||
/// Composite to a PNG file and return the Image over a passed channel.
|
||||
|
@ -87,7 +87,7 @@ pub enum CompositorMsg {
|
|||
/// WebViewId and PipelienId.
|
||||
PendingPaintMetric(WebViewId, PipelineId, Epoch),
|
||||
/// The load of a page has completed
|
||||
LoadComplete(TopLevelBrowsingContextId),
|
||||
LoadComplete(WebViewId),
|
||||
/// WebDriver mouse button event
|
||||
WebDriverMouseButtonEvent(WebViewId, MouseButtonAction, MouseButton, f32, f32),
|
||||
/// WebDriver mouse move event
|
||||
|
@ -107,7 +107,7 @@ pub struct SendableFrameTree {
|
|||
#[derive(Clone)]
|
||||
pub struct CompositionPipeline {
|
||||
pub id: PipelineId,
|
||||
pub top_level_browsing_context_id: TopLevelBrowsingContextId,
|
||||
pub webview_id: WebViewId,
|
||||
pub script_chan: IpcSender<ScriptThreadMessage>,
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ use base::Epoch;
|
|||
use base::cross_process_instant::CrossProcessInstant;
|
||||
use base::id::{
|
||||
BlobId, BrowsingContextId, HistoryStateId, MessagePortId, PipelineId, PipelineNamespaceId,
|
||||
TopLevelBrowsingContextId, WebViewId,
|
||||
WebViewId,
|
||||
};
|
||||
use bitflags::bitflags;
|
||||
#[cfg(feature = "bluetooth")]
|
||||
|
@ -216,7 +216,7 @@ pub struct NewLayoutInfo {
|
|||
/// Id of the browsing context associated with this pipeline.
|
||||
pub browsing_context_id: BrowsingContextId,
|
||||
/// Id of the top-level browsing context associated with this pipeline.
|
||||
pub top_level_browsing_context_id: TopLevelBrowsingContextId,
|
||||
pub webview_id: WebViewId,
|
||||
/// Id of the opener, if any
|
||||
pub opener: Option<BrowsingContextId>,
|
||||
/// Network request data which will be initiated by the script thread.
|
||||
|
@ -337,7 +337,7 @@ pub enum ScriptThreadMessage {
|
|||
/// The source of the message.
|
||||
source: PipelineId,
|
||||
/// The top level browsing context associated with the source pipeline.
|
||||
source_browsing_context: TopLevelBrowsingContextId,
|
||||
source_browsing_context: WebViewId,
|
||||
/// The expected origin of the target.
|
||||
target_origin: Option<ImmutableOrigin>,
|
||||
/// The source origin of the message.
|
||||
|
@ -351,7 +351,7 @@ pub enum ScriptThreadMessage {
|
|||
UpdatePipelineId(
|
||||
PipelineId,
|
||||
BrowsingContextId,
|
||||
TopLevelBrowsingContextId,
|
||||
WebViewId,
|
||||
PipelineId,
|
||||
UpdatePipelineIdReason,
|
||||
),
|
||||
|
@ -497,7 +497,7 @@ pub struct InitialScriptState {
|
|||
/// The ID of the browsing context this script is part of.
|
||||
pub browsing_context_id: BrowsingContextId,
|
||||
/// The ID of the top-level browsing context this script is part of.
|
||||
pub top_level_browsing_context_id: TopLevelBrowsingContextId,
|
||||
pub webview_id: WebViewId,
|
||||
/// The ID of the opener, if any.
|
||||
pub opener: Option<BrowsingContextId>,
|
||||
/// Loading into a Secure Context
|
||||
|
@ -589,7 +589,7 @@ pub struct IFrameLoadInfo {
|
|||
/// The ID for this iframe's nested browsing context.
|
||||
pub browsing_context_id: BrowsingContextId,
|
||||
/// The ID for the top-level ancestor browsing context of this iframe's nested browsing context.
|
||||
pub top_level_browsing_context_id: TopLevelBrowsingContextId,
|
||||
pub webview_id: WebViewId,
|
||||
/// The new pipeline ID that the iframe has generated.
|
||||
pub new_pipeline_id: PipelineId,
|
||||
/// Whether this iframe should be considered private
|
||||
|
|
|
@ -8,8 +8,7 @@ use std::fmt;
|
|||
use base::Epoch;
|
||||
use base::id::{
|
||||
BroadcastChannelRouterId, BrowsingContextId, HistoryStateId, MessagePortId,
|
||||
MessagePortRouterId, PipelineId, ServiceWorkerId, ServiceWorkerRegistrationId,
|
||||
TopLevelBrowsingContextId, WebViewId,
|
||||
MessagePortRouterId, PipelineId, ServiceWorkerId, ServiceWorkerRegistrationId, WebViewId,
|
||||
};
|
||||
use canvas_traits::canvas::{CanvasId, CanvasMsg};
|
||||
use devtools_traits::{ScriptToDevtoolsControlMsg, WorkerId};
|
||||
|
@ -150,10 +149,7 @@ pub enum ScriptMsg {
|
|||
/// Notifies the constellation that this frame has received focus.
|
||||
Focus,
|
||||
/// Get the top-level browsing context info for a given browsing context.
|
||||
GetTopForBrowsingContext(
|
||||
BrowsingContextId,
|
||||
IpcSender<Option<TopLevelBrowsingContextId>>,
|
||||
),
|
||||
GetTopForBrowsingContext(BrowsingContextId, IpcSender<Option<WebViewId>>),
|
||||
/// Get the browsing context id of the browsing context in which pipeline is
|
||||
/// embedded and the parent pipeline id of that browsing context.
|
||||
GetBrowsingContextInfo(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue