deps: Upgrade to webrender@0.66 (#35325)

In addition to some small API changes, this downstream version of
WebRender no longer depends on a very old version of time. This is the
last step toward removing the dependency on `time0.1`.

The review for this commit should also include: 9f552bebab

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2025-02-07 12:57:26 +01:00 committed by GitHub
parent 4721f47190
commit 643885e6f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 72 additions and 76 deletions

View file

@ -955,6 +955,7 @@ impl WebGLThread {
id: ExternalImageId(context_id.0),
channel_index: 0,
image_type: ExternalImageType::TextureHandle(image_buffer_kind),
normalized_uvs: false,
};
ImageData::External(data)
}

View file

@ -908,7 +908,7 @@ impl IOCompositor {
/// Queue a new frame in the transaction and increase the pending frames count.
fn generate_frame(&mut self, transaction: &mut Transaction, reason: RenderReasons) {
self.pending_frames += 1;
transaction.generate_frame(0, reason);
transaction.generate_frame(0, true /* present */, reason);
}
/// Sets or unsets the animations-running flag for the given pipeline, and schedules a

View file

@ -455,6 +455,7 @@ impl DisplayItem {
&[],
RasterSpace::Screen,
Default::default(),
None, // snapshot
);
IsContentful(false)

View file

@ -565,6 +565,7 @@ impl StackingContext {
&[], // filter_primitives
wr::RasterSpace::Screen,
wr::StackingContextFlags::empty(),
None, // snapshot
);
true

View file

@ -44,7 +44,7 @@ servo_config = { path = "../config" }
servo_url = { path = "../url" }
style = { workspace = true }
style_traits = { workspace = true }
time_03 = { workspace = true }
time = { workspace = true }
tracing = { workspace = true, optional = true }
url = { workspace = true }
webrender_api = { workspace = true }

View file

@ -100,7 +100,7 @@ use style::values::computed::font::GenericFontFamily;
use style::values::computed::{FontSize, Length, NonNegativeLength};
use style::values::specified::font::KeywordInfo;
use style_traits::{CSSPixel, SpeculativePainter};
use time_03::Duration;
use time::Duration;
use url::Url;
use webrender_api::units::DevicePixel;
use webrender_api::{units, ColorF, HitTestFlags};

View file

@ -60,7 +60,7 @@ servo_config = { path = "../config" }
servo_url = { path = "../url" }
sha2 = "0.10"
chrono = { workspace = true }
time_03 = { workspace = true }
time = { workspace = true }
tokio = { workspace = true, features = ["sync", "macros", "rt-multi-thread"] }
tokio-util = { version = "0.7.12", default-features = false, features = ["codec", "io"] }
tokio-rustls = { workspace = true }

View file

@ -8,7 +8,7 @@ use std::time::Duration as StdDuration;
use base::cross_process_instant::CrossProcessInstant;
use net::hsts::{HstsEntry, HstsList};
use net_traits::IncludeSubdomains;
use time_03::Duration;
use time::Duration;
#[test]
fn test_hsts_entry_is_not_expired_when_it_has_no_timestamp() {

View file

@ -18,7 +18,7 @@ profile_traits = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
servo_config = { path = "../config" }
time_03 = { workspace = true }
time = { workspace = true }
[target.'cfg(target_os = "macos")'.dependencies]
task_info = { path = "../../support/rust-task_info" }

View file

@ -17,7 +17,7 @@ use profile_traits::time::{
TimerMetadataFrameType, TimerMetadataReflowType,
};
use servo_config::opts::OutputOptions;
use time_03::Duration;
use time::Duration;
use crate::trace_dump::TraceDump;

View file

@ -117,7 +117,7 @@ style_traits = { workspace = true }
swapper = "0.1"
tempfile = "3"
tendril = { version = "0.4.1", features = ["encoding_rs"] }
time_03 = { workspace = true }
time = { workspace = true }
timers = { path = "../timers" }
tracing = { workspace = true, optional = true }
unicode-bidi = { workspace = true }

View file

@ -7,7 +7,7 @@ use std::sync::LazyLock;
use num_traits::Zero;
use regex::Regex;
pub use script_bindings::str::*;
use time_03::{Date, Month, OffsetDateTime, Time, Weekday};
use time::{Date, Month, OffsetDateTime, Time, Weekday};
/// <https://html.spec.whatwg.org/multipage/#parse-a-month-component>
fn parse_month_component(value: &str) -> Option<(i32, u32)> {

View file

@ -8,7 +8,7 @@ use dom_struct::dom_struct;
use js::rust::HandleObject;
use net_traits::filemanager_thread::SelectedFile;
use script_traits::serializable::BlobImpl;
use time_03::{Duration, OffsetDateTime};
use time::{Duration, OffsetDateTime};
use crate::dom::bindings::codegen::Bindings::FileBinding;
use crate::dom::bindings::codegen::Bindings::FileBinding::FileMethods;

View file

@ -30,7 +30,7 @@ use servo_atoms::Atom;
use style::attr::AttrValue;
use style::str::{split_commas, str_join};
use style_dom::ElementState;
use time_03::{Month, OffsetDateTime, Time};
use time::{Month, OffsetDateTime, Time};
use unicode_bidi::{bidi_class, BidiClass};
use url::Url;

View file

@ -256,6 +256,7 @@ impl VideoFrameRenderer for MediaFrameRenderer {
id: ExternalImageId(self.player_id.unwrap()),
channel_index: 0,
image_type: ExternalImageType::TextureHandle(texture_target),
normalized_uvs: false,
})
} else {
SerializableImageData::Raw(IpcSharedMemory::from_bytes(&frame.get_data()))
@ -289,6 +290,7 @@ impl VideoFrameRenderer for MediaFrameRenderer {
id: ExternalImageId(self.player_id.unwrap()),
channel_index: 0,
image_type: ExternalImageType::TextureHandle(texture_target),
normalized_uvs: false,
})
} else {
SerializableImageData::Raw(IpcSharedMemory::from_bytes(&frame.get_data()))

View file

@ -656,7 +656,7 @@ macro_rules! rooted_vec {
macro_rules! impl_performance_entry_struct(
($binding:ident, $struct:ident, $type:expr) => (
use base::cross_process_instant::CrossProcessInstant;
use time_03::Duration;
use time::Duration;
use crate::dom::bindings::reflector::reflect_dom_object;
use crate::dom::bindings::root::DomRoot;

View file

@ -8,7 +8,7 @@ use std::collections::VecDeque;
use base::cross_process_instant::CrossProcessInstant;
use dom_struct::dom_struct;
use time_03::Duration;
use time::Duration;
use super::bindings::refcounted::Trusted;
use crate::dom::bindings::cell::DomRefCell;

View file

@ -4,7 +4,7 @@
use base::cross_process_instant::CrossProcessInstant;
use dom_struct::dom_struct;
use time_03::Duration;
use time::Duration;
use super::performance::ToDOMHighResTimeStamp;
use crate::dom::bindings::codegen::Bindings::PerformanceBinding::DOMHighResTimeStamp;
@ -22,7 +22,7 @@ pub(crate) struct PerformanceEntry {
entry_type: DOMString,
#[no_trace]
start_time: Option<CrossProcessInstant>,
/// The duration of this [`PerformanceEntry`]. This is a [`time_03::Duration`],
/// The duration of this [`PerformanceEntry`]. This is a [`time::Duration`],
/// because it can be negative and `std::time::Duration` cannot be.
#[no_trace]
#[ignore_malloc_size_of = "No MallocSizeOf support for `time` crate"]

View file

@ -5,7 +5,7 @@
use base::cross_process_instant::CrossProcessInstant;
use dom_struct::dom_struct;
use script_traits::ProgressiveWebMetricType;
use time_03::Duration;
use time::Duration;
use crate::dom::bindings::reflector::reflect_dom_object;
use crate::dom::bindings::root::DomRoot;

View file

@ -6,7 +6,7 @@ use base::cross_process_instant::CrossProcessInstant;
use dom_struct::dom_struct;
use net_traits::ResourceFetchTiming;
use servo_url::ServoUrl;
use time_03::Duration;
use time::Duration;
use crate::dom::bindings::codegen::Bindings::PerformanceBinding::DOMHighResTimeStamp;
use crate::dom::bindings::codegen::Bindings::PerformanceResourceTimingBinding::PerformanceResourceTimingMethods;

View file

@ -6,7 +6,7 @@ use std::ops::Deref;
use base::cross_process_instant::CrossProcessInstant;
use dom_struct::dom_struct;
use time_03::Duration;
use time::Duration;
use crate::dom::bindings::codegen::Bindings::DocumentBinding::DocumentVisibilityState;
use crate::dom::bindings::codegen::Bindings::PerformanceEntryBinding::PerformanceEntryMethods;

View file

@ -20,7 +20,7 @@ malloc_size_of = { workspace = true }
malloc_size_of_derive = { workspace = true }
parking_lot = { workspace = true }
serde = { workspace = true }
time_03 = { workspace = true }
time = { workspace = true }
webrender_api = { workspace = true }
static_assertions = { workspace = true }

View file

@ -15,11 +15,11 @@ use std::ops::{Add, Sub};
use malloc_size_of_derive::MallocSizeOf;
use serde::{Deserialize, Serialize};
use time_03::Duration;
use time::Duration;
/// A monotonic, nanosecond precision timer that can be used cross-process. The value
/// stored internally is purposefully opaque as the origin is platform-specific. They can
/// be compared and [`time_03::Duration`] can be found by subtracting one from another.
/// be compared and [`time::Duration`] can be found by subtracting one from another.
/// The `time` crate is used in this case instead of `std::time` so that durations can
/// be negative.
#[derive(

View file

@ -22,5 +22,5 @@ log = { workspace = true }
serde = { workspace = true }
servo_config = { path = "../../config" }
signpost = { git = "https://github.com/pcwalton/signpost.git" }
time_03 = { workspace = true }
time = { workspace = true }
tracing = { workspace = true, optional = true }

View file

@ -7,7 +7,7 @@ use ipc_channel::ipc::IpcSender;
use log::warn;
use serde::{Deserialize, Serialize};
use servo_config::opts;
use time_03::Duration;
use time::Duration;
#[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
pub struct TimerMetadata {

View file

@ -23,4 +23,4 @@ euclid = { workspace = true }
ipc-channel = { workspace = true, optional = true }
log = { workspace = true }
serde = { workspace = true, optional = true }
time_03 = { workspace = true, optional = true }
time = { workspace = true, optional = true }

View file

@ -224,6 +224,7 @@ impl ContextData {
id: ExternalImageId(context_id.0),
channel_index: 0,
image_type: ExternalImageType::Buffer,
normalized_uvs: false,
});
Self {