Commit 86b71ef1 authored by yosin@chromium.org's avatar yosin@chromium.org

Move computeInlineBoxPosition() to VisibleUnits.{cpp,h} from Position.{cpp,h} and VisiblePosition.h

This patch moves |computeInlineBoxPosition()| to "VisibleUnits.{cpp,h} from
"Position.{cpp,h}" and "VisiblePosition.{cpp,h}" to consolidate |InlineBox|
dependency to "VisibleUnits.cpp" for ease of working them later.

BUG=518738
TEST=n/a; no behavior changes

Review URL: https://codereview.chromium.org/1303173002

git-svn-id: svn://svn.chromium.org/blink/trunk@200970 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent dcb20b16
...@@ -39,28 +39,12 @@ ...@@ -39,28 +39,12 @@
namespace blink { namespace blink {
class Element; class Element;
class InlineBox;
class Node; class Node;
class LayoutObject; class LayoutObject;
class Text; class Text;
enum class TextAffinity; enum class TextAffinity;
class TreeScope; class TreeScope;
struct InlineBoxPosition {
InlineBox* inlineBox;
int offsetInBox;
InlineBoxPosition()
: inlineBox(nullptr), offsetInBox(0)
{
}
InlineBoxPosition(InlineBox* inlineBox, int offsetInBox)
: inlineBox(inlineBox), offsetInBox(offsetInBox)
{
}
};
enum PositionMoveType { enum PositionMoveType {
CodePoint, // Move by a single code point. CodePoint, // Move by a single code point.
Character, // Move to the next Unicode character break. Character, // Move to the next Unicode character break.
...@@ -423,17 +407,6 @@ inline PositionInComposedTree fromPositionInDOMTree<EditingInComposedTreeStrateg ...@@ -423,17 +407,6 @@ inline PositionInComposedTree fromPositionInDOMTree<EditingInComposedTreeStrateg
return toPositionInComposedTree(position); return toPositionInComposedTree(position);
} }
// TODO(yosin) |isRenderedCharacter()| should be removed, and we should use
// |VisiblePosition::characterAfter()| and |VisiblePosition::characterBefore()|.
// TODO(yosin) We should move |isRenderedCharacter()| to "VisibleUnits.cpp",
// since it is used only in "editing/commands/"
CORE_EXPORT bool isRenderedCharacter(const Position&);
// TODO(yosin) We should move |computeInlineBoxPosition()| to "VisibleUnits.cpp"
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const Position&, TextAffinity);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const Position&, TextAffinity, TextDirection primaryDirection);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const PositionInComposedTree&, TextAffinity);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const PositionInComposedTree&, TextAffinity, TextDirection primaryDirection);
// TODO(yosin) We should move |inRenderedText()| to "VisibleUnits.h" for // TODO(yosin) We should move |inRenderedText()| to "VisibleUnits.h" for
// reduce dependency of |LayoutObject| in |Position| class. // reduce dependency of |LayoutObject| in |Position| class.
CORE_EXPORT bool inRenderedText(const Position&); CORE_EXPORT bool inRenderedText(const Position&);
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "core/editing/TextAffinity.h" #include "core/editing/TextAffinity.h"
#include "core/editing/VisiblePosition.h" #include "core/editing/VisiblePosition.h"
#include "core/editing/VisibleUnits.h"
#include "core/layout/compositing/CompositedSelectionBound.h" #include "core/layout/compositing/CompositedSelectionBound.h"
#include "core/paint/DeprecatedPaintLayer.h" #include "core/paint/DeprecatedPaintLayer.h"
......
...@@ -138,13 +138,6 @@ private: ...@@ -138,13 +138,6 @@ private:
TextAffinity m_affinity; TextAffinity m_affinity;
}; };
// TODO(yosin) We should move |computeInlineBoxPosition()| to "VisibleUnits.h"
// with |Position| version.
inline InlineBoxPosition computeInlineBoxPosition(const VisiblePosition& position)
{
return computeInlineBoxPosition(position.deepEquivalent(), position.affinity());
}
EphemeralRange makeRange(const VisiblePosition&, const VisiblePosition&); EphemeralRange makeRange(const VisiblePosition&, const VisiblePosition&);
CORE_EXPORT Position canonicalPositionOf(const Position&); CORE_EXPORT Position canonicalPositionOf(const Position&);
......
...@@ -39,10 +39,26 @@ class LayoutObject; ...@@ -39,10 +39,26 @@ class LayoutObject;
class Node; class Node;
class VisiblePosition; class VisiblePosition;
class IntPoint; class IntPoint;
class InlineBox;
class LocalFrame; class LocalFrame;
enum EWordSide { RightWordIfOnBoundary = false, LeftWordIfOnBoundary = true }; enum EWordSide { RightWordIfOnBoundary = false, LeftWordIfOnBoundary = true };
struct InlineBoxPosition {
InlineBox* inlineBox;
int offsetInBox;
InlineBoxPosition()
: inlineBox(nullptr), offsetInBox(0)
{
}
InlineBoxPosition(InlineBox* inlineBox, int offsetInBox)
: inlineBox(inlineBox), offsetInBox(offsetInBox)
{
}
};
// Position // Position
// mostForward/BackwardCaretPosition are used for moving back and forth between // mostForward/BackwardCaretPosition are used for moving back and forth between
// visually equivalent candidates. // visually equivalent candidates.
...@@ -126,6 +142,12 @@ VisiblePosition startOfEditableContent(const VisiblePosition&); ...@@ -126,6 +142,12 @@ VisiblePosition startOfEditableContent(const VisiblePosition&);
VisiblePosition endOfEditableContent(const VisiblePosition&); VisiblePosition endOfEditableContent(const VisiblePosition&);
bool isEndOfEditableOrNonEditableContent(const VisiblePosition&); bool isEndOfEditableOrNonEditableContent(const VisiblePosition&);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const Position&, TextAffinity);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const Position&, TextAffinity, TextDirection primaryDirection);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const PositionInComposedTree&, TextAffinity);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const PositionInComposedTree&, TextAffinity, TextDirection primaryDirection);
CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const VisiblePosition&);
// Rect is local to the returned layoutObject // Rect is local to the returned layoutObject
LayoutRect localCaretRectOfPosition(const PositionWithAffinity&, LayoutObject*&); LayoutRect localCaretRectOfPosition(const PositionWithAffinity&, LayoutObject*&);
bool hasRenderedNonAnonymousDescendantsWithHeight(LayoutObject*); bool hasRenderedNonAnonymousDescendantsWithHeight(LayoutObject*);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment