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

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

Issue 2636253002: Handle nested position:sticky elements (Closed)
Patch Set: Ignore position:sticky offsets when computing localToAncestorQuad offsets Created 3 years, 10 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 : relativePositionOffset().transposedSize(); 148 : relativePositionOffset().transposedSize();
149 } 149 }
150 150
151 // Populates StickyPositionConstraints, setting the sticky box rect, 151 // Populates StickyPositionConstraints, setting the sticky box rect,
152 // containing block rect and updating the constraint offsets according to the 152 // containing block rect and updating the constraint offsets according to the
153 // available space. 153 // available space.
154 FloatRect computeStickyConstrainingRect() const; 154 FloatRect computeStickyConstrainingRect() const;
155 void updateStickyPositionConstraints() const; 155 void updateStickyPositionConstraints() const;
156 LayoutSize stickyPositionOffset() const; 156 LayoutSize stickyPositionOffset() const;
157 157
158 LayoutSize offsetForInFlowPosition() const; 158 LayoutSize offsetForInFlowPosition(bool ignoreSticky = false) const;
159 159
160 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines 160 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines
161 // (LayoutInline) to return the remaining width on a given line (and the 161 // (LayoutInline) to return the remaining width on a given line (and the
162 // height of a single line). 162 // height of a single line).
163 virtual LayoutUnit offsetLeft(const Element*) const; 163 virtual LayoutUnit offsetLeft(const Element*) const;
164 virtual LayoutUnit offsetTop(const Element*) const; 164 virtual LayoutUnit offsetTop(const Element*) const;
165 virtual LayoutUnit offsetWidth() const = 0; 165 virtual LayoutUnit offsetWidth() const = 0;
166 virtual LayoutUnit offsetHeight() const = 0; 166 virtual LayoutUnit offsetHeight() const = 0;
167 167
168 int pixelSnappedOffsetLeft(const Element* parent) const { 168 int pixelSnappedOffsetLeft(const Element* parent) const {
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 std::unique_ptr<PaintLayer> m_layer; 526 std::unique_ptr<PaintLayer> m_layer;
527 527
528 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData; 528 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData;
529 }; 529 };
530 530
531 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); 531 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject());
532 532
533 } // namespace blink 533 } // namespace blink
534 534
535 #endif // LayoutBoxModelObject_h 535 #endif // LayoutBoxModelObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698