Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: third_party/WebKit/Source/core/dom/ElementRareData.cpp

Issue 2791943002: Re-land: Initial skeleton of Accessibility Object Model Phase 1 (Closed)
Patch Set: Fix for crash with test Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 24 matching lines...) Expand all
35 #include "core/dom/ResizeObservation.h" 35 #include "core/dom/ResizeObservation.h"
36 #include "core/dom/ResizeObserver.h" 36 #include "core/dom/ResizeObserver.h"
37 #include "core/style/ComputedStyle.h" 37 #include "core/style/ComputedStyle.h"
38 38
39 namespace blink { 39 namespace blink {
40 40
41 struct SameSizeAsElementRareData : NodeRareData { 41 struct SameSizeAsElementRareData : NodeRareData {
42 LayoutSize sizeForResizing; 42 LayoutSize sizeForResizing;
43 IntSize scrollOffset; 43 IntSize scrollOffset;
44 void* pointers[2]; 44 void* pointers[2];
45 Member<void*> members[13]; 45 Member<void*> members[14];
46 }; 46 };
47 47
48 CSSStyleDeclaration& ElementRareData::ensureInlineCSSStyleDeclaration( 48 CSSStyleDeclaration& ElementRareData::ensureInlineCSSStyleDeclaration(
49 Element* ownerElement) { 49 Element* ownerElement) {
50 if (!m_cssomWrapper) 50 if (!m_cssomWrapper)
51 m_cssomWrapper = new InlineCSSStyleDeclaration(ownerElement); 51 m_cssomWrapper = new InlineCSSStyleDeclaration(ownerElement);
52 return *m_cssomWrapper; 52 return *m_cssomWrapper;
53 } 53 }
54 54
55 InlineStylePropertyMap& ElementRareData::ensureInlineStylePropertyMap( 55 InlineStylePropertyMap& ElementRareData::ensureInlineStylePropertyMap(
(...skipping 21 matching lines...) Expand all
77 DEFINE_TRACE_AFTER_DISPATCH(ElementRareData) { 77 DEFINE_TRACE_AFTER_DISPATCH(ElementRareData) {
78 visitor->trace(m_dataset); 78 visitor->trace(m_dataset);
79 visitor->trace(m_classList); 79 visitor->trace(m_classList);
80 visitor->trace(m_shadow); 80 visitor->trace(m_shadow);
81 visitor->trace(m_attributeMap); 81 visitor->trace(m_attributeMap);
82 visitor->trace(m_attrNodeList); 82 visitor->trace(m_attrNodeList);
83 visitor->trace(m_elementAnimations); 83 visitor->trace(m_elementAnimations);
84 visitor->trace(m_cssomWrapper); 84 visitor->trace(m_cssomWrapper);
85 visitor->trace(m_cssomMapWrapper); 85 visitor->trace(m_cssomMapWrapper);
86 visitor->trace(m_pseudoElementData); 86 visitor->trace(m_pseudoElementData);
87 visitor->trace(m_accessibleNode);
87 visitor->trace(m_v0CustomElementDefinition); 88 visitor->trace(m_v0CustomElementDefinition);
88 visitor->trace(m_customElementDefinition); 89 visitor->trace(m_customElementDefinition);
89 visitor->trace(m_intersectionObserverData); 90 visitor->trace(m_intersectionObserverData);
90 visitor->trace(m_resizeObserverData); 91 visitor->trace(m_resizeObserverData);
91 NodeRareData::traceAfterDispatch(visitor); 92 NodeRareData::traceAfterDispatch(visitor);
92 } 93 }
93 94
94 DEFINE_TRACE_WRAPPERS_AFTER_DISPATCH(ElementRareData) { 95 DEFINE_TRACE_WRAPPERS_AFTER_DISPATCH(ElementRareData) {
95 if (m_attrNodeList.get()) { 96 if (m_attrNodeList.get()) {
96 for (auto& attr : *m_attrNodeList) { 97 for (auto& attr : *m_attrNodeList) {
97 visitor->traceWrappersWithManualWriteBarrier(attr); 98 visitor->traceWrappersWithManualWriteBarrier(attr);
98 } 99 }
99 } 100 }
100 visitor->traceWrappersWithManualWriteBarrier(m_shadow); 101 visitor->traceWrappersWithManualWriteBarrier(m_shadow);
101 visitor->traceWrappersWithManualWriteBarrier(m_attributeMap); 102 visitor->traceWrappersWithManualWriteBarrier(m_attributeMap);
102 visitor->traceWrappersWithManualWriteBarrier(m_dataset); 103 visitor->traceWrappersWithManualWriteBarrier(m_dataset);
103 visitor->traceWrappersWithManualWriteBarrier(m_classList); 104 visitor->traceWrappersWithManualWriteBarrier(m_classList);
105 visitor->traceWrappersWithManualWriteBarrier(m_accessibleNode);
104 visitor->traceWrappersWithManualWriteBarrier(m_intersectionObserverData); 106 visitor->traceWrappersWithManualWriteBarrier(m_intersectionObserverData);
105 NodeRareData::traceWrappersAfterDispatch(visitor); 107 NodeRareData::traceWrappersAfterDispatch(visitor);
106 } 108 }
107 109
108 static_assert(sizeof(ElementRareData) == sizeof(SameSizeAsElementRareData), 110 static_assert(sizeof(ElementRareData) == sizeof(SameSizeAsElementRareData),
109 "ElementRareData should stay small"); 111 "ElementRareData should stay small");
110 112
111 } // namespace blink 113 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698