mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Auto merge of #19374 - heycam:compute-color, r=TYLin
geckolib: Return from Servo_ComputeColor whether the value was currentcolor. Servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420026, reviewed there by TYLin. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19374) <!-- Reviewable:end -->
This commit is contained in:
commit
b8b5c5371f
2 changed files with 8 additions and 2 deletions
|
@ -1574,7 +1574,7 @@ extern "C" {
|
|||
} extern "C" {
|
||||
pub fn Servo_IsValidCSSColor ( value : * const nsAString , ) -> bool ;
|
||||
} extern "C" {
|
||||
pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , ) -> bool ;
|
||||
pub fn Servo_ComputeColor ( set : RawServoStyleSetBorrowedOrNull , current_color : nscolor , value : * const nsAString , result_color : * mut nscolor , was_current_color : * mut bool , ) -> bool ;
|
||||
} extern "C" {
|
||||
pub fn Servo_ParseIntersectionObserverRootMargin ( value : * const nsAString , result : * mut nsCSSRect , ) -> bool ;
|
||||
} extern "C" {
|
||||
|
@ -1587,4 +1587,4 @@ extern "C" {
|
|||
pub fn Gecko_ContentList_AppendAll ( aContentList : * mut nsSimpleContentList , aElements : * mut * const RawGeckoElement , aLength : usize , ) ;
|
||||
} extern "C" {
|
||||
pub fn Gecko_GetElementsWithId ( aDocument : * const nsIDocument , aId : * mut nsAtom , ) -> * const nsTArray < * mut Element > ;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4559,6 +4559,7 @@ pub extern "C" fn Servo_ComputeColor(
|
|||
current_color: structs::nscolor,
|
||||
value: *const nsAString,
|
||||
result_color: *mut structs::nscolor,
|
||||
was_current_color: *mut bool,
|
||||
) -> bool {
|
||||
use style::gecko;
|
||||
|
||||
|
@ -4593,6 +4594,11 @@ pub extern "C" fn Servo_ComputeColor(
|
|||
Some(computed_color) => {
|
||||
let rgba = computed_color.to_rgba(current_color);
|
||||
*result_color = gecko::values::convert_rgba_to_nscolor(&rgba);
|
||||
if !was_current_color.is_null() {
|
||||
unsafe {
|
||||
*was_current_color = computed_color.is_currentcolor();
|
||||
}
|
||||
}
|
||||
true
|
||||
}
|
||||
None => false,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue