Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Unified Diff: chrome/browser/title_chomper.cc

Issue 3035: Move importer files into an importer subdirectory. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/title_chomper.h ('k') | chrome/browser/title_chomper_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/title_chomper.cc
===================================================================
--- chrome/browser/title_chomper.cc (revision 2150)
+++ chrome/browser/title_chomper.cc (working copy)
@@ -1,75 +0,0 @@
-// Copyright (c) 2006-2008 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 <algorithm>
-
-#include "chrome/browser/title_chomper.h"
-
-#include "base/logging.h"
-#include "base/word_iterator.h"
-
-TitleChomper::TitleChomper() {
-}
-
-void TitleChomper::AddTitle(const std::wstring& title) {
- titles_.push_back(title);
-}
-
-void TitleChomper::ChompTitles(std::vector<std::wstring>* chomped_titles) {
- std::vector<std::wstring>::iterator title;
- for (title = titles_.begin(); title != titles_.end(); ++title) {
- std::wstring chomped;
- GenerateChompedTitle(*title, &chomped);
- chomped_titles->push_back(chomped);
- }
-}
-
-void TitleChomper::GenerateChompedTitle(const std::wstring& title,
- std::wstring* chomped_title) {
- // We don't chomp identical titles, since they would chomp to nothing!
- if (title == last_title_) {
- *chomped_title = title;
- last_words_.clear();
- return;
- }
- last_title_ = title;
-
- // TODO(beng): fix locale
- WordIterator iter(title, WordIterator::BREAK_WORD);
- if (!iter.Init())
- return;
-
- int chomp_point = 0;
- size_t count = 0;
-
- std::vector<std::wstring> words;
-
- bool record_next_point = false;
- bool found_chomp_point = false;
-
- while (iter.Advance()) {
- if (iter.IsWord()) {
- const std::wstring fragment = iter.GetWord();
- words.push_back(fragment);
-
- size_t last_words_size = last_words_.size();
- bool word_mismatch =
- (count < last_words_size && last_words_.at(count) != fragment) ||
- (last_words_size > 0 && count >= last_words_size);
- if (!found_chomp_point && word_mismatch) {
- // Need to wait until the next word point so that we skip any spaces or
- // punctuation at the start of the string.
- record_next_point = true;
- }
- ++count;
- }
- if (!found_chomp_point && record_next_point) {
- chomp_point = iter.prev();
- found_chomp_point = true;
- }
- }
- last_words_ = words;
- chomped_title->assign(title.substr(chomp_point));
-}
-
« no previous file with comments | « chrome/browser/title_chomper.h ('k') | chrome/browser/title_chomper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698