Bug 1364824: Implement ServoRestyleManager::PostRebuildAllStyleDataEvent. r?heycam draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Mon, 15 May 2017 09:41:42 +0200
changeset 577790 45a0d0594de3decdfda34dd549d891c8a957537c
parent 577688 72dbfa516e3e3ca15dd9d588674adce8daea4b55
child 628589 b89d4370cb304a1b404cd399e6530ff298c75554
push id58787
push userbmo:emilio+bugs@crisal.io
push dateMon, 15 May 2017 11:12:15 +0000
reviewersheycam
bugs1364824
milestone55.0a1
Bug 1364824: Implement ServoRestyleManager::PostRebuildAllStyleDataEvent. r?heycam MozReview-Commit-ID: I9HmM9ZMB2c Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
layout/base/ServoRestyleManager.cpp
layout/reftests/font-face/reftest.list
layout/reftests/font-loading-api/reftest.list
--- a/layout/base/ServoRestyleManager.cpp
+++ b/layout/base/ServoRestyleManager.cpp
@@ -90,17 +90,19 @@ ServoRestyleManager::RebuildAllStyleData
   // non-inheriting anon boxes. It's not clear if we want to support that, but
   // if we do, we need to re-selector-match them here.
 }
 
 void
 ServoRestyleManager::PostRebuildAllStyleDataEvent(nsChangeHint aExtraHint,
                                                   nsRestyleHint aRestyleHint)
 {
-  NS_WARNING("stylo: ServoRestyleManager::PostRebuildAllStyleDataEvent not implemented");
+  // TODO(emilio): We should do the stylesheet flushing + device reset async
+  // here.
+  RebuildAllStyleData(aExtraHint, aRestyleHint);
 }
 
 /* static */ void
 ServoRestyleManager::ClearServoDataFromSubtree(Element* aElement)
 {
   if (!aElement->HasServoData()) {
     MOZ_ASSERT(!aElement->HasDirtyDescendantsForServo());
     return;
--- a/layout/reftests/font-face/reftest.list
+++ b/layout/reftests/font-face/reftest.list
@@ -70,17 +70,17 @@ HTTP(..) == unicoderange-4.html unicoder
 # we need to skip these because of the bug that's causing order-2.html to fail
 skip-if(stylo) HTTP(..) == enable-sheet-1.html enable-sheet-1-ref.html
 skip skip-if(stylo) HTTP(..) == enable-sheet-2.html multiple-in-family-1-ref.html
 skip HTTP(..) == enable-sheet-3.html multiple-in-family-1-ref.html
 fails-if(stylo) HTTP(..) == enable-sheet-4.html enable-sheet-4-ref.html # bug 1321769
 skip-if(stylo) HTTP(..) == enable-sheet-5.html enable-sheet-4-ref.html
 skip HTTP(..) == enable-sheet-6.html multiple-in-family-1-ref.html
 skip HTTP(..) == enable-sheet-7.html multiple-in-family-1-ref.html
-fails-if(stylo) HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html
+HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html
 # We're missing disable-sheet-{2,3,6,7} (analogs to
 # enable-sheet{2,3,6,7}) because I don't know how to detect test
 # completion for those cases.
 fails-if(stylo) HTTP(..) == disable-sheet-4.html disable-sheet-4-ref.html # bug 1321769
 skip-if(stylo) HTTP(..) == disable-sheet-5.html disable-sheet-4-ref.html
 HTTP(..) == sheet-set-base-1.html sheet-set-base-1-ref.html
 random-if(cocoaWidget) skip-if(stylo) HTTP(..) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217
 skip-if(stylo) HTTP(..) == insert-rule-1a.html insert-rule-1-ref.html
--- a/layout/reftests/font-loading-api/reftest.list
+++ b/layout/reftests/font-loading-api/reftest.list
@@ -1,11 +1,11 @@
 default-preferences pref(layout.css.font-loading-api.enabled,true)
 
-fails-if(stylo) HTTP(..) == dynamic-insert-1.html dynamic-insert-1-ref.html
-fails-if(stylo) HTTP(..) == dynamic-remove-1.html dynamic-remove-1-ref.html
+HTTP(..) == dynamic-insert-1.html dynamic-insert-1-ref.html
+HTTP(..) == dynamic-remove-1.html dynamic-remove-1-ref.html
 fails-if(stylo) HTTP(..) == ex-unit-1.html ../font-face/ex-unit-1-ref.html
 fuzzy-if(skiaContent,2,10) HTTP(..) == multiple-sets-1.html multiple-sets-1-ref.html
 HTTP(..) == name-collision.html ../font-face/name-collision-ref.html
 HTTP(..) == order-1.html ../font-face/order-1-ref.html
 HTTP(..) == src-list-1.html ../font-face/src-list-1-ref.html
 HTTP(..) == src-list-2.html ../font-face/src-list-2-ref.html
 HTTP(..) == src-list-data-1.html ../font-face/src-list-data-ref.html