| 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) |