Index: third_party/WebKit/Source/core/dom/ElementRareData.cpp |
diff --git a/third_party/WebKit/Source/core/dom/ElementRareData.cpp b/third_party/WebKit/Source/core/dom/ElementRareData.cpp |
index edd8ba49ea8b1c9ec448c0b24d0993b3ef4cbc1e..66cdf1050c8b250c77a36af8d2da4f79d77a5ad6 100644 |
--- a/third_party/WebKit/Source/core/dom/ElementRareData.cpp |
+++ b/third_party/WebKit/Source/core/dom/ElementRareData.cpp |
@@ -28,9 +28,21 @@ |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
+/* STATIC_ASSERT_STRUCT_SIZES_EQUAL |
+ |
+ Compile-time assert that a struct has the expected size. The old way to do this is: |
+ |
+ static_assert(sizeof(StructWithSameSize) == sizeof(Struct)), "Wrong size!"); |
+ |
+ However, static_assert will not emit the actual sizes of the structs in question, and |
+ there is no way to use an interpolated string in the error message. By contrast, |
+ STATIC_ASSERT_STRUCT_SIZES_EQUAL will ensure that the actual sizes of the compared structs |
+ will appear in the compiler error output. |
+*/ |
+ |
#include "config.h" |
#include "core/dom/ElementRareData.h" |
- |
+#include "core/dom/IntersectionObservation.h" |
#include "core/style/ComputedStyle.h" |
namespace blink { |
@@ -40,8 +52,8 @@ struct SameSizeAsElementRareData : NodeRareData { |
LayoutSize sizeForResizing; |
IntSize scrollOffset; |
void* pointer; |
- RawPtrWillBeMember<void*> willbeMember[11]; |
- PersistentWillBeMember<void*> persistent[1]; |
+ RawPtrWillBeMember<void*> willbeMember[12]; |
+ PersistentWillBeMember<void*> persistent[3]; |
}; |
CSSStyleDeclaration& ElementRareData::ensureInlineCSSStyleDeclaration(Element* ownerElement) |
@@ -69,11 +81,14 @@ DEFINE_TRACE_AFTER_DISPATCH(ElementRareData) |
#endif |
visitor->trace(m_elementAnimations); |
visitor->trace(m_cssomWrapper); |
+ visitor->trace(m_weakPointerFactory); |
visitor->trace(m_customElementDefinition); |
visitor->trace(m_generatedBefore); |
visitor->trace(m_generatedAfter); |
visitor->trace(m_generatedFirstLetter); |
visitor->trace(m_backdrop); |
+ visitor->trace(m_intersectionObservers); |
+ visitor->trace(m_intersectionObservations); |
NodeRareData::traceAfterDispatch(visitor); |
} |