blob: 59ad7d8bf863222a5f07ac542859f694724604a0 [file] [log] [blame]
Index: README.chromium
diff --git a/README.chromium b/README.chromium
index 76acd4b06530827413286a72fed86771147c88d8..7e85c4949f1b52bbbda26e2d90b49852aaff7563 100644
--- a/README.chromium
+++ b/README.chromium
@@ -255,5 +255,5 @@ This directory contains the source code of ICU 4.6 for C/C++
- patches/csetdet.patch
- upstream bug: http://bugs.icu-project.org/trac/ticket/10318
-
-
+26. Add BreakIterator::getRuleStatus
+ - Copy and paste BreakIterator::getRuleStatus API from icu 52
Index: patches/breakiterator.patch
diff --git a/patches/breakiterator.patch b/patches/breakiterator.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f1b36a34d0b408940a9c528fa0c796e2db6cb457
--- /dev/null
+++ b/patches/breakiterator.patch
@@ -0,0 +1,74 @@
+From c795f7766bd4f650a2396c834bc2a07768781ae8 Mon Sep 17 00:00:00 2001
+From: Igor Oliveira <igor.o@sisa.samsung.com>
+Date: Tue, 17 Sep 2013 14:43:07 -0700
+Subject: [PATCH] The CL https://codereview.chromium.org/23618052/ depends of
+ an API that will be added by libicu 5.2,
+ BreakIterator::getRuleStatus. This patch is just a copy and
+ paste of the libicu 5.2 API into chromium libicu.
+
+---
+ README.chromium | 3 +++
+ source/common/brkiter.cpp | 7 +++++++
+ source/common/unicode/brkiter.h | 15 +++++++++++++++
+ 3 files changed, 25 insertions(+)
+
+diff --git a/README.chromium b/README.chromium
+index 76acd4b..eaf2e81 100644
+--- a/README.chromium
++++ b/README.chromium
+@@ -255,5 +255,8 @@ This directory contains the source code of ICU 4.6 for C/C++
+ - patches/csetdet.patch
+ - upstream bug: http://bugs.icu-project.org/trac/ticket/10318
+
++26. Add BreakIterator::getRuleStatus
++ - Copy and paste BreakIterator::getRuleStatus API from icu 5.2
++
+
+
+diff --git a/source/common/brkiter.cpp b/source/common/brkiter.cpp
+index 26f7b6a..41da826 100644
+--- a/source/common/brkiter.cpp
++++ b/source/common/brkiter.cpp
+@@ -436,6 +436,13 @@ BreakIterator::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const {
+ return locBased.getLocaleID(type, status);
+ }
+
++// This implementation of getRuleStatus is a do-nothing stub, here to
++// provide a default implementation for any derived BreakIterator classes that
++// do not implement it themselves.
++int32_t BreakIterator::getRuleStatus() const {
++ return 0;
++}
++
+ U_NAMESPACE_END
+
+ #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
+diff --git a/source/common/unicode/brkiter.h b/source/common/unicode/brkiter.h
+index bdd3cc7..1800336 100644
+--- a/source/common/unicode/brkiter.h
++++ b/source/common/unicode/brkiter.h
+@@ -284,6 +284,21 @@ public:
+ virtual int32_t next(int32_t n) = 0;
+
+ /**
++ * For RuleBasedBreakIterators, return the status tag from the
++ * break rule that determined the most recently
++ * returned break position.
++ * <p>
++ * For break iterator types that do not support a rule status,
++ * a default value of 0 is returned.
++ * <p>
++ * @return the status from the break rule that determined the most recently
++ * returned break position.
++ * @see RuleBaseBreakIterator::getRuleStatus()
++ * @see UWordBreak
++ */
++ virtual int32_t getRuleStatus() const;
++
++ /**
+ * Create BreakIterator for word-breaks using the given locale.
+ * Returns an instance of a BreakIterator implementing word breaks.
+ * WordBreak is useful for word selection (ex. double click)
+--
+1.7.12.4 (Apple Git-37)
+
Index: source/common/brkiter.cpp
diff --git a/source/common/brkiter.cpp b/source/common/brkiter.cpp
index 26f7b6a82e8b8981dce42a08d8fca6a2a42e81cc..41da826748370ad5caff57191e8c0f2f0da12c3e 100644
--- a/source/common/brkiter.cpp
+++ b/source/common/brkiter.cpp
@@ -436,6 +436,13 @@ BreakIterator::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const {
return locBased.getLocaleID(type, status);
}
+// This implementation of getRuleStatus is a do-nothing stub, here to
+// provide a default implementation for any derived BreakIterator classes that
+// do not implement it themselves.
+int32_t BreakIterator::getRuleStatus() const {
+ return 0;
+}
+
U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_BREAK_ITERATION */
Index: source/common/unicode/brkiter.h
diff --git a/source/common/unicode/brkiter.h b/source/common/unicode/brkiter.h
index bdd3cc700f46e62e56f1fa84bfe0a6dcf18406da..180033661b12fa135782f23a6fa72ff8efb07878 100644
--- a/source/common/unicode/brkiter.h
+++ b/source/common/unicode/brkiter.h
@@ -284,6 +284,21 @@ public:
virtual int32_t next(int32_t n) = 0;
/**
+ * For RuleBasedBreakIterators, return the status tag from the
+ * break rule that determined the most recently
+ * returned break position.
+ * <p>
+ * For break iterator types that do not support a rule status,
+ * a default value of 0 is returned.
+ * <p>
+ * @return the status from the break rule that determined the most recently
+ * returned break position.
+ * @see RuleBaseBreakIterator::getRuleStatus()
+ * @see UWordBreak
+ */
+ virtual int32_t getRuleStatus() const;
+
+ /**
* Create BreakIterator for word-breaks using the given locale.
* Returns an instance of a BreakIterator implementing word breaks.
* WordBreak is useful for word selection (ex. double click)