| Index: webkit/mocks/mock_webhyphenator.cc
|
| diff --git a/webkit/mocks/mock_webhyphenator.cc b/webkit/mocks/mock_webhyphenator.cc
|
| deleted file mode 100644
|
| index 2ff288e7b0a09711d7798e32926095bd289b9bf1..0000000000000000000000000000000000000000
|
| --- a/webkit/mocks/mock_webhyphenator.cc
|
| +++ /dev/null
|
| @@ -1,103 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "webkit/mocks/mock_webhyphenator.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/memory/scoped_handle.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "third_party/hyphen/hyphen.h"
|
| -
|
| -namespace webkit_glue {
|
| -
|
| -MockWebHyphenator::MockWebHyphenator()
|
| - : hyphen_dictionary_(NULL) {
|
| -}
|
| -
|
| -MockWebHyphenator::~MockWebHyphenator() {
|
| - if (hyphen_dictionary_)
|
| - hnj_hyphen_free(hyphen_dictionary_);
|
| -}
|
| -
|
| -void MockWebHyphenator::LoadDictionary(base::PlatformFile dict_file) {
|
| - CHECK(!hyphen_dictionary_);
|
| - // Initialize the hyphen library with a sample dictionary. To avoid test
|
| - // flakiness, this code synchronously loads the dictionary.
|
| - if (dict_file == base::kInvalidPlatformFileValue) {
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| - ScopedStdioHandle dict_handle(base::FdopenPlatformFile(dict_file, "r"));
|
| - if (!dict_handle.get()) {
|
| - NOTREACHED();
|
| - base::ClosePlatformFile(dict_file);
|
| - return;
|
| - }
|
| - hyphen_dictionary_ = hnj_hyphen_load_file(dict_handle.get());
|
| - DCHECK(hyphen_dictionary_);
|
| -}
|
| -
|
| -bool MockWebHyphenator::canHyphenate(const WebKit::WebString& locale) {
|
| - return locale.isEmpty() || locale.equals("en") || locale.equals("en_US") ||
|
| - locale.equals("en_GB");
|
| -}
|
| -
|
| -size_t MockWebHyphenator::computeLastHyphenLocation(
|
| - const WebKit::WebString& characters,
|
| - size_t before_index,
|
| - const WebKit::WebString& locale) {
|
| - DCHECK(locale.isEmpty() || locale.equals("en") || locale.equals("en_US") ||
|
| - locale.equals("en_GB"));
|
| - if (!hyphen_dictionary_)
|
| - return 0;
|
| -
|
| - // Retrieve the positions where we can insert hyphens. This function assumes
|
| - // the input word is an English word so it can use the position returned by
|
| - // the hyphen library without conversion.
|
| - base::string16 word_utf16(characters);
|
| - if (!IsStringASCII(word_utf16))
|
| - return 0;
|
| - std::string word = StringToLowerASCII(UTF16ToASCII(word_utf16));
|
| - scoped_ptr<char[]> hyphens(new char[word.length() + 5]);
|
| - char** rep = NULL;
|
| - int* pos = NULL;
|
| - int* cut = NULL;
|
| - int error = hnj_hyphen_hyphenate2(hyphen_dictionary_,
|
| - word.data(),
|
| - static_cast<int>(word.length()),
|
| - hyphens.get(),
|
| - NULL,
|
| - &rep,
|
| - &pos,
|
| - &cut);
|
| - if (error)
|
| - return 0;
|
| -
|
| - // Release all resources allocated by the hyphen library now because they are
|
| - // not used when hyphenating English words.
|
| - if (rep) {
|
| - for (size_t i = 0; i < word.length(); ++i) {
|
| - if (rep[i])
|
| - free(rep[i]);
|
| - }
|
| - free(rep);
|
| - }
|
| - if (pos)
|
| - free(pos);
|
| - if (cut)
|
| - free(cut);
|
| -
|
| - // Retrieve the last position where we can insert a hyphen before the given
|
| - // index.
|
| - if (before_index >= 2) {
|
| - for (size_t index = before_index - 2; index > 0; --index) {
|
| - if (hyphens[index] & 1)
|
| - return index + 1;
|
| - }
|
| - }
|
| - return 0;
|
| -}
|
| -
|
| -} // namespace webkit_glue
|
|
|