Store resolved font style in canvas context state

This commit is contained in:
Utsav Oza 2020-06-03 15:47:44 +05:30
parent 5493424d9a
commit 15fd256302
11 changed files with 81 additions and 49 deletions

View file

@ -117,7 +117,7 @@ pub enum QueryMsg {
ResolvedStyleQuery(TrustedNodeAddress, Option<PseudoElement>, PropertyId),
StyleQuery,
ElementInnerTextQuery(TrustedNodeAddress),
ParseFontQuery(TrustedNodeAddress, PropertyId, String),
ResolvedFontStyleQuery(TrustedNodeAddress, PropertyId, String),
InnerWindowDimensionsQuery(BrowsingContextId),
}
@ -146,7 +146,7 @@ impl ReflowGoal {
QueryMsg::NodeScrollGeometryQuery(_) |
QueryMsg::NodeScrollIdQuery(_) |
QueryMsg::ResolvedStyleQuery(..) |
QueryMsg::ParseFontQuery(..) |
QueryMsg::ResolvedFontStyleQuery(..) |
QueryMsg::OffsetParentQuery(_) |
QueryMsg::StyleQuery => false,
},
@ -168,7 +168,7 @@ impl ReflowGoal {
QueryMsg::NodeScrollGeometryQuery(_) |
QueryMsg::NodeScrollIdQuery(_) |
QueryMsg::ResolvedStyleQuery(..) |
QueryMsg::ParseFontQuery(..) |
QueryMsg::ResolvedFontStyleQuery(..) |
QueryMsg::OffsetParentQuery(_) |
QueryMsg::InnerWindowDimensionsQuery(_) |
QueryMsg::StyleQuery => false,

View file

@ -7,7 +7,7 @@ use euclid::default::Rect;
use euclid::Size2D;
use script_traits::UntrustedNodeAddress;
use servo_arc::Arc;
use style::properties::ComputedValues;
use style::properties::style_structs::Font;
use style_traits::CSSPixel;
use webrender_api::ExternalScrollId;
@ -32,8 +32,8 @@ pub trait LayoutRPC {
fn node_scroll_id(&self) -> NodeScrollIdResponse;
/// Query layout for the resolved value of a given CSS property
fn resolved_style(&self) -> ResolvedStyleResponse;
/// Query layout to get the parsed font property for canvas.
fn parsed_font(&self) -> Option<Arc<ComputedValues>>;
/// Query layout to get the resolved font style for canvas.
fn resolved_font_style(&self) -> Option<Arc<Font>>;
fn offset_parent(&self) -> OffsetParentResponse;
fn text_index(&self) -> TextIndexResponse;
/// Requests the list of nodes from the given point.