summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/editing/TextIterator.h
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-02-23 13:40:23 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-02-23 13:40:23 -0800
commit49be9fd5f37bd2633874b9b4236d965933ab24cb (patch)
tree686962ce413ea8866fd1761114ec26b4e127eba9 /Source/WebCore/editing/TextIterator.h
parenta5460bb8f4d5cad3f45fad39d1745bf31c2b2dac (diff)
parent773979f92560dd1aead375c82fd75b584a141e5d (diff)
downloadexternal_webkit-49be9fd5f37bd2633874b9b4236d965933ab24cb.zip
external_webkit-49be9fd5f37bd2633874b9b4236d965933ab24cb.tar.gz
external_webkit-49be9fd5f37bd2633874b9b4236d965933ab24cb.tar.bz2
Merge "Support address detection"
Diffstat (limited to 'Source/WebCore/editing/TextIterator.h')
-rw-r--r--Source/WebCore/editing/TextIterator.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/Source/WebCore/editing/TextIterator.h b/Source/WebCore/editing/TextIterator.h
index 9fe4ceb..c4fc264 100644
--- a/Source/WebCore/editing/TextIterator.h
+++ b/Source/WebCore/editing/TextIterator.h
@@ -42,7 +42,10 @@ enum TextIteratorBehavior {
TextIteratorEntersTextControls = 1 << 1,
TextIteratorEmitsTextsWithoutTranscoding = 1 << 2,
TextIteratorIgnoresStyleVisibility = 1 << 3,
- TextIteratorEmitsObjectReplacementCharacters = 1 << 4
+ TextIteratorEmitsObjectReplacementCharacters = 1 << 4,
+#if OS(ANDROID)
+ TextIteratorStopsOnFormControls = 1 << 6
+#endif
};
// FIXME: Can't really answer this question correctly without knowing the white-space mode.
@@ -88,7 +91,7 @@ public:
~TextIterator();
explicit TextIterator(const Range*, TextIteratorBehavior = TextIteratorDefaultBehavior);
- bool atEnd() const { return !m_positionNode; }
+ bool atEnd() const;
void advance();
int length() const { return m_textLength; }
@@ -182,6 +185,12 @@ private:
bool m_ignoresStyleVisibility;
// Used when emitting the special 0xFFFC character is required.
bool m_emitsObjectReplacementCharacters;
+#if OS(ANDROID)
+ // Used when the iteration should stop if form controls are reached.
+ bool m_stopsOnFormControls;
+ // Used when m_stopsOnFormControls is set to determine if the iterator should keep advancing.
+ bool m_shouldStop;
+#endif
};
// Iterates through the DOM range, returning all the text, and 0-length boundaries
@@ -192,7 +201,7 @@ public:
SimplifiedBackwardsTextIterator();
explicit SimplifiedBackwardsTextIterator(const Range*, TextIteratorBehavior = TextIteratorDefaultBehavior);
- bool atEnd() const { return !m_positionNode; }
+ bool atEnd() const;
void advance();
int length() const { return m_textLength; }
@@ -240,6 +249,13 @@ private:
// Whether m_node has advanced beyond the iteration range (i.e. m_startNode).
bool m_havePassedStartNode;
+
+#if OS(ANDROID)
+ // Used when the iteration should stop if form controls are reached.
+ bool m_stopsOnFormControls;
+ // Used when m_stopsOnFormControls is set to determine if the iterator should keep advancing.
+ bool m_shouldStop;
+#endif
};
// Builds on the text iterator, adding a character position so we can walk one