| Index: third_party/WebKit/Source/core/observer/ResizeObservation.cpp | 
| diff --git a/third_party/WebKit/Source/core/observer/ResizeObservation.cpp b/third_party/WebKit/Source/core/observer/ResizeObservation.cpp | 
| index a3c0e41e785aaf757a7ec13ce47e9bf280cbaf8c..4fd08d5414b06eb3011cf6aa97d8267d2f94506b 100644 | 
| --- a/third_party/WebKit/Source/core/observer/ResizeObservation.cpp | 
| +++ b/third_party/WebKit/Source/core/observer/ResizeObservation.cpp | 
| @@ -15,18 +15,21 @@ ResizeObservation::ResizeObservation(Element* target, ResizeObserver* observer) | 
| : m_target(target) | 
| , m_observer(observer) | 
| , m_observationSize(0, 0) | 
| +    , m_elementSizeChanged(true) | 
| { | 
| DCHECK(m_target); | 
| +    m_observer->elementSizeChanged(); | 
| } | 
|  | 
| void ResizeObservation::setObservationSize(const LayoutSize& size) | 
| { | 
| m_observationSize = size; | 
| +    m_elementSizeChanged = false; | 
| } | 
|  | 
| bool ResizeObservation::observationSizeOutOfSync() const | 
| { | 
| -    return m_observationSize != ResizeObservation::getTargetSize(m_target); | 
| +    return m_elementSizeChanged && m_observationSize != ResizeObservation::getTargetSize(m_target); | 
| } | 
|  | 
| size_t ResizeObservation::targetDepth() | 
| @@ -51,6 +54,11 @@ LayoutSize ResizeObservation::getTargetSize(Element* target) // static | 
| return LayoutSize(); | 
| } | 
|  | 
| +void ResizeObservation::elementSizeChanged() | 
| +{ | 
| +    m_elementSizeChanged = true; | 
| +    m_observer->elementSizeChanged(); | 
| +} | 
|  | 
| DEFINE_TRACE(ResizeObservation) | 
| { | 
|  |