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

Side by Side Diff: third_party/WebKit/Source/core/style/ComputedStyle.h

Issue 2716583005: Do not promote position sticky or fixed elements unless they move with scroll. (Closed)
Patch Set: Created 3 years, 9 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 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
6 * rights reserved. 6 * rights reserved.
7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
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 3176 matching lines...) Expand 10 before | Expand all | Expand 10 after
3187 // Position utility functions. 3187 // Position utility functions.
3188 bool hasOutOfFlowPosition() const { 3188 bool hasOutOfFlowPosition() const {
3189 return position() == EPosition::kAbsolute || 3189 return position() == EPosition::kAbsolute ||
3190 position() == EPosition::kFixed; 3190 position() == EPosition::kFixed;
3191 } 3191 }
3192 bool hasInFlowPosition() const { 3192 bool hasInFlowPosition() const {
3193 return position() == EPosition::kRelative || 3193 return position() == EPosition::kRelative ||
3194 position() == EPosition::kSticky; 3194 position() == EPosition::kSticky;
3195 } 3195 }
3196 bool hasViewportConstrainedPosition() const { 3196 bool hasViewportConstrainedPosition() const {
3197 return position() == EPosition::kFixed || position() == EPosition::kSticky; 3197 return position() == EPosition::kFixed;
3198 }
3199 bool hasStickyConstrainedPosition() const {
3200 return position() == EPosition::kSticky &&
3201 (!top().isAuto() || !left().isAuto() || !right().isAuto() ||
3202 !bottom().isAuto());
3198 } 3203 }
3199 3204
3200 // Clip utility functions. 3205 // Clip utility functions.
3201 const Length& clipLeft() const { return m_visual->clip.left(); } 3206 const Length& clipLeft() const { return m_visual->clip.left(); }
3202 const Length& clipRight() const { return m_visual->clip.right(); } 3207 const Length& clipRight() const { return m_visual->clip.right(); }
3203 const Length& clipTop() const { return m_visual->clip.top(); } 3208 const Length& clipTop() const { return m_visual->clip.top(); }
3204 const Length& clipBottom() const { return m_visual->clip.bottom(); } 3209 const Length& clipBottom() const { return m_visual->clip.bottom(); }
3205 3210
3206 // Offset utility functions. 3211 // Offset utility functions.
3207 // Accessors for positioned object edges that take into account writing mode. 3212 // Accessors for positioned object edges that take into account writing mode.
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after
3849 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1); 3854 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1);
3850 } 3855 }
3851 3856
3852 inline bool ComputedStyle::hasPseudoElementStyle() const { 3857 inline bool ComputedStyle::hasPseudoElementStyle() const {
3853 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; 3858 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask;
3854 } 3859 }
3855 3860
3856 } // namespace blink 3861 } // namespace blink
3857 3862
3858 #endif // ComputedStyle_h 3863 #endif // ComputedStyle_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698