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

Side by Side Diff: Source/core/layout/LayoutObject.cpp

Issue 1212893005: Add position: sticky as supported position value when CSSStickyPosition is enabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Comments and merge. Created 5 years, 5 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 * (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) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 StringBuilder name; 1074 StringBuilder name;
1075 name.append(this->name()); 1075 name.append(this->name());
1076 1076
1077 if (isAnonymous()) 1077 if (isAnonymous())
1078 name.append(" (anonymous)"); 1078 name.append(" (anonymous)");
1079 // FIXME: Remove the special case for LayoutView here (requires rebaseline o f all tests). 1079 // FIXME: Remove the special case for LayoutView here (requires rebaseline o f all tests).
1080 if (isOutOfFlowPositioned() && !isLayoutView()) 1080 if (isOutOfFlowPositioned() && !isLayoutView())
1081 name.append(" (positioned)"); 1081 name.append(" (positioned)");
1082 if (isRelPositioned()) 1082 if (isRelPositioned())
1083 name.append(" (relative positioned)"); 1083 name.append(" (relative positioned)");
1084 if (isStickyPositioned())
1085 name.append(" (sticky positioned)");
1084 if (isFloating()) 1086 if (isFloating())
1085 name.append(" (floating)"); 1087 name.append(" (floating)");
1086 if (spannerPlaceholder()) 1088 if (spannerPlaceholder())
1087 name.append(" (column spanner)"); 1089 name.append(" (column spanner)");
1088 1090
1089 return name.toString(); 1091 return name.toString();
1090 } 1092 }
1091 1093
1092 String LayoutObject::debugName() const 1094 String LayoutObject::debugName() const
1093 { 1095 {
(...skipping 871 matching lines...) Expand 10 before | Expand all | Expand 10 after
1965 if (blockChildrenOnly && !child->isLayoutBlock()) 1967 if (blockChildrenOnly && !child->isLayoutBlock())
1966 continue; 1968 continue;
1967 1969
1968 if (child->isLayoutFullScreen() || child->isLayoutFullScreenPlaceholder( )) 1970 if (child->isLayoutFullScreen() || child->isLayoutFullScreenPlaceholder( ))
1969 continue; 1971 continue;
1970 1972
1971 RefPtr<ComputedStyle> newStyle = ComputedStyle::createAnonymousStyleWith Display(styleRef(), child->style()->display()); 1973 RefPtr<ComputedStyle> newStyle = ComputedStyle::createAnonymousStyleWith Display(styleRef(), child->style()->display());
1972 1974
1973 // Preserve the position style of anonymous block continuations as they can have relative position when 1975 // Preserve the position style of anonymous block continuations as they can have relative position when
1974 // they contain block descendants of relative positioned inlines. 1976 // they contain block descendants of relative positioned inlines.
1975 if (child->isRelPositioned() && toLayoutBlock(child)->isAnonymousBlockCo ntinuation()) 1977 if (child->isInFlowPositioned() && toLayoutBlock(child)->isAnonymousBloc kContinuation())
1976 newStyle->setPosition(child->style()->position()); 1978 newStyle->setPosition(child->style()->position());
1977 1979
1978 updateAnonymousChildStyle(*child, *newStyle); 1980 updateAnonymousChildStyle(*child, *newStyle);
1979 1981
1980 child->setStyle(newStyle.release()); 1982 child->setStyle(newStyle.release());
1981 } 1983 }
1982 } 1984 }
1983 1985
1984 void LayoutObject::updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers) 1986 void LayoutObject::updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers)
1985 { 1987 {
(...skipping 1279 matching lines...) Expand 10 before | Expand all | Expand 10 after
3265 const blink::LayoutObject* root = object1; 3267 const blink::LayoutObject* root = object1;
3266 while (root->parent()) 3268 while (root->parent())
3267 root = root->parent(); 3269 root = root->parent();
3268 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3270 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3269 } else { 3271 } else {
3270 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); 3272 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n");
3271 } 3273 }
3272 } 3274 }
3273 3275
3274 #endif 3276 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698