Skip to content

Commit

Permalink
Bug 1298588 part 10, servo piece. Pass through useful default styles …
Browse files Browse the repository at this point in the history
…to apply_declarations(). r=bholley
  • Loading branch information
bzbarsky committed Jan 5, 2017
1 parent 61f6025 commit c826b18
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 5 deletions.
1 change: 1 addition & 0 deletions components/style/animation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,7 @@ fn compute_style_for_animation_step(context: &SharedStyleContext,
/* is_root = */ false,
iter,
previous_style,
&context.default_computed_values,
/* cascade_info = */ None,
context.error_reporter.clone(),
/* Metrics provider */ None,
Expand Down
3 changes: 2 additions & 1 deletion components/style/gecko_bindings/bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1248,7 +1248,8 @@ extern "C" {
-> RawServoDeclarationBlockStrong;
}
extern "C" {
pub fn Servo_RestyleWithAddedDeclaration(declarations:
pub fn Servo_RestyleWithAddedDeclaration(set: RawServoStyleSetBorrowed,
declarations:
RawServoDeclarationBlockBorrowed,
previous_style:
ServoComputedValuesBorrowed)
Expand Down
6 changes: 3 additions & 3 deletions components/style/properties/properties.mako.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1746,6 +1746,7 @@ pub fn cascade(viewport_size: Size2D<Au>,
is_root_element,
iter_declarations,
inherited_style,
default_style,
cascade_info,
error_reporter,
None,
Expand All @@ -1758,6 +1759,7 @@ pub fn apply_declarations<'a, F, I>(viewport_size: Size2D<Au>,
is_root_element: bool,
iter_declarations: F,
inherited_style: &ComputedValues,
default_style: &Arc<ComputedValues>,
mut cascade_info: Option<<&mut CascadeInfo>,
mut error_reporter: StdBox<ParseErrorReporter + Send>,
font_metrics_provider: Option<<&FontMetricsProvider>,
Expand All @@ -1784,8 +1786,6 @@ pub fn apply_declarations<'a, F, I>(viewport_size: Size2D<Au>,
::custom_properties::finish_cascade(
custom_properties, &inherited_custom_properties);

let initial_values = ComputedValues::initial_values();

let starting_style = if !flags.contains(INHERIT_ALL) {
ComputedValues::new(custom_properties,
flags.contains(SHAREABLE),
Expand All @@ -1795,7 +1795,7 @@ pub fn apply_declarations<'a, F, I>(viewport_size: Size2D<Au>,
% if style_struct.inherited:
inherited_style.clone_${style_struct.name_lower}(),
% else:
initial_values.clone_${style_struct.name_lower}(),
default_style.clone_${style_struct.name_lower}(),
% endif
% endfor
)
Expand Down
6 changes: 5 additions & 1 deletion ports/geckolib/glue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,8 @@ pub extern "C" fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed,
}

#[no_mangle]
pub extern "C" fn Servo_RestyleWithAddedDeclaration(declarations: RawServoDeclarationBlockBorrowed,
pub extern "C" fn Servo_RestyleWithAddedDeclaration(raw_data: RawServoStyleSetBorrowed,
declarations: RawServoDeclarationBlockBorrowed,
previous_style: ServoComputedValuesBorrowed)
-> ServoComputedValuesStrong
{
Expand All @@ -183,11 +184,14 @@ pub extern "C" fn Servo_RestyleWithAddedDeclaration(declarations: RawServoDeclar
guard.declarations.iter().rev().map(|&(ref decl, _importance)| decl)
};

let data = PerDocumentStyleData::from_ffi(raw_data).borrow();

// FIXME (bug 1303229): Use the actual viewport size here
let computed = apply_declarations(Size2D::new(Au(0), Au(0)),
/* is_root_element = */ false,
declarations,
previous_style,
&data.default_computed_values,
None,
Box::new(StdoutErrorReporter),
None,
Expand Down

0 comments on commit c826b18

Please sign in to comment.