зеркало из https://github.com/mozilla/pjs.git
Bug 375508: Outline drawing broken when outline doesn't overflow. r+sr=roc.
This commit is contained in:
Родитель
117902cd24
Коммит
0112321c33
|
@ -51,7 +51,6 @@
|
|||
#include "nsIPresShell.h"
|
||||
#include "nsFrameManager.h"
|
||||
#include "nsStyleContext.h"
|
||||
#include "nsIScrollableView.h"
|
||||
#include "nsGkAtoms.h"
|
||||
#include "nsIDrawingSurface.h"
|
||||
#include "nsTransform2D.h"
|
||||
|
@ -2047,15 +2046,11 @@ nscoord width, offset;
|
|||
}
|
||||
}
|
||||
|
||||
nsRect* overflowArea = aForFrame->GetOverflowAreaProperty(PR_FALSE);
|
||||
if (!overflowArea) {
|
||||
NS_WARNING("Hmm, outline painting should always find an overflow area here");
|
||||
return;
|
||||
}
|
||||
nsRect overflowArea = aForFrame->GetOverflowRect();
|
||||
|
||||
// get the offset for our outline
|
||||
aOutlineStyle.GetOutlineOffset(offset);
|
||||
nsRect outside(*overflowArea + aBorderArea.TopLeft());
|
||||
nsRect outside(overflowArea + aBorderArea.TopLeft());
|
||||
nsRect inside(outside);
|
||||
if (width + offset >= 0) {
|
||||
// the overflow area is exactly the outside edge of the outline
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<style>
|
||||
html, body {margin:0; padding:5px}
|
||||
</style>
|
||||
<div style="outline: 10px solid black; outline-offset: 0; width: 5px; height:5px"></div>
|
|
@ -0,0 +1,4 @@
|
|||
<style>
|
||||
html, body {margin:0; padding:0}
|
||||
</style>
|
||||
<div style="outline: 10px solid black; outline-offset: -10px; width: 25px; height:25px"></div>
|
|
@ -201,3 +201,4 @@ fails == 368504-1.html 368504-1-ref.html # bug 368504
|
|||
== 372553-1.html 372553-1-ref.html
|
||||
== 373381-1.html 373381-1-ref.html
|
||||
== 372037-1.html 372037-1-ref.html
|
||||
== 375508-1.html 375508-1-ref.html
|
||||
|
|
Загрузка…
Ссылка в новой задаче