| Index: chrome/browser/ui/title_prefix_matcher.h
|
| ===================================================================
|
| --- chrome/browser/ui/title_prefix_matcher.h (revision 80442)
|
| +++ chrome/browser/ui/title_prefix_matcher.h (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include <vector>
|
|
|
| #include "base/string16.h"
|
| +#include "googleurl/src/gurl.h"
|
|
|
| // This class exposes a static method that receives a vector of TitleInfo
|
| // objects so that it can find the length of the common prefixes among all
|
| @@ -26,11 +27,14 @@
|
| class TitlePrefixMatcher {
|
| public:
|
| struct TitleInfo {
|
| - TitleInfo(const string16* title, int caller_value);
|
| + TitleInfo(const string16* title, const GURL& url, int caller_value);
|
| + ~TitleInfo();
|
| // We assume the title string will be valid throughout the execution of
|
| // the prefix lengths calculation, and so we use a pointer to avoid an
|
| // unnecessary string copy.
|
| const string16* title;
|
| + // We only look for common prefix when the URL has the same hostname.
|
| + GURL url;
|
| // This contains the number of characters at the beginning of title that
|
| // are common with other titles in the TitleInfo vector.
|
| size_t prefix_length;
|
| @@ -39,6 +43,12 @@
|
| };
|
| static void CalculatePrefixLengths(std::vector<TitleInfo>* title_infos);
|
|
|
| + // We want to show the last few common chars of a page title in the tab,
|
| + // so we only do it if the common prefix is at least kMinElidingLength,
|
| + // otherwise, we could be replacing less characters than the ellipsis take.
|
| + static const int kCommonCharsToShow;
|
| + static const size_t kMinElidingLength;
|
| +
|
| private:
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(TitlePrefixMatcher);
|
| };
|
|
|