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

Side by Side Diff: sky/engine/core/dom/Position.cpp

Issue 1068683002: Delete RenderBlockFlow. (Closed) Base URL: https://github.com/domokit/mojo.git@block
Patch Set: Remove unused float-related code instead of moving it. Created 5 years, 8 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) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 22 matching lines...) Expand all
33 #include "sky/engine/core/editing/TextIterator.h" 33 #include "sky/engine/core/editing/TextIterator.h"
34 #include "sky/engine/core/editing/VisiblePosition.h" 34 #include "sky/engine/core/editing/VisiblePosition.h"
35 #include "sky/engine/core/editing/VisibleUnits.h" 35 #include "sky/engine/core/editing/VisibleUnits.h"
36 #include "sky/engine/core/editing/htmlediting.h" 36 #include "sky/engine/core/editing/htmlediting.h"
37 #include "sky/engine/core/frame/LocalFrame.h" 37 #include "sky/engine/core/frame/LocalFrame.h"
38 #include "sky/engine/core/frame/Settings.h" 38 #include "sky/engine/core/frame/Settings.h"
39 #include "sky/engine/core/rendering/InlineIterator.h" 39 #include "sky/engine/core/rendering/InlineIterator.h"
40 #include "sky/engine/core/rendering/InlineTextBox.h" 40 #include "sky/engine/core/rendering/InlineTextBox.h"
41 #include "sky/engine/core/rendering/RenderBlock.h" 41 #include "sky/engine/core/rendering/RenderBlock.h"
42 #include "sky/engine/core/rendering/RenderInline.h" 42 #include "sky/engine/core/rendering/RenderInline.h"
43 #include "sky/engine/core/rendering/RenderParagraph.h"
43 #include "sky/engine/core/rendering/RenderText.h" 44 #include "sky/engine/core/rendering/RenderText.h"
44 #include "sky/engine/platform/Logging.h" 45 #include "sky/engine/platform/Logging.h"
45 #include "sky/engine/wtf/text/CString.h" 46 #include "sky/engine/wtf/text/CString.h"
46 #include "sky/engine/wtf/unicode/CharacterNames.h" 47 #include "sky/engine/wtf/unicode/CharacterNames.h"
47 48
48 namespace blink { 49 namespace blink {
49 50
50 static Node* nextRenderedEditable(Node* node) 51 static Node* nextRenderedEditable(Node* node)
51 { 52 {
52 for (node = node->nextLeafNode(); node; node = node->nextLeafNode()) { 53 for (node = node->nextLeafNode(); node; node = node->nextLeafNode()) {
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 RenderObject* renderer = deprecatedNode()->renderer(); 796 RenderObject* renderer = deprecatedNode()->renderer();
796 if (!renderer) 797 if (!renderer)
797 return false; 798 return false;
798 799
799 if (renderer->isText()) 800 if (renderer->isText())
800 return !nodeIsUserSelectNone(deprecatedNode()) && inRenderedText(); 801 return !nodeIsUserSelectNone(deprecatedNode()) && inRenderedText();
801 802
802 if (editingIgnoresContent(deprecatedNode())) 803 if (editingIgnoresContent(deprecatedNode()))
803 return (atFirstEditingPositionForNode() || atLastEditingPositionForNode( )) && !nodeIsUserSelectNone(deprecatedNode()->parentNode()); 804 return (atFirstEditingPositionForNode() || atLastEditingPositionForNode( )) && !nodeIsUserSelectNone(deprecatedNode()->parentNode());
804 805
805 if (renderer->isRenderBlockFlow()) { 806 if (renderer->isRenderParagraph()) {
806 if (toRenderBlock(renderer)->logicalHeight()) { 807 if (toRenderParagraph(renderer)->logicalHeight()) {
807 if (!Position::hasRenderedNonAnonymousDescendantsWithHeight(renderer )) 808 if (!Position::hasRenderedNonAnonymousDescendantsWithHeight(renderer ))
808 return atFirstEditingPositionForNode() && !Position::nodeIsUserS electNone(deprecatedNode()); 809 return atFirstEditingPositionForNode() && !Position::nodeIsUserS electNone(deprecatedNode());
809 return m_anchorNode->hasEditableStyle() && !Position::nodeIsUserSele ctNone(deprecatedNode()) && atEditingBoundary(); 810 return m_anchorNode->hasEditableStyle() && !Position::nodeIsUserSele ctNone(deprecatedNode()) && atEditingBoundary();
810 } 811 }
811 } else { 812 } else {
812 return m_anchorNode->hasEditableStyle() && !Position::nodeIsUserSelectNo ne(deprecatedNode()) && atEditingBoundary(); 813 return m_anchorNode->hasEditableStyle() && !Position::nodeIsUserSelectNo ne(deprecatedNode()) && atEditingBoundary();
813 } 814 }
814 815
815 return false; 816 return false;
816 } 817 }
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 return position; 997 return position;
997 } 998 }
998 999
999 void Position::getInlineBoxAndOffset(EAffinity affinity, TextDirection primaryDi rection, InlineBox*& inlineBox, int& caretOffset) const 1000 void Position::getInlineBoxAndOffset(EAffinity affinity, TextDirection primaryDi rection, InlineBox*& inlineBox, int& caretOffset) const
1000 { 1001 {
1001 caretOffset = deprecatedEditingOffset(); 1002 caretOffset = deprecatedEditingOffset();
1002 RenderObject* renderer = deprecatedNode()->renderer(); 1003 RenderObject* renderer = deprecatedNode()->renderer();
1003 1004
1004 if (!renderer->isText()) { 1005 if (!renderer->isText()) {
1005 inlineBox = 0; 1006 inlineBox = 0;
1006 if (canHaveChildrenForEditing(deprecatedNode()) && renderer->isRenderBlo ckFlow() && hasRenderedNonAnonymousDescendantsWithHeight(renderer)) { 1007 if (canHaveChildrenForEditing(deprecatedNode()) && renderer->isRenderPar agraph() && hasRenderedNonAnonymousDescendantsWithHeight(renderer)) {
1007 // Try a visually equivalent position with possibly opposite editabi lity. This helps in case |this| is in 1008 // Try a visually equivalent position with possibly opposite editabi lity. This helps in case |this| is in
1008 // an editable block but surrounded by non-editable positions. It ac ts to negate the logic at the beginning 1009 // an editable block but surrounded by non-editable positions. It ac ts to negate the logic at the beginning
1009 // of RenderObject::createVisiblePosition(). 1010 // of RenderObject::createVisiblePosition().
1010 Position equivalent = downstreamIgnoringEditingBoundaries(*this); 1011 Position equivalent = downstreamIgnoringEditingBoundaries(*this);
1011 if (equivalent == *this) { 1012 if (equivalent == *this) {
1012 equivalent = upstreamIgnoringEditingBoundaries(*this); 1013 equivalent = upstreamIgnoringEditingBoundaries(*this);
1013 if (equivalent == *this || downstreamIgnoringEditingBoundaries(e quivalent) == *this) 1014 if (equivalent == *this || downstreamIgnoringEditingBoundaries(e quivalent) == *this)
1014 return; 1015 return;
1015 } 1016 }
1016 1017
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 } 1145 }
1145 caretOffset = inlineBox->caretRightmostOffset(); 1146 caretOffset = inlineBox->caretRightmostOffset();
1146 } 1147 }
1147 } 1148 }
1148 } 1149 }
1149 1150
1150 TextDirection Position::primaryDirection() const 1151 TextDirection Position::primaryDirection() const
1151 { 1152 {
1152 TextDirection primaryDirection = LTR; 1153 TextDirection primaryDirection = LTR;
1153 for (const RenderObject* r = m_anchorNode->renderer(); r; r = r->parent()) { 1154 for (const RenderObject* r = m_anchorNode->renderer(); r; r = r->parent()) {
1154 if (r->isRenderBlockFlow()) { 1155 if (r->isRenderParagraph()) {
1155 primaryDirection = r->style()->direction(); 1156 primaryDirection = r->style()->direction();
1156 break; 1157 break;
1157 } 1158 }
1158 } 1159 }
1159 1160
1160 return primaryDirection; 1161 return primaryDirection;
1161 } 1162 }
1162 1163
1163 void Position::debugPosition(const char* msg) const 1164 void Position::debugPosition(const char* msg) const
1164 { 1165 {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 pos.showTreeForThis(); 1234 pos.showTreeForThis();
1234 } 1235 }
1235 1236
1236 void showTree(const blink::Position* pos) 1237 void showTree(const blink::Position* pos)
1237 { 1238 {
1238 if (pos) 1239 if (pos)
1239 pos->showTreeForThis(); 1240 pos->showTreeForThis();
1240 } 1241 }
1241 1242
1242 #endif 1243 #endif
OLDNEW
« no previous file with comments | « sky/engine/core/css/resolver/StyleResolver.cpp ('k') | sky/engine/core/dom/PositionIterator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698