зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1347411 part 1. Make sure to correctly update anon boxes belonging to ::before/::after pseudo-elements. r=heycam
MozReview-Commit-ID: AzF9WdUo1E
This commit is contained in:
Родитель
bdfa7e2a7c
Коммит
2745162ccf
|
@ -259,6 +259,13 @@ ServoRestyleManager::ProcessPostTraversal(Element* aElement,
|
|||
MOZ_ASSERT(pseudoContext, "should have taken the ReconstructFrame path above");
|
||||
pseudoFrame->SetStyleContext(pseudoContext);
|
||||
|
||||
if (pseudoFrame->GetStateBits() & NS_FRAME_OWNS_ANON_BOXES) {
|
||||
// XXX It really would be good to pass the actual changehint for our
|
||||
// ::before/::after here, but we never computed it!
|
||||
pseudoFrame->UpdateStyleOfOwnedAnonBoxes(*aStyleSet, aChangeList,
|
||||
nsChangeHint_Hints_NotHandledForDescendants);
|
||||
}
|
||||
|
||||
// We only care restyling text nodes, since other type of nodes
|
||||
// (images), are still not supported. If that eventually changes, we
|
||||
// may have to write more code here... Or not, I don't think too
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<!DOCTYPE html>
|
||||
<table cellpadding="0">
|
||||
<tr><td style="text-indent: 50px">Some text</td></tr>
|
||||
</table>
|
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<style>
|
||||
tr::before {
|
||||
content: "Some text";
|
||||
display: table-cell;
|
||||
}
|
||||
tr.i::before {
|
||||
text-indent: 50px;
|
||||
}
|
||||
</style>
|
||||
<table cellpadding="0">
|
||||
<tr></tr>
|
||||
</table>
|
||||
<script>
|
||||
onload = function() {
|
||||
var tr = document.querySelector("tr");
|
||||
// Make sure it's laid out
|
||||
window.w = tr.offsetWidth;
|
||||
document.querySelector("tr").className = "i";
|
||||
document.documentElement.className = "";
|
||||
}
|
||||
</script>
|
||||
</html>
|
|
@ -10,6 +10,7 @@ fails == dynamic-fieldset-01b.html dynamic-fieldset-01b.html
|
|||
== dynamic-restyle-01.html dynamic-restyle-01.html
|
||||
== dynamic-table-cell-01a.html dynamic-table-cell-01a.html
|
||||
== dynamic-table-cell-01b.html dynamic-table-cell-01b.html
|
||||
== dynamic-table-cell-indent.html dynamic-table-cell-indent.html
|
||||
== floated-01.html floated-01.html
|
||||
== images-01.html images-01.html
|
||||
== positioned-01.html positioned-01.html
|
||||
|
|
|
@ -9,6 +9,7 @@ fuzzy-if(OSX==1010,1,10) == dynamic-fieldset-01b.html dynamic-fieldset-01-ref.ht
|
|||
fuzzy-if(OSX==1010,1,10) == dynamic-restyle-01.html dynamic-restyle-01-ref.html
|
||||
fuzzy-if(OSX==1010,1,10) == dynamic-table-cell-01a.html dynamic-table-cell-01-ref.html
|
||||
fuzzy-if(OSX==1010,1,10) == dynamic-table-cell-01b.html dynamic-table-cell-01-ref.html
|
||||
== dynamic-table-cell-indent.html dynamic-table-cell-indent-ref.html
|
||||
fuzzy-if(OSX==1010,1,10) == floated-01.html floated-01-ref.html
|
||||
fuzzy-if(OSX==1010,1,10) == images-01.html images-01-ref.html
|
||||
fuzzy-if(OSX==1010,1,10) == positioned-01.html positioned-01-ref.html
|
||||
|
|
Загрузка…
Ссылка в новой задаче