Changeset 138879 in webkit
- Timestamp:
- Jan 4, 2013 6:05:14 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r138878 r138879 1 2013-01-04 Ryosuke Niwa <rniwa@webkit.org> 2 3 Chromium windows compile fails because of the assertion in NodeRareData 4 https://bugs.webkit.org/show_bug.cgi?id=106149 5 6 Reviewed by Andreas Kling. 7 8 MSVC adds padding between bitfields of different types for better alignment. 9 Since we care more about the memory usage, use unsigned for all bitfields to work around this behavior. 10 11 * dom/NodeRareData.cpp: 12 (SameSizeAsNodeRareData): 13 (WebCore): 14 * dom/NodeRareData.h: 15 (WebCore::NodeRareData::isWebVTTNode): 16 (WebCore::NodeRareData::isWebVTTFutureNode): 17 (NodeRareData): 18 1 19 2013-01-04 Dan Bernstein <mitz@apple.com> 2 20 -
trunk/Source/WebCore/dom/NodeRareData.cpp
r138811 r138879 46 46 void* m_microData; 47 47 #endif 48 }; 48 49 49 // Enum is integer type and is aligned in Windows when placed in the bitfield, so it takes more space.50 #if PLATFORM(WIN)51 TextTrack::WebVTTNodeType m_WebVTTNodeType;52 #endif53 };54 50 COMPILE_ASSERT(sizeof(NodeRareData) == sizeof(SameSizeAsNodeRareData), NodeRareDataShouldStaySmall); 55 51 -
trunk/Source/WebCore/dom/NodeRareData.h
r138823 r138879 373 373 protected: 374 374 #if ENABLE(VIDEO_TRACK) 375 bool isWebVTTNode() { return m_WebVTTNodeType!= TextTrack::WebVTTNodeTypeNone; }375 bool isWebVTTNode() { return static_cast<TextTrack::WebVTTNodeType>(m_WebVTTNodeType) != TextTrack::WebVTTNodeTypeNone; } 376 376 void setIsWebVTTNode() { m_WebVTTNodeType = TextTrack::WebVTTNodeTypePast; } 377 bool isWebVTTFutureNode() { return m_WebVTTNodeType== TextTrack::WebVTTNodeTypeFuture; }377 bool isWebVTTFutureNode() { return static_cast<TextTrack::WebVTTNodeType>(m_WebVTTNodeType) == TextTrack::WebVTTNodeTypeFuture; } 378 378 void setIsWebVTTFutureNode() { m_WebVTTNodeType = TextTrack::WebVTTNodeTypeFuture; } 379 379 #endif 380 380 short m_tabIndex; 381 381 unsigned short m_childIndex; 382 boolm_tabIndexWasSetExplicitly : 1;383 boolm_needsFocusAppearanceUpdateSoonAfterAttach : 1;384 boolm_styleAffectedByEmpty : 1;385 boolm_isInCanvasSubtree : 1;382 unsigned m_tabIndexWasSetExplicitly : 1; 383 unsigned m_needsFocusAppearanceUpdateSoonAfterAttach : 1; 384 unsigned m_styleAffectedByEmpty : 1; 385 unsigned m_isInCanvasSubtree : 1; 386 386 #if ENABLE(FULLSCREEN_API) 387 boolm_containsFullScreenElement : 1;387 unsigned m_containsFullScreenElement : 1; 388 388 #endif 389 389 #if ENABLE(DIALOG_ELEMENT) 390 boolm_isInTopLayer : 1;390 unsigned m_isInTopLayer : 1; 391 391 #endif 392 392 #if ENABLE(SVG) 393 boolm_hasPendingResources : 1;394 #endif 395 boolm_childrenAffectedByHover : 1;396 boolm_childrenAffectedByActive : 1;397 boolm_childrenAffectedByDrag : 1;393 unsigned m_hasPendingResources : 1; 394 #endif 395 unsigned m_childrenAffectedByHover : 1; 396 unsigned m_childrenAffectedByActive : 1; 397 unsigned m_childrenAffectedByDrag : 1; 398 398 // Bits for dynamic child matching. 399 399 // We optimize for :first-child and :last-child. The other positional child selectors like nth-child or 400 400 // *-child-of-type, we will just give up and re-evaluate whenever children change at all. 401 boolm_childrenAffectedByFirstChildRules : 1;402 boolm_childrenAffectedByLastChildRules : 1;403 boolm_childrenAffectedByDirectAdjacentRules : 1;404 boolm_childrenAffectedByForwardPositionalRules : 1;405 boolm_childrenAffectedByBackwardPositionalRules : 1;401 unsigned m_childrenAffectedByFirstChildRules : 1; 402 unsigned m_childrenAffectedByLastChildRules : 1; 403 unsigned m_childrenAffectedByDirectAdjacentRules : 1; 404 unsigned m_childrenAffectedByForwardPositionalRules : 1; 405 unsigned m_childrenAffectedByBackwardPositionalRules : 1; 406 406 #if ENABLE(VIDEO_TRACK) 407 TextTrack::WebVTTNodeType m_WebVTTNodeType : 2; 408 #endif 407 unsigned m_WebVTTNodeType : 2; 408 #endif 409 409 410 private: 410 411 OwnPtr<NodeListsNodeData> m_nodeLists;
Note: See TracChangeset
for help on using the changeset viewer.