mirror of
https://github.com/servo/servo.git
synced 2025-08-02 04:00:32 +01:00
canvas: Make 2D context state creation failable and use dom_canvas_backend
pref for backend selection (#38310)
Before script just crashed in those cases because IPCSender was dropped, now we send `None` to tell script about the failure and fail getContext or registerPainter accordingly. This PR also unifies `dom_canvas_{backends}_enabled` prefs into `dom_canvas_backend` which is more flexible in multi-backends scenarios. Reviewable per commit. Testing: Added servo specific WPT test. --------- Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This commit is contained in:
parent
93d234d270
commit
ae69646371
17 changed files with 116 additions and 61 deletions
|
@ -76,10 +76,14 @@ pub struct Preferences {
|
|||
pub dom_allow_scripts_to_close_windows: bool,
|
||||
pub dom_canvas_capture_enabled: bool,
|
||||
pub dom_canvas_text_enabled: bool,
|
||||
/// Uses vello as canvas backend
|
||||
pub dom_canvas_vello_enabled: bool,
|
||||
/// Uses vello_cpu as canvas backend
|
||||
pub dom_canvas_vello_cpu_enabled: bool,
|
||||
/// Selects canvas backend
|
||||
///
|
||||
/// Available values:
|
||||
/// - ` `/`auto`
|
||||
/// - raqote
|
||||
/// - vello
|
||||
/// - vello_cpu
|
||||
pub dom_canvas_backend: String,
|
||||
pub dom_clipboardevent_enabled: bool,
|
||||
pub dom_composition_event_enabled: bool,
|
||||
pub dom_cookiestore_enabled: bool,
|
||||
|
@ -259,8 +263,7 @@ impl Preferences {
|
|||
dom_bluetooth_testing_enabled: false,
|
||||
dom_canvas_capture_enabled: false,
|
||||
dom_canvas_text_enabled: true,
|
||||
dom_canvas_vello_enabled: false,
|
||||
dom_canvas_vello_cpu_enabled: false,
|
||||
dom_canvas_backend: String::new(),
|
||||
dom_clipboardevent_enabled: true,
|
||||
dom_composition_event_enabled: false,
|
||||
dom_cookiestore_enabled: false,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue