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

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

Issue 103213002: position:sticky should stick for the enclosing overflow ancestor (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase patch + updated by review comments. Created 6 years, 11 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 // at http://www.w3.org/TR/CSS21/box.html 59 // at http://www.w3.org/TR/CSS21/box.html
60 60
61 class RenderBoxModelObject : public RenderLayerModelObject { 61 class RenderBoxModelObject : public RenderLayerModelObject {
62 public: 62 public:
63 RenderBoxModelObject(ContainerNode*); 63 RenderBoxModelObject(ContainerNode*);
64 virtual ~RenderBoxModelObject(); 64 virtual ~RenderBoxModelObject();
65 65
66 LayoutSize relativePositionOffset() const; 66 LayoutSize relativePositionOffset() const;
67 LayoutSize relativePositionLogicalOffset() const { return style()->isHorizon talWritingMode() ? relativePositionOffset() : relativePositionOffset().transpose dSize(); } 67 LayoutSize relativePositionLogicalOffset() const { return style()->isHorizon talWritingMode() ? relativePositionOffset() : relativePositionOffset().transpose dSize(); }
68 68
69 void computeStickyPositionConstraints(StickyPositionViewportConstraints&, co nst FloatRect& viewportRect) const; 69 void computeStickyPositionConstraints(StickyPositionViewportConstraints&, co nst FloatRect& constrainingRect) const;
70 LayoutSize stickyPositionOffset() const; 70 LayoutSize stickyPositionOffset() const;
71 LayoutSize stickyPositionLogicalOffset() const { return style()->isHorizonta lWritingMode() ? stickyPositionOffset() : stickyPositionOffset().transposedSize( ); } 71 LayoutSize stickyPositionLogicalOffset() const { return style()->isHorizonta lWritingMode() ? stickyPositionOffset() : stickyPositionOffset().transposedSize( ); }
72 72
73 LayoutSize offsetForInFlowPosition() const; 73 LayoutSize offsetForInFlowPosition() const;
74 74
75 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin es (RenderFlow) 75 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin es (RenderFlow)
76 // to return the remaining width on a given line (and the height of a single line). 76 // to return the remaining width on a given line (and the height of a single line).
77 virtual LayoutUnit offsetLeft() const; 77 virtual LayoutUnit offsetLeft() const;
78 virtual LayoutUnit offsetTop() const; 78 virtual LayoutUnit offsetTop() const;
79 virtual LayoutUnit offsetWidth() const = 0; 79 virtual LayoutUnit offsetWidth() const = 0;
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, c onst class BorderEdge[], 333 void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&, const Path&, c onst class BorderEdge[],
334 float thickness, float drawThickness, BoxSide, const RenderStyle*, 334 float thickness, float drawThickness, BoxSide, const RenderStyle*,
335 Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge); 335 Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge);
336 }; 336 };
337 337
338 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject()); 338 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject());
339 339
340 } // namespace WebCore 340 } // namespace WebCore
341 341
342 #endif // RenderBoxModelObject_h 342 #endif // RenderBoxModelObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698