summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebKit/android/jni/WebViewCore.cpp28
-rw-r--r--WebKit/android/jni/WebViewCore.h3
2 files changed, 8 insertions, 23 deletions
diff --git a/WebKit/android/jni/WebViewCore.cpp b/WebKit/android/jni/WebViewCore.cpp
index 8c0fade..6e6196a 100644
--- a/WebKit/android/jni/WebViewCore.cpp
+++ b/WebKit/android/jni/WebViewCore.cpp
@@ -2234,7 +2234,7 @@ String WebViewCore::modifySelectionTextNavigationAxis(DOMSelection* selection, i
// the text content, rather its container, is highlighted.
Node* focusNode = selection->focusNode();
if (focusNode->isElementNode()) {
- focusNode = getImplicitAnchorOrFocusNode(selection->focusNode(),
+ focusNode = getImplicitBoundaryNode(selection->focusNode(),
selection->focusOffset(), direction);
if (!focusNode)
return String();
@@ -2270,9 +2270,9 @@ String WebViewCore::modifySelectionTextNavigationAxis(DOMSelection* selection, i
// Enforce that the selection does not cross anchor boundaries. This is
// a workaround for the asymmetric behavior of WebKit while crossing
// anchors.
- anchorNode = getImplicitAnchorOrFocusNode(selection->anchorNode(),
+ anchorNode = getImplicitBoundaryNode(selection->anchorNode(),
selection->anchorOffset(), direction);
- focusNode = getImplicitAnchorOrFocusNode(selection->focusNode(),
+ focusNode = getImplicitBoundaryNode(selection->focusNode(),
selection->focusOffset(), direction);
if (anchorNode && focusNode && anchorNode != focusNode) {
Node* inputControl = getIntermediaryInputElement(anchorNode, focusNode,
@@ -2357,7 +2357,7 @@ String WebViewCore::modifySelectionTextNavigationAxis(DOMSelection* selection, i
return markup;
}
-Node* WebViewCore::getImplicitAnchorOrFocusNode(Node* node, unsigned offset, int direction)
+Node* WebViewCore::getImplicitBoundaryNode(Node* node, unsigned offset, int direction)
{
if (node->offsetInCharacters())
return node;
@@ -2404,7 +2404,7 @@ Node* WebViewCore::getNextAnchorNode(Node* anchorNode, bool ignoreFirstNode, int
void WebViewCore::advanceAnchorNode(DOMSelection* selection, int direction,
String& markup, bool ignoreFirstNode, ExceptionCode& ec)
{
- Node* anchorNode = getImplicitAnchorOrFocusNode(selection->anchorNode(),
+ Node* anchorNode = getImplicitBoundaryNode(selection->anchorNode(),
selection->anchorOffset(), direction);
if (!anchorNode) {
ec = NOT_FOUND_ERR;
@@ -2689,8 +2689,7 @@ String WebViewCore::formatMarkup(DOMSelection* selection)
Node* nextNode = currentNode->traverseNextNode();
if (!isVisible(currentNode)) {
if (currentRange) {
- markup = markup + stripAppleSpanFromMarkup(
- currentRange->toHTML()).utf8().data();
+ markup = markup + currentRange->toHTML().utf8().data();
currentRange = 0;
}
} else {
@@ -2715,8 +2714,7 @@ String WebViewCore::formatMarkup(DOMSelection* selection)
wholeRange->endOffset(), ec);
if (ec)
break;
- markup = markup + stripAppleSpanFromMarkup(
- currentRange->toHTML()).utf8().data();
+ markup = markup + currentRange->toHTML().utf8().data();
} else {
if (currentNode->offsetInCharacters())
currentRange->setEnd(currentNode,
@@ -2733,18 +2731,6 @@ String WebViewCore::formatMarkup(DOMSelection* selection)
return markup.stripWhiteSpace();
}
-String WebViewCore::stripAppleSpanFromMarkup(String markup)
-{
- int fromIdx = markup.find("<span class=\"Apple-style-span\"");
- while (fromIdx > -1) {
- int toIdx = markup.find(">");
- markup = markup.replace(fromIdx, toIdx - fromIdx + 1, "");
- markup = markup.replace("</span>", "");
- fromIdx = markup.find("<span class=\"Apple-style-span\"");
- }
- return markup;
-}
-
void WebViewCore::selectAt(int x, int y)
{
JNIEnv* env = JSC::Bindings::getJNIEnv();
diff --git a/WebKit/android/jni/WebViewCore.h b/WebKit/android/jni/WebViewCore.h
index d38be79..411be1c 100644
--- a/WebKit/android/jni/WebViewCore.h
+++ b/WebKit/android/jni/WebViewCore.h
@@ -671,13 +671,12 @@ namespace android {
Node* m_currentNodeDomNavigationAxis;
void scrollNodeIntoView(Frame* frame, Node* node);
bool isContentTextNode(Node* node);
- String stripAppleSpanFromMarkup(String markup);
Node* getIntermediaryInputElement(Node* fromNode, Node* toNode, int direction);
bool isContentInputElement(Node* node);
bool isDescendantOf(Node* parent, Node* node);
void advanceAnchorNode(DOMSelection* selection, int direction, String& markup, bool ignoreFirstNode, ExceptionCode& ec);
Node* getNextAnchorNode(Node* anchorNode, bool skipFirstHack, int direction);
- Node* getImplicitAnchorOrFocusNode(Node* node, unsigned offset, int direction);
+ Node* getImplicitBoundaryNode(Node* node, unsigned offset, int direction);
#if ENABLE(TOUCH_EVENTS)
bool m_forwardingTouchEvents;