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

Side by Side Diff: Source/core/rendering/RenderObject.h

Issue 465333004: Non-composited, fixed position should trigger main thread scrolling (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
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. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 Document& document() const { return m_node->document(); } 649 Document& document() const { return m_node->document(); }
650 LocalFrame* frame() const { return document().frame(); } 650 LocalFrame* frame() const { return document().frame(); }
651 651
652 bool hasOutlineAnnotation() const; 652 bool hasOutlineAnnotation() const;
653 bool hasOutline() const { return outlineStyle()->hasOutline() || hasOutlineA nnotation(); } 653 bool hasOutline() const { return outlineStyle()->hasOutline() || hasOutlineA nnotation(); }
654 654
655 // Returns the object containing this one. Can be different from parent for positioned elements. 655 // Returns the object containing this one. Can be different from parent for positioned elements.
656 // If paintInvalidationContainer and paintInvalidationContainerSkipped are n ot null, on return *paintInvalidationContainerSkipped 656 // If paintInvalidationContainer and paintInvalidationContainerSkipped are n ot null, on return *paintInvalidationContainerSkipped
657 // is true if the renderer returned is an ancestor of paintInvalidationConta iner. 657 // is true if the renderer returned is an ancestor of paintInvalidationConta iner.
658 RenderObject* container(const RenderLayerModelObject* paintInvalidationConta iner = 0, bool* paintInvalidationContainerSkipped = 0) const; 658 RenderObject* container(const RenderLayerModelObject* paintInvalidationConta iner = 0, bool* paintInvalidationContainerSkipped = 0) const;
659 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* paintIn validationContainer = 0, bool* paintInvalidationContainerSkipped = 0) const;
659 660
660 virtual RenderObject* hoverAncestor() const { return parent(); } 661 virtual RenderObject* hoverAncestor() const { return parent(); }
661 662
662 Element* offsetParent() const; 663 Element* offsetParent() const;
663 664
664 void markContainingBlocksForLayout(bool scheduleRelayout = true, RenderObjec t* newRoot = 0, SubtreeLayoutScope* = 0); 665 void markContainingBlocksForLayout(bool scheduleRelayout = true, RenderObjec t* newRoot = 0, SubtreeLayoutScope* = 0);
665 void setNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayou tScope* = 0); 666 void setNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayou tScope* = 0);
666 void setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior = MarkContaining BlockChain, SubtreeLayoutScope* = 0); 667 void setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior = MarkContaining BlockChain, SubtreeLayoutScope* = 0);
667 void clearNeedsLayout(); 668 void clearNeedsLayout();
668 void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, Subtree LayoutScope* = 0); 669 void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, Subtree LayoutScope* = 0);
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
1151 virtual bool paintInvalidationStateIsDirty() const 1152 virtual bool paintInvalidationStateIsDirty() const
1152 { 1153 {
1153 return layoutDidGetCalled() || shouldDoFullPaintInvalidation() || should DoFullPaintInvalidationIfSelfPaintingLayer() 1154 return layoutDidGetCalled() || shouldDoFullPaintInvalidation() || should DoFullPaintInvalidationIfSelfPaintingLayer()
1154 || onlyNeededPositionedMovementLayout() || neededLayoutBecauseOfChil dren() || mayNeedPaintInvalidation(); 1155 || onlyNeededPositionedMovementLayout() || neededLayoutBecauseOfChil dren() || mayNeedPaintInvalidation();
1155 } 1156 }
1156 #endif 1157 #endif
1157 1158
1158 private: 1159 private:
1159 const RenderLayerModelObject* enclosingCompositedContainer() const; 1160 const RenderLayerModelObject* enclosingCompositedContainer() const;
1160 1161
1161 RenderBlock* containerForFixedPosition(const RenderLayerModelObject* paintIn validationContainer = 0, bool* paintInvalidationContainerSkipped = 0) const;
1162
1163 RenderFlowThread* locateFlowThreadContainingBlock() const; 1162 RenderFlowThread* locateFlowThreadContainingBlock() const;
1164 void removeFromRenderFlowThread(); 1163 void removeFromRenderFlowThread();
1165 void removeFromRenderFlowThreadRecursive(RenderFlowThread*); 1164 void removeFromRenderFlowThreadRecursive(RenderFlowThread*);
1166 1165
1167 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const; 1166 bool hasImmediateNonWhitespaceTextChildOrPropertiesDependentOnColor() const;
1168 1167
1169 RenderStyle* cachedFirstLineStyle() const; 1168 RenderStyle* cachedFirstLineStyle() const;
1170 StyleDifference adjustStyleDifference(StyleDifference) const; 1169 StyleDifference adjustStyleDifference(StyleDifference) const;
1171 1170
1172 Color selectionColor(int colorProperty) const; 1171 Color selectionColor(int colorProperty) const;
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 void showTree(const blink::RenderObject*); 1566 void showTree(const blink::RenderObject*);
1568 void showLineTree(const blink::RenderObject*); 1567 void showLineTree(const blink::RenderObject*);
1569 void showRenderTree(const blink::RenderObject* object1); 1568 void showRenderTree(const blink::RenderObject* object1);
1570 // We don't make object2 an optional parameter so that showRenderTree 1569 // We don't make object2 an optional parameter so that showRenderTree
1571 // can be called from gdb easily. 1570 // can be called from gdb easily.
1572 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2); 1571 void showRenderTree(const blink::RenderObject* object1, const blink::RenderObjec t* object2);
1573 1572
1574 #endif 1573 #endif
1575 1574
1576 #endif // RenderObject_h 1575 #endif // RenderObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698