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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 2921463004: [LayoutNG] PODify NGLayoutInputNode and sub-classes. (Closed)
Patch Set: new ng-bot expectations Created 3 years, 6 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 580 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 inline bool IsBeforeOrAfterContent() const; 591 inline bool IsBeforeOrAfterContent() const;
592 static inline bool IsAfterContent(const LayoutObject* obj) { 592 static inline bool IsAfterContent(const LayoutObject* obj) {
593 return obj && obj->IsAfterContent(); 593 return obj && obj->IsAfterContent();
594 } 594 }
595 595
596 bool HasCounterNodeMap() const { return bitfields_.HasCounterNodeMap(); } 596 bool HasCounterNodeMap() const { return bitfields_.HasCounterNodeMap(); }
597 void SetHasCounterNodeMap(bool has_counter_node_map) { 597 void SetHasCounterNodeMap(bool has_counter_node_map) {
598 bitfields_.SetHasCounterNodeMap(has_counter_node_map); 598 bitfields_.SetHasCounterNodeMap(has_counter_node_map);
599 } 599 }
600 600
601 bool LayoutNGInline() const { return bitfields_.LayoutNGInline(); }
602 void SetLayoutNGInline(bool layout_ng_inline) {
603 bitfields_.SetLayoutNGInline(layout_ng_inline);
604 }
605
601 bool EverHadLayout() const { return bitfields_.EverHadLayout(); } 606 bool EverHadLayout() const { return bitfields_.EverHadLayout(); }
602 607
603 bool ChildrenInline() const { return bitfields_.ChildrenInline(); } 608 bool ChildrenInline() const { return bitfields_.ChildrenInline(); }
604 void SetChildrenInline(bool b) { bitfields_.SetChildrenInline(b); } 609 void SetChildrenInline(bool b) { bitfields_.SetChildrenInline(b); }
605 610
606 bool AlwaysCreateLineBoxesForLayoutInline() const { 611 bool AlwaysCreateLineBoxesForLayoutInline() const {
607 DCHECK(IsLayoutInline()); 612 DCHECK(IsLayoutInline());
608 return bitfields_.AlwaysCreateLineBoxesForLayoutInline(); 613 return bitfields_.AlwaysCreateLineBoxesForLayoutInline();
609 } 614 }
610 void SetAlwaysCreateLineBoxesForLayoutInline(bool always_create_line_boxes) { 615 void SetAlwaysCreateLineBoxesForLayoutInline(bool always_create_line_boxes) {
(...skipping 1677 matching lines...) Expand 10 before | Expand all | Expand 10 after
2288 scroll_anchor_disabling_style_changed_(false), 2293 scroll_anchor_disabling_style_changed_(false),
2289 has_box_decoration_background_(false), 2294 has_box_decoration_background_(false),
2290 has_previous_location_in_backing_(false), 2295 has_previous_location_in_backing_(false),
2291 has_previous_selection_visual_rect_(false), 2296 has_previous_selection_visual_rect_(false),
2292 needs_paint_property_update_(true), 2297 needs_paint_property_update_(true),
2293 subtree_needs_paint_property_update_(true), 2298 subtree_needs_paint_property_update_(true),
2294 descendant_needs_paint_property_update_(true), 2299 descendant_needs_paint_property_update_(true),
2295 background_changed_since_last_paint_invalidation_(false), 2300 background_changed_since_last_paint_invalidation_(false),
2296 outline_may_be_affected_by_descendants_(false), 2301 outline_may_be_affected_by_descendants_(false),
2297 previous_outline_may_be_affected_by_descendants_(false), 2302 previous_outline_may_be_affected_by_descendants_(false),
2303 layout_ng_inline_(false),
2298 positioned_state_(kIsStaticallyPositioned), 2304 positioned_state_(kIsStaticallyPositioned),
2299 selection_state_(static_cast<unsigned>(SelectionState::kNone)), 2305 selection_state_(static_cast<unsigned>(SelectionState::kNone)),
2300 background_obscuration_state_(kBackgroundObscurationStatusInvalid), 2306 background_obscuration_state_(kBackgroundObscurationStatusInvalid),
2301 full_paint_invalidation_reason_( 2307 full_paint_invalidation_reason_(
2302 static_cast<unsigned>(PaintInvalidationReason::kNone)) {} 2308 static_cast<unsigned>(PaintInvalidationReason::kNone)) {}
2303 2309
2304 // Self needs layout means that this layout object is marked for a full 2310 // Self needs layout means that this layout object is marked for a full
2305 // layout. This is the default layout but it is expensive as it recomputes 2311 // layout. This is the default layout but it is expensive as it recomputes
2306 // everything. For CSS boxes, this includes the width (laying out the line 2312 // everything. For CSS boxes, this includes the width (laying out the line
2307 // boxes again), the margins (due to block collapsing margins), the 2313 // boxes again), the margins (due to block collapsing margins), the
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
2487 2493
2488 // Whether shape of outline may be affected by any descendants. This is 2494 // Whether shape of outline may be affected by any descendants. This is
2489 // updated before paint invalidation, checked during paint invalidation. 2495 // updated before paint invalidation, checked during paint invalidation.
2490 ADD_BOOLEAN_BITFIELD(outline_may_be_affected_by_descendants_, 2496 ADD_BOOLEAN_BITFIELD(outline_may_be_affected_by_descendants_,
2491 OutlineMayBeAffectedByDescendants); 2497 OutlineMayBeAffectedByDescendants);
2492 // The outlineMayBeAffectedByDescendants status of the last paint 2498 // The outlineMayBeAffectedByDescendants status of the last paint
2493 // invalidation. 2499 // invalidation.
2494 ADD_BOOLEAN_BITFIELD(previous_outline_may_be_affected_by_descendants_, 2500 ADD_BOOLEAN_BITFIELD(previous_outline_may_be_affected_by_descendants_,
2495 PreviousOutlineMayBeAffectedByDescendants); 2501 PreviousOutlineMayBeAffectedByDescendants);
2496 2502
2503 ADD_BOOLEAN_BITFIELD(layout_ng_inline_, LayoutNGInline);
2504
2497 protected: 2505 protected:
2498 // Use protected to avoid warning about unused variable. 2506 // Use protected to avoid warning about unused variable.
2499 unsigned unused_bits_ : 4; 2507 unsigned unused_bits_ : 3;
2500 2508
2501 private: 2509 private:
2502 // This is the cached 'position' value of this object 2510 // This is the cached 'position' value of this object
2503 // (see ComputedStyle::position). 2511 // (see ComputedStyle::position).
2504 unsigned positioned_state_ : 2; // PositionedState 2512 unsigned positioned_state_ : 2; // PositionedState
2505 unsigned selection_state_ : 3; // SelectionState 2513 unsigned selection_state_ : 3; // SelectionState
2506 // Mutable for getter which lazily update this field. 2514 // Mutable for getter which lazily update this field.
2507 mutable unsigned 2515 mutable unsigned
2508 background_obscuration_state_ : 2; // BackgroundObscurationState 2516 background_obscuration_state_ : 2; // BackgroundObscurationState
2509 2517
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
2830 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2838 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2831 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2839 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2832 // We don't make object2 an optional parameter so that showLayoutTree 2840 // We don't make object2 an optional parameter so that showLayoutTree
2833 // can be called from gdb easily. 2841 // can be called from gdb easily.
2834 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2842 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2835 const blink::LayoutObject* object2); 2843 const blink::LayoutObject* object2);
2836 2844
2837 #endif 2845 #endif
2838 2846
2839 #endif // LayoutObject_h 2847 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698