Commit defe0934 authored by yosin@chromium.org's avatar yosin@chromium.org

Move isRenderedCharacter() to EditorCommand.cpp from Position.cpp

This patch moves |isRenderedCharacter()| to "EditorCommand.cpp" from
"Position.cpp" to narrow visibility of |isRenderedCharacter()| for
improving code health, since it is used only classes derived from
|EditorCommand|.

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

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

git-svn-id: svn://svn.chromium.org/blink/trunk@200891 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 9277338a
......@@ -662,21 +662,6 @@ bool inRenderedText(const PositionInComposedTree& position)
return inRenderedTextAlgorithm<EditingInComposedTreeStrategy>(position);
}
bool isRenderedCharacter(const Position& position)
{
if (position.isNull())
return false;
ASSERT(position.isOffsetInAnchor());
if (!position.anchorNode()->isTextNode())
return false;
LayoutObject* layoutObject = position.anchorNode()->layoutObject();
if (!layoutObject)
return false;
return toLayoutText(layoutObject)->isRenderedCharacter(position.offsetInContainerNode());
}
template <typename Strategy>
InlineBoxPosition PositionAlgorithm<Strategy>::computeInlineBoxPosition(TextAffinity affinity) const
{
......
......@@ -242,12 +242,6 @@ extern template class CORE_EXTERN_TEMPLATE_EXPORT PositionAlgorithm<EditingInCom
using Position = PositionAlgorithm<EditingStrategy>;
using PositionInComposedTree = PositionAlgorithm<EditingInComposedTreeStrategy>;
// 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 make |parentEditingBoundary()| as static function
// in "VisibleUnits.cpp", since it is used only there.
CORE_EXPORT Node* parentEditingBoundary(const Position&);
......
......@@ -31,6 +31,7 @@
#include "core/editing/FrameSelection.h"
#include "core/editing/commands/CompositeEditCommand.h"
#include "core/frame/LocalFrame.h"
#include "core/layout/LayoutText.h"
namespace blink {
......@@ -89,6 +90,21 @@ void EditCommand::setEndingSelection(const VisiblePosition& position)
setEndingSelection(VisibleSelection(position));
}
bool EditCommand::isRenderedCharacter(const Position& position)
{
if (position.isNull())
return false;
ASSERT(position.isOffsetInAnchor());
if (!position.anchorNode()->isTextNode())
return false;
LayoutObject* layoutObject = position.anchorNode()->layoutObject();
if (!layoutObject)
return false;
return toLayoutText(layoutObject)->isRenderedCharacter(position.offsetInContainerNode());
}
void EditCommand::setParent(CompositeEditCommand* parent)
{
ASSERT((parent && !m_parent) || (!parent && m_parent));
......
......@@ -63,6 +63,11 @@ protected:
void setEndingSelection(const VisibleSelection&);
void setEndingSelection(const VisiblePosition&);
// TODO(yosin) |isRenderedCharacter()| should be removed, and we should use
// |VisiblePosition::characterAfter()| and
// |VisiblePosition::characterBefore()|.
static bool isRenderedCharacter(const Position&);
private:
RefPtrWillBeMember<Document> m_document;
VisibleSelection m_startingSelection;
......
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