| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Lars Knoll <lars@trolltech.com> | 2 * Copyright (C) 2006 Lars Knoll <lars@trolltech.com> |
| 3 * Copyright (C) 2007, 2011, 2012 Apple Inc. All rights reserved. | 3 * Copyright (C) 2007, 2011, 2012 Apple Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 | 49 |
| 50 static std::unique_ptr<LineBreakIteratorPool> create() { | 50 static std::unique_ptr<LineBreakIteratorPool> create() { |
| 51 return WTF::wrapUnique(new LineBreakIteratorPool); | 51 return WTF::wrapUnique(new LineBreakIteratorPool); |
| 52 } | 52 } |
| 53 | 53 |
| 54 icu::BreakIterator* take(const AtomicString& locale) { | 54 icu::BreakIterator* take(const AtomicString& locale) { |
| 55 icu::BreakIterator* iterator = 0; | 55 icu::BreakIterator* iterator = 0; |
| 56 for (size_t i = 0; i < m_pool.size(); ++i) { | 56 for (size_t i = 0; i < m_pool.size(); ++i) { |
| 57 if (m_pool[i].first == locale) { | 57 if (m_pool[i].first == locale) { |
| 58 iterator = m_pool[i].second; | 58 iterator = m_pool[i].second; |
| 59 m_pool.remove(i); | 59 m_pool.erase(i); |
| 60 break; | 60 break; |
| 61 } | 61 } |
| 62 } | 62 } |
| 63 | 63 |
| 64 if (!iterator) { | 64 if (!iterator) { |
| 65 UErrorCode openStatus = U_ZERO_ERROR; | 65 UErrorCode openStatus = U_ZERO_ERROR; |
| 66 bool localeIsEmpty = locale.isEmpty(); | 66 bool localeIsEmpty = locale.isEmpty(); |
| 67 iterator = icu::BreakIterator::createLineInstance( | 67 iterator = icu::BreakIterator::createLineInstance( |
| 68 localeIsEmpty ? icu::Locale(currentTextBreakLocaleID()) | 68 localeIsEmpty ? icu::Locale(currentTextBreakLocaleID()) |
| 69 : icu::Locale(locale.utf8().data()), | 69 : icu::Locale(locale.utf8().data()), |
| (...skipping 16 matching lines...) Expand all Loading... |
| 86 ASSERT(!m_vendedIterators.contains(iterator)); | 86 ASSERT(!m_vendedIterators.contains(iterator)); |
| 87 m_vendedIterators.set(iterator, locale); | 87 m_vendedIterators.set(iterator, locale); |
| 88 return iterator; | 88 return iterator; |
| 89 } | 89 } |
| 90 | 90 |
| 91 void put(icu::BreakIterator* iterator) { | 91 void put(icu::BreakIterator* iterator) { |
| 92 DCHECK(m_vendedIterators.contains(iterator)); | 92 DCHECK(m_vendedIterators.contains(iterator)); |
| 93 | 93 |
| 94 if (m_pool.size() == capacity) { | 94 if (m_pool.size() == capacity) { |
| 95 delete (m_pool[0].second); | 95 delete (m_pool[0].second); |
| 96 m_pool.remove(0); | 96 m_pool.erase(0); |
| 97 } | 97 } |
| 98 | 98 |
| 99 m_pool.push_back(Entry(m_vendedIterators.take(iterator), iterator)); | 99 m_pool.push_back(Entry(m_vendedIterators.take(iterator), iterator)); |
| 100 } | 100 } |
| 101 | 101 |
| 102 private: | 102 private: |
| 103 LineBreakIteratorPool() {} | 103 LineBreakIteratorPool() {} |
| 104 | 104 |
| 105 static const size_t capacity = 4; | 105 static const size_t capacity = 4; |
| 106 | 106 |
| (...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 "$Tel1 $TelV $Tel0;" // Telugu Virama (backward) | 932 "$Tel1 $TelV $Tel0;" // Telugu Virama (backward) |
| 933 "$Kan1 $KanV $Kan0;" // Kannada Virama (backward) | 933 "$Kan1 $KanV $Kan0;" // Kannada Virama (backward) |
| 934 "$Mal1 $MalV $Mal0;" // Malayalam Virama (backward) | 934 "$Mal1 $MalV $Mal0;" // Malayalam Virama (backward) |
| 935 "!!safe_reverse;" | 935 "!!safe_reverse;" |
| 936 "!!safe_forward;"; | 936 "!!safe_forward;"; |
| 937 | 937 |
| 938 return setUpIteratorWithRules(kRules, string, length); | 938 return setUpIteratorWithRules(kRules, string, length); |
| 939 } | 939 } |
| 940 | 940 |
| 941 } // namespace blink | 941 } // namespace blink |
| OLD | NEW |