зеркало из https://github.com/mozilla/pjs.git
Bug 480686. Don't assume that the next-continuation of an inline frame is in the same block; it could be in the next-in-flow of the block. r=roc
This commit is contained in:
Родитель
de97c95615
Коммит
6edd0834a1
|
@ -0,0 +1,13 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
span { background: url(../../../testing/crashtest/images/tree.gif); }
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body><div style="direction: rtl;"><div style="-moz-column-width: 1px;"><span>Q<input></span></div></div></body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -259,6 +259,7 @@ load 479114-1.html
|
||||||
load 477333-1.xhtml
|
load 477333-1.xhtml
|
||||||
load 477731-1.html
|
load 477731-1.html
|
||||||
asserts(6) load 479360-1.xhtml # Bug 439258
|
asserts(6) load 479360-1.xhtml # Bug 439258
|
||||||
|
load 480686-1.html
|
||||||
load 481806-1.html
|
load 481806-1.html
|
||||||
asserts(6) load 483604-1.xhtml # Bug 439258
|
asserts(6) load 483604-1.xhtml # Bug 439258
|
||||||
load 485501-1.html
|
load 485501-1.html
|
||||||
|
|
|
@ -344,11 +344,15 @@ protected:
|
||||||
}
|
}
|
||||||
|
|
||||||
PRBool AreOnSameLine(nsIFrame* aFrame1, nsIFrame* aFrame2) {
|
PRBool AreOnSameLine(nsIFrame* aFrame1, nsIFrame* aFrame2) {
|
||||||
// Assumes that aFrame1 and aFrame2 are both decsendants of mBlockFrame.
|
|
||||||
PRBool isValid1, isValid2;
|
PRBool isValid1, isValid2;
|
||||||
nsBlockInFlowLineIterator it1(mBlockFrame, aFrame1, &isValid1);
|
nsBlockInFlowLineIterator it1(mBlockFrame, aFrame1, &isValid1);
|
||||||
nsBlockInFlowLineIterator it2(mBlockFrame, aFrame2, &isValid2);
|
nsBlockInFlowLineIterator it2(mBlockFrame, aFrame2, &isValid2);
|
||||||
return isValid1 && isValid2 && it1.GetLine() == it2.GetLine();
|
return isValid1 && isValid2 &&
|
||||||
|
// Make sure aFrame1 and aFrame2 are in the same continuation of
|
||||||
|
// mBlockFrame.
|
||||||
|
it1.GetContainer() == it2.GetContainer() &&
|
||||||
|
// And on the same line in it
|
||||||
|
it1.GetLine() == it2.GetLine();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче