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

Side by Side Diff: Source/core/rendering/RenderBlock.cpp

Issue 686173006: Ignore ::first-letter from ancestors in grids and flexboxes (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Patch for landing Created 6 years, 1 month 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 | « LayoutTests/fast/css-grid-layout/grid-container-ignore-first-letter-expected.txt ('k') | no next file » | 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) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 3727 matching lines...) Expand 10 before | Expand all | Expand 10 after
3738 } else if (currChild->isListMarker()) { 3738 } else if (currChild->isListMarker()) {
3739 currChild = currChild->nextSibling(); 3739 currChild = currChild->nextSibling();
3740 } else if (currChild->isFloatingOrOutOfFlowPositioned()) { 3740 } else if (currChild->isFloatingOrOutOfFlowPositioned()) {
3741 if (currChild->style()->styleType() == FIRST_LETTER) { 3741 if (currChild->style()->styleType() == FIRST_LETTER) {
3742 currChild = currChild->slowFirstChild(); 3742 currChild = currChild->slowFirstChild();
3743 break; 3743 break;
3744 } 3744 }
3745 currChild = currChild->nextSibling(); 3745 currChild = currChild->nextSibling();
3746 } else if (currChild->isReplaced() || currChild->isRenderButton() || cur rChild->isMenuList()) { 3746 } else if (currChild->isReplaced() || currChild->isRenderButton() || cur rChild->isMenuList()) {
3747 break; 3747 break;
3748 } else if (currChild->isFlexibleBoxIncludingDeprecated() || currChild->i sRenderGrid()) {
3749 return;
3748 } else if (currChild->style()->hasPseudoStyle(FIRST_LETTER) && currChild ->canHaveGeneratedChildren()) { 3750 } else if (currChild->style()->hasPseudoStyle(FIRST_LETTER) && currChild ->canHaveGeneratedChildren()) {
3749 // We found a lower-level node with first-letter, which supersedes t he higher-level style 3751 // We found a lower-level node with first-letter, which supersedes t he higher-level style
3750 firstLetterBlock = currChild; 3752 firstLetterBlock = currChild;
3751 currChild = currChild->slowFirstChild(); 3753 currChild = currChild->slowFirstChild();
3752 } else { 3754 } else {
3753 currChild = currChild->slowFirstChild(); 3755 currChild = currChild->slowFirstChild();
3754 } 3756 }
3755 } 3757 }
3756 3758
3757 if (!currChild || !isRenderBlockFlowOrRenderButton(firstLetterBlock)) 3759 if (!currChild)
3758 return; 3760 return;
3759 3761
3760 // If the child already has style, then it has already been created, so we j ust want 3762 // If the child already has style, then it has already been created, so we j ust want
3761 // to update it. 3763 // to update it.
3762 if (currChild->parent()->style()->styleType() == FIRST_LETTER) { 3764 if (currChild->parent()->style()->styleType() == FIRST_LETTER) {
3763 updateFirstLetterStyle(firstLetterBlock, currChild); 3765 updateFirstLetterStyle(firstLetterBlock, currChild);
3764 return; 3766 return;
3765 } 3767 }
3766 3768
3767 // FIXME: This black-list of disallowed RenderText subclasses is fragile. 3769 // FIXME: This black-list of disallowed RenderText subclasses is fragile.
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
4361 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 4363 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
4362 { 4364 {
4363 showRenderObject(); 4365 showRenderObject();
4364 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 4366 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
4365 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 4367 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
4366 } 4368 }
4367 4369
4368 #endif 4370 #endif
4369 4371
4370 } // namespace blink 4372 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/fast/css-grid-layout/grid-container-ignore-first-letter-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698