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

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

Issue 2051703002: Implement closed shadow adjustment for Element.offsetParent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: test Created 4 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) 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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 // Populates StickyPositionConstraints, setting the sticky box rect, contain ing block rect and updating 141 // Populates StickyPositionConstraints, setting the sticky box rect, contain ing block rect and updating
142 // the constraint offsets according to the available space. 142 // the constraint offsets according to the available space.
143 FloatRect computeStickyConstrainingRect() const; 143 FloatRect computeStickyConstrainingRect() const;
144 void updateStickyPositionConstraints() const; 144 void updateStickyPositionConstraints() const;
145 LayoutSize stickyPositionOffset() const; 145 LayoutSize stickyPositionOffset() const;
146 146
147 LayoutSize offsetForInFlowPosition() const; 147 LayoutSize offsetForInFlowPosition() const;
148 148
149 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin es (LayoutFlow) 149 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin es (LayoutFlow)
150 // to return the remaining width on a given line (and the height of a single line). 150 // to return the remaining width on a given line (and the height of a single line).
151 virtual LayoutUnit offsetLeft() const; 151 virtual LayoutUnit offsetLeft(const Element*) const;
152 virtual LayoutUnit offsetTop() const; 152 virtual LayoutUnit offsetTop(const Element*) const;
153 virtual LayoutUnit offsetWidth() const = 0; 153 virtual LayoutUnit offsetWidth() const = 0;
154 virtual LayoutUnit offsetHeight() const = 0; 154 virtual LayoutUnit offsetHeight() const = 0;
155 155
156 int pixelSnappedOffsetLeft() const { return roundToInt(offsetLeft()); } 156 int pixelSnappedOffsetLeft(const Element* parent) const { return roundToInt( offsetLeft(parent)); }
157 int pixelSnappedOffsetTop() const { return roundToInt(offsetTop()); } 157 int pixelSnappedOffsetTop(const Element* parent) const { return roundToInt(o ffsetTop(parent)); }
158 virtual int pixelSnappedOffsetWidth() const; 158 virtual int pixelSnappedOffsetWidth(const Element*) const;
159 virtual int pixelSnappedOffsetHeight() const; 159 virtual int pixelSnappedOffsetHeight(const Element*) const;
160 160
161 bool hasSelfPaintingLayer() const; 161 bool hasSelfPaintingLayer() const;
162 PaintLayer* layer() const { return m_layer.get(); } 162 PaintLayer* layer() const { return m_layer.get(); }
163 PaintLayerScrollableArea* getScrollableArea() const; 163 PaintLayerScrollableArea* getScrollableArea() const;
164 164
165 virtual void updateFromStyle(); 165 virtual void updateFromStyle();
166 166
167 // The type of PaintLayer to instantiate. 167 // The type of PaintLayer to instantiate.
168 // Any value returned from this function other than NoPaintLayer 168 // Any value returned from this function other than NoPaintLayer
169 // will populate |m_layer|. 169 // will populate |m_layer|.
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 void invalidateDisplayItemClientOnBacking(const DisplayItemClient&, PaintInv alidationReason, const LayoutObject* = nullptr) const; 297 void invalidateDisplayItemClientOnBacking(const DisplayItemClient&, PaintInv alidationReason, const LayoutObject* = nullptr) const;
298 298
299 // http://www.w3.org/TR/css3-background/#body-background 299 // http://www.w3.org/TR/css3-background/#body-background
300 // <html> root element with no background steals background from its first < body> child. 300 // <html> root element with no background steals background from its first < body> child.
301 // The used background for such body element should be the initial value. (i .e. transparent) 301 // The used background for such body element should be the initial value. (i .e. transparent)
302 bool backgroundStolenForBeingBody(const ComputedStyle* rootElementStyle = nu llptr) const; 302 bool backgroundStolenForBeingBody(const ComputedStyle* rootElementStyle = nu llptr) const;
303 303
304 protected: 304 protected:
305 void willBeDestroyed() override; 305 void willBeDestroyed() override;
306 306
307 LayoutPoint adjustedPositionRelativeToOffsetParent(const LayoutPoint&) const ; 307 LayoutPoint adjustedPositionRelativeTo(const LayoutPoint&, const Element*) c onst;
308 308
309 bool calculateHasBoxDecorations() const; 309 bool calculateHasBoxDecorations() const;
310 310
311 // Returns the continuation associated with |this|. 311 // Returns the continuation associated with |this|.
312 // Returns nullptr if no continuation is associated with |this|. 312 // Returns nullptr if no continuation is associated with |this|.
313 // 313 //
314 // See the section about CONTINUATIONS AND ANONYMOUS LAYOUTBLOCKFLOWS in 314 // See the section about CONTINUATIONS AND ANONYMOUS LAYOUTBLOCKFLOWS in
315 // LayoutInline for more details about them. 315 // LayoutInline for more details about them.
316 // 316 //
317 // Our implementation uses a HashMap to store them to avoid paying the cost 317 // Our implementation uses a HashMap to store them to avoid paying the cost
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 OwnPtr<PaintLayer> m_layer; 383 OwnPtr<PaintLayer> m_layer;
384 384
385 OwnPtr<LayoutBoxModelObjectRareData> m_rareData; 385 OwnPtr<LayoutBoxModelObjectRareData> m_rareData;
386 }; 386 };
387 387
388 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); 388 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject());
389 389
390 } // namespace blink 390 } // namespace blink
391 391
392 #endif // LayoutBoxModelObject_h 392 #endif // LayoutBoxModelObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698