Index: Source/core/rendering/style/RenderStyle.cpp |
diff --git a/Source/core/rendering/style/RenderStyle.cpp b/Source/core/rendering/style/RenderStyle.cpp |
index 43fedd29bc3bc2361fad3db8cb6022937664b6d5..3862be58f61ec13e57923a7ba47e39b18bb7ff28 100644 |
--- a/Source/core/rendering/style/RenderStyle.cpp |
+++ b/Source/core/rendering/style/RenderStyle.cpp |
@@ -423,12 +423,6 @@ bool RenderStyle::diffNeedsFullLayoutAndRepaint(const RenderStyle& other) const |
// instead of forced full repaint. |
if (surround.get() != other.surround.get()) { |
Julien - ping for review
2014/06/29 01:20:32
There is only border checks in this branch so I wo
Xianzhu
2014/06/30 22:30:34
If 'surround' object is shared between the old sty
|
- if (surround->margin != other.surround->margin) |
- return true; |
- |
- if (surround->padding != other.surround->padding) |
- return true; |
- |
// If our border widths change, then we need to layout. Other changes to borders only necessitate a repaint. |
if (borderLeftWidth() != other.borderLeftWidth() |
|| borderTopWidth() != other.borderTopWidth() |
@@ -616,6 +610,14 @@ bool RenderStyle::diffNeedsFullLayout(const RenderStyle& other) const |
if (noninherited_flags._vertical_align != other.noninherited_flags._vertical_align) |
return true; |
+ if (surround.get() != other.surround.get()) { |
Julien - ping for review
2014/06/29 01:20:32
Will this work correctly if we have a background-c
Xianzhu
2014/06/30 22:30:34
Yes. Border size change will still trigger a full
|
+ if (surround->margin != other.surround->margin) |
+ return true; |
+ |
+ if (surround->padding != other.surround->padding) |
+ return true; |
+ } |
+ |
return false; |
} |