зеркало из 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");
|
MOZ_ASSERT(pseudoContext, "should have taken the ReconstructFrame path above");
|
||||||
pseudoFrame->SetStyleContext(pseudoContext);
|
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
|
// We only care restyling text nodes, since other type of nodes
|
||||||
// (images), are still not supported. If that eventually changes, we
|
// (images), are still not supported. If that eventually changes, we
|
||||||
// may have to write more code here... Or not, I don't think too
|
// 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-restyle-01.html dynamic-restyle-01.html
|
||||||
== dynamic-table-cell-01a.html dynamic-table-cell-01a.html
|
== dynamic-table-cell-01a.html dynamic-table-cell-01a.html
|
||||||
== dynamic-table-cell-01b.html dynamic-table-cell-01b.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
|
== floated-01.html floated-01.html
|
||||||
== images-01.html images-01.html
|
== images-01.html images-01.html
|
||||||
== positioned-01.html positioned-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-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-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
|
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) == 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) == images-01.html images-01-ref.html
|
||||||
fuzzy-if(OSX==1010,1,10) == positioned-01.html positioned-01-ref.html
|
fuzzy-if(OSX==1010,1,10) == positioned-01.html positioned-01-ref.html
|
||||||
|
|
Загрузка…
Ссылка в новой задаче