summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/text/wince
diff options
context:
space:
mode:
authorShimeng (Simon) Wang <swang@google.com>2010-12-07 17:22:45 -0800
committerShimeng (Simon) Wang <swang@google.com>2010-12-22 14:15:40 -0800
commit4576aa36e9a9671459299c7963ac95aa94beaea9 (patch)
tree3863574e050f168c0126ecb47c83319fab0972d8 /WebCore/platform/text/wince
parent55323ac613cc31553107b68603cb627264d22bb0 (diff)
downloadexternal_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.zip
external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.tar.gz
external_webkit-4576aa36e9a9671459299c7963ac95aa94beaea9.tar.bz2
Merge WebKit at r73109: Initial merge by git.
Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
Diffstat (limited to 'WebCore/platform/text/wince')
-rw-r--r--WebCore/platform/text/wince/TextBoundariesWinCE.cpp74
-rw-r--r--WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp49
2 files changed, 20 insertions, 103 deletions
diff --git a/WebCore/platform/text/wince/TextBoundariesWinCE.cpp b/WebCore/platform/text/wince/TextBoundariesWinCE.cpp
deleted file mode 100644
index f3070a4..0000000
--- a/WebCore/platform/text/wince/TextBoundariesWinCE.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2007-2009 Torch Mobile, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "TextBoundaries.h"
-
-#include "NotImplemented.h"
-#include "PlatformString.h"
-
-using namespace WTF::Unicode;
-
-namespace WebCore {
-
-int findNextWordFromIndex(const UChar * buffer, int len, int position, bool forward)
-{
- notImplemented();
- return 0;
-}
-
-void findWordBoundary(const UChar * buffer, int len, int position, int* start, int* end)
-{
- if (position > len) {
- *start = 0;
- *end = 0;
- return;
- }
-
- String str(buffer, len);
-
- int currentPosition = position - 1;
- String foundWord;
- while (currentPosition >= 0 && isLetter(str[currentPosition])) {
- UChar c = str[currentPosition];
- foundWord.insert(&c, 1, 0);
- --currentPosition;
- }
-
- // currentPosition == 0 means the first char is not letter
- // currentPosition == -1 means we reached the beginning
- int startPos = (currentPosition < 0) ? 0 : ++currentPosition;
- currentPosition = position;
- while (isLetter(str[currentPosition])) {
- foundWord.append(str[currentPosition]);
- ++currentPosition;
- }
-
- *start = startPos;
- *end = currentPosition;
-}
-
-} // namespace WebCore
diff --git a/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp b/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp
index 7f46e4f..96488c0 100644
--- a/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp
+++ b/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp
@@ -55,7 +55,16 @@ public:
length = len;
currentPos = 0;
}
- virtual int first() = 0;
+ int first()
+ {
+ currentPos = 0;
+ return currentPos;
+ }
+ int last()
+ {
+ currentPos = length;
+ return currentPos;
+ }
virtual int next() = 0;
virtual int previous() = 0;
int following(int position)
@@ -75,35 +84,25 @@ public:
};
struct WordBreakIterator: TextBreakIterator {
- virtual int first();
virtual int next();
virtual int previous();
};
struct CharBreakIterator: TextBreakIterator {
- virtual int first();
virtual int next();
virtual int previous();
};
struct LineBreakIterator: TextBreakIterator {
- virtual int first();
virtual int next();
virtual int previous();
};
struct SentenceBreakIterator : TextBreakIterator {
- virtual int first();
virtual int next();
virtual int previous();
};
-int WordBreakIterator::first()
-{
- currentPos = 0;
- return currentPos;
-}
-
int WordBreakIterator::next()
{
if (currentPos == length) {
@@ -138,12 +137,6 @@ int WordBreakIterator::previous()
return currentPos;
}
-int CharBreakIterator::first()
-{
- currentPos = 0;
- return currentPos;
-}
-
int CharBreakIterator::next()
{
if (currentPos >= length)
@@ -166,12 +159,6 @@ int CharBreakIterator::previous()
return currentPos;
}
-int LineBreakIterator::first()
-{
- currentPos = 0;
- return currentPos;
-}
-
int LineBreakIterator::next()
{
if (currentPos == length) {
@@ -206,12 +193,6 @@ int LineBreakIterator::previous()
return currentPos;
}
-int SentenceBreakIterator::first()
-{
- currentPos = 0;
- return currentPos;
-}
-
int SentenceBreakIterator::next()
{
if (currentPos == length) {
@@ -279,11 +260,21 @@ int textBreakFirst(TextBreakIterator* breakIterator)
return breakIterator->first();
}
+int textBreakLast(TextBreakIterator* breakIterator)
+{
+ return breakIterator->last();
+}
+
int textBreakNext(TextBreakIterator* breakIterator)
{
return breakIterator->next();
}
+int textBreakPrevious(TextBreakIterator* breakIterator)
+{
+ return breakIterator->previous();
+}
+
int textBreakPreceding(TextBreakIterator* breakIterator, int position)
{
return breakIterator->preceding(position);