зеркало из https://github.com/mozilla/gecko-dev.git
Bug 909157. Invalidate rendering observers when an image changes. r=mattwoodrow
--HG-- extra : rebase_source : 04b127fde9a9e07e50c6196f53a1eea3c8f04db6
This commit is contained in:
Родитель
c61a331c05
Коммит
2bed019e71
|
@ -0,0 +1,7 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div style="background:url(repeatable-diagonal-gradient.png?4567); width:100px; height:100px"></div>
|
||||||
|
<div style="background:url(repeatable-diagonal-gradient.png?90); width:100px; height:100px"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div id="A" style="background:url(repeatable-diagonal-gradient.png?1234); width:100px; height:100px"></div>
|
||||||
|
<div style="background:-moz-element(#A); width:100px; height:100px;"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -41,6 +41,7 @@ fuzzy(1,9674) random-if(!cocoaWidget) == gradient-html-06b.html gradient-html-06
|
||||||
== gradient-html-06d.html gradient-html-06e.html
|
== gradient-html-06d.html gradient-html-06e.html
|
||||||
random-if(!cocoaWidget) fuzzy-if(azureQuartz,1,11367) == gradient-html-07a.html gradient-html-07b.html
|
random-if(!cocoaWidget) fuzzy-if(azureQuartz,1,11367) == gradient-html-07a.html gradient-html-07b.html
|
||||||
fuzzy(1,16900) == gradient-html-07c.html gradient-html-07d.html
|
fuzzy(1,16900) == gradient-html-07c.html gradient-html-07d.html
|
||||||
|
HTTP == invalidate-1.html invalidate-1-ref.html
|
||||||
== pattern-html-01.html pattern-html-01-ref.svg
|
== pattern-html-01.html pattern-html-01-ref.svg
|
||||||
== pattern-html-02.html pattern-html-02-ref.svg
|
== pattern-html-02.html pattern-html-02-ref.svg
|
||||||
== referenced-from-binding-01.html referenced-from-binding-01-ref.html
|
== referenced-from-binding-01.html referenced-from-binding-01-ref.html
|
||||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 14 KiB |
|
@ -12,6 +12,7 @@
|
||||||
#include "nsError.h"
|
#include "nsError.h"
|
||||||
#include "nsDisplayList.h"
|
#include "nsDisplayList.h"
|
||||||
#include "FrameLayerBuilder.h"
|
#include "FrameLayerBuilder.h"
|
||||||
|
#include "nsSVGEffects.h"
|
||||||
|
|
||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
namespace css {
|
namespace css {
|
||||||
|
@ -329,6 +330,13 @@ void InvalidateImagesCallback(nsIFrame* aFrame,
|
||||||
|
|
||||||
aItem->Invalidate();
|
aItem->Invalidate();
|
||||||
aFrame->SchedulePaint();
|
aFrame->SchedulePaint();
|
||||||
|
|
||||||
|
// Update ancestor rendering observers (-moz-element etc)
|
||||||
|
nsIFrame *f = aFrame;
|
||||||
|
while (f && !f->HasAnyStateBits(NS_FRAME_DESCENDANT_NEEDS_PAINT)) {
|
||||||
|
nsSVGEffects::InvalidateDirectRenderingObservers(f);
|
||||||
|
f = nsLayoutUtils::GetCrossDocParentFrame(f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Загрузка…
Ссылка в новой задаче