зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1210877 - Make nsBidiPresUtils::RepositionFrame work also for box-decoration-break:clone. r=roc
This commit is contained in:
Родитель
5808084085
Коммит
c9a6c1cfaa
|
@ -1578,19 +1578,22 @@ nsBidiPresUtils::RepositionFrame(nsIFrame* aFrame,
|
||||||
// Since the visual order of frame could be different from the
|
// Since the visual order of frame could be different from the
|
||||||
// continuation order, we need to remove any border/padding first,
|
// continuation order, we need to remove any border/padding first,
|
||||||
// so that we can get the correct isize of the current frame.
|
// so that we can get the correct isize of the current frame.
|
||||||
if (!aFrame->GetPrevContinuation()) {
|
if (aFrame->StyleBorder()->mBoxDecorationBreak ==
|
||||||
frameISize -= borderPadding.IStart(frameWM);
|
NS_STYLE_BOX_DECORATION_BREAK_SLICE) {
|
||||||
}
|
if (!aFrame->GetPrevContinuation()) {
|
||||||
if (!aFrame->GetNextContinuation()) {
|
frameISize -= borderPadding.IStart(frameWM);
|
||||||
frameISize -= borderPadding.IEnd(frameWM);
|
}
|
||||||
}
|
if (!aFrame->GetNextContinuation()) {
|
||||||
if (!isFirst) {
|
frameISize -= borderPadding.IEnd(frameWM);
|
||||||
frameMargin.IStart(frameWM) = 0;
|
}
|
||||||
borderPadding.IStart(frameWM) = 0;
|
if (!isFirst) {
|
||||||
}
|
frameMargin.IStart(frameWM) = 0;
|
||||||
if (!isLast) {
|
borderPadding.IStart(frameWM) = 0;
|
||||||
frameMargin.IEnd(frameWM) = 0;
|
}
|
||||||
borderPadding.IEnd(frameWM) = 0;
|
if (!isLast) {
|
||||||
|
frameMargin.IEnd(frameWM) = 0;
|
||||||
|
borderPadding.IEnd(frameWM) = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
frameISize += borderPadding.IStartEnd(frameWM);
|
frameISize += borderPadding.IStartEnd(frameWM);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<!--
|
||||||
|
Any copyright is dedicated to the Public Domain.
|
||||||
|
http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
-->
|
||||||
|
<html><head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Testing box-decoration-break with bidi resolution</title>
|
||||||
|
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1210877">
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
.test {
|
||||||
|
box-decoration-break: slice;
|
||||||
|
background: black;
|
||||||
|
}
|
||||||
|
.p {
|
||||||
|
padding:11px 3px 5px 7px;
|
||||||
|
}
|
||||||
|
.b {
|
||||||
|
border: 1px solid blue;
|
||||||
|
border-width:3px 5px 7px 11px;
|
||||||
|
}
|
||||||
|
.m {
|
||||||
|
margin:5px 7px 11px 3px;
|
||||||
|
}
|
||||||
|
.direction {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
x {display:inline-block; width:20px; height:10px; background:lime; }
|
||||||
|
y {display:inline-block; width:30px; height:1px; background:lime; }
|
||||||
|
d {display:inline-block; border:10px solid red }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div style="float:left; width: 100px;">
|
||||||
|
<span class="test p"><x></x></span><br>
|
||||||
|
<span class="test p"><y></y></span><br><br><br>
|
||||||
|
<span class="test b"><x></x></span><br>
|
||||||
|
<span class="test b"><y></y></span><br><br><br>
|
||||||
|
<span class="test p b"><x></x></span><br>
|
||||||
|
<span class="test p b"><y></y></span><br><br><br>
|
||||||
|
<span class="test m"><x></x></span><br>
|
||||||
|
<span class="test m"><y></y></span><br><br><br>
|
||||||
|
<span class="test p m"><x></x></span><br>
|
||||||
|
<span class="test p m"><y></y></span><br><br><br>
|
||||||
|
<span class="test b m"><x></x></span><br>
|
||||||
|
<span class="test b m"><y></y></span><br><br><br>
|
||||||
|
<span class="test p b m"><x></x></span><br>
|
||||||
|
<span class="test p b m"><y></y></span><br><br><br>
|
||||||
|
|
||||||
|
|
||||||
|
</div><div style="float:left; width: 100px; text-align:right">
|
||||||
|
|
||||||
|
<span class="test p"><y></y></span><br>
|
||||||
|
<span class="test p"><x></x></span><br><br><br>
|
||||||
|
<span class="test b"><y></y></span><br>
|
||||||
|
<span class="test b"><x></x></span><br><br><br>
|
||||||
|
<span class="test p b"><y></y></span><br>
|
||||||
|
<span class="test p b"><x></x></span><br><br><br>
|
||||||
|
<span class="test m"><y></y></span><br>
|
||||||
|
<span class="test m"><x></x></span><br><br><br>
|
||||||
|
<span class="test p m"><y></y></span><br>
|
||||||
|
<span class="test p m"><x></x></span><br><br><br>
|
||||||
|
<span class="test b m"><y></y></span><br>
|
||||||
|
<span class="test b m"><x></x></span><br><br><br>
|
||||||
|
<span class="test p b m"><y></y></span><br>
|
||||||
|
<span class="test p b m"><x></x></span><br><br><br>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<!--
|
||||||
|
Any copyright is dedicated to the Public Domain.
|
||||||
|
http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
-->
|
||||||
|
<html><head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Testing box-decoration-break with bidi resolution</title>
|
||||||
|
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1210877">
|
||||||
|
<link rel="help" href="http://dev.w3.org/csswg/css-break/#break-decoration">
|
||||||
|
<link rel="match" href="box-decoration-break-with-bidi-ref.html">
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
.test {
|
||||||
|
box-decoration-break: clone;
|
||||||
|
background: black;
|
||||||
|
}
|
||||||
|
.p {
|
||||||
|
padding:11px 3px 5px 7px;
|
||||||
|
}
|
||||||
|
.b {
|
||||||
|
border: 1px solid blue;
|
||||||
|
border-width:3px 5px 7px 11px;
|
||||||
|
}
|
||||||
|
.m {
|
||||||
|
margin:5px 7px 11px 3px;
|
||||||
|
}
|
||||||
|
.direction {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
x {display:inline-block; width:20px; height:10px; background:lime; }
|
||||||
|
y {display:inline-block; width:30px; height:1px; background:lime; }
|
||||||
|
d {display:inline-block; border:10px solid red }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div style="float:left; width: 100px;">
|
||||||
|
<span class="test p"><x></x><br><y></y></span><br><br><br>
|
||||||
|
<span class="test b"><x></x><br><y></y></span><br><br><br>
|
||||||
|
<span class="test p b"><x></x><br><y></y></span><br><br><br>
|
||||||
|
<span class="test m"><x></x><br><y></y></span><br><br><br>
|
||||||
|
<span class="test p m"><x></x><br><y></y></span><br><br><br>
|
||||||
|
<span class="test b m"><x></x><br><y></y></span><br><br><br>
|
||||||
|
<span class="test p b m"><x></x><br><y></y></span><br><br><br>
|
||||||
|
|
||||||
|
<div class="direction"></div> <!-- to trigger bidi resolution -->
|
||||||
|
|
||||||
|
</div><div style="float:left; width: 100px; text-align:right">
|
||||||
|
|
||||||
|
<span class="test p"><y></y><br><x></x></span><br><br><br>
|
||||||
|
<span class="test b"><y></y><br><x></x></span><br><br><br>
|
||||||
|
<span class="test p b"><y></y><br><x></x></span><br><br><br>
|
||||||
|
<span class="test m"><y></y><br><x></x></span><br><br><br>
|
||||||
|
<span class="test p m"><y></y><br><x></x></span><br><br><br>
|
||||||
|
<span class="test b m"><y></y><br><x></x></span><br><br><br>
|
||||||
|
<span class="test p b m"><y></y><br><x></x></span><br><br><br>
|
||||||
|
|
||||||
|
<div class="direction"></div> <!-- to trigger bidi resolution -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -7,3 +7,4 @@ random-if(!gtkWidget) HTTP(..) == box-decoration-break-border-image.html box-dec
|
||||||
== box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
|
== box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
|
||||||
== box-decoration-break-block-margin.html box-decoration-break-block-margin-ref.html
|
== box-decoration-break-block-margin.html box-decoration-break-block-margin-ref.html
|
||||||
fuzzy-if(!Android,1,5) fuzzy-if(Android,8,6627) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html
|
fuzzy-if(!Android,1,5) fuzzy-if(Android,8,6627) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html
|
||||||
|
== box-decoration-break-with-bidi.html box-decoration-break-with-bidi-ref.html
|
||||||
|
|
Загрузка…
Ссылка в новой задаче