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

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: Merge, convert pixel to ref tests, and address comments. 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
« no previous file with comments | « Source/core/layout/LayoutObject.h ('k') | Source/core/layout/TracedLayoutObject.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1075 matching lines...) Expand 10 before | Expand all | Expand 10 after
1086 StringBuilder name; 1086 StringBuilder name;
1087 name.append(this->name()); 1087 name.append(this->name());
1088 1088
1089 if (isAnonymous()) 1089 if (isAnonymous())
1090 name.append(" (anonymous)"); 1090 name.append(" (anonymous)");
1091 // FIXME: Remove the special case for LayoutView here (requires rebaseline o f all tests). 1091 // FIXME: Remove the special case for LayoutView here (requires rebaseline o f all tests).
1092 if (isOutOfFlowPositioned() && !isLayoutView()) 1092 if (isOutOfFlowPositioned() && !isLayoutView())
1093 name.append(" (positioned)"); 1093 name.append(" (positioned)");
1094 if (isRelPositioned()) 1094 if (isRelPositioned())
1095 name.append(" (relative positioned)"); 1095 name.append(" (relative positioned)");
1096 if (isStickyPositioned())
1097 name.append(" (sticky positioned)");
1096 if (isFloating()) 1098 if (isFloating())
1097 name.append(" (floating)"); 1099 name.append(" (floating)");
1098 if (spannerPlaceholder()) 1100 if (spannerPlaceholder())
1099 name.append(" (column spanner)"); 1101 name.append(" (column spanner)");
1100 1102
1101 return name.toString(); 1103 return name.toString();
1102 } 1104 }
1103 1105
1104 String LayoutObject::debugName() const 1106 String LayoutObject::debugName() const
1105 { 1107 {
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after
1996 if (blockChildrenOnly && !child->isLayoutBlock()) 1998 if (blockChildrenOnly && !child->isLayoutBlock())
1997 continue; 1999 continue;
1998 2000
1999 if (child->isLayoutFullScreen() || child->isLayoutFullScreenPlaceholder( )) 2001 if (child->isLayoutFullScreen() || child->isLayoutFullScreenPlaceholder( ))
2000 continue; 2002 continue;
2001 2003
2002 RefPtr<ComputedStyle> newStyle = ComputedStyle::createAnonymousStyleWith Display(styleRef(), child->style()->display()); 2004 RefPtr<ComputedStyle> newStyle = ComputedStyle::createAnonymousStyleWith Display(styleRef(), child->style()->display());
2003 2005
2004 // Preserve the position style of anonymous block continuations as they can have relative position when 2006 // Preserve the position style of anonymous block continuations as they can have relative position when
2005 // they contain block descendants of relative positioned inlines. 2007 // they contain block descendants of relative positioned inlines.
2006 if (child->isRelPositioned() && toLayoutBlock(child)->isAnonymousBlockCo ntinuation()) 2008 if (child->isInFlowPositioned() && toLayoutBlock(child)->isAnonymousBloc kContinuation())
2007 newStyle->setPosition(child->style()->position()); 2009 newStyle->setPosition(child->style()->position());
2008 2010
2009 updateAnonymousChildStyle(*child, *newStyle); 2011 updateAnonymousChildStyle(*child, *newStyle);
2010 2012
2011 child->setStyle(newStyle.release()); 2013 child->setStyle(newStyle.release());
2012 } 2014 }
2013 } 2015 }
2014 2016
2015 void LayoutObject::updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers) 2017 void LayoutObject::updateFillImages(const FillLayer* oldLayers, const FillLayer& newLayers)
2016 { 2018 {
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after
3301 const blink::LayoutObject* root = object1; 3303 const blink::LayoutObject* root = object1;
3302 while (root->parent()) 3304 while (root->parent())
3303 root = root->parent(); 3305 root = root->parent();
3304 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); 3306 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0);
3305 } else { 3307 } else {
3306 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n"); 3308 fprintf(stderr, "Cannot showLayoutTree. Root is (nil)\n");
3307 } 3309 }
3308 } 3310 }
3309 3311
3310 #endif 3312 #endif
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutObject.h ('k') | Source/core/layout/TracedLayoutObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698