| Index: chrome/browser/autocomplete/bookmark_provider.h
|
| ===================================================================
|
| --- chrome/browser/autocomplete/bookmark_provider.h (revision 0)
|
| +++ chrome/browser/autocomplete/bookmark_provider.h (revision 0)
|
| @@ -0,0 +1,64 @@
|
| +// Copyright (c) 2012 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.
|
| +
|
| +#ifndef CHROME_BROWSER_AUTOCOMPLETE_BOOKMARK_PROVIDER_H_
|
| +#define CHROME_BROWSER_AUTOCOMPLETE_BOOKMARK_PROVIDER_H_
|
| +
|
| +#include "chrome/browser/autocomplete/autocomplete_input.h"
|
| +#include "chrome/browser/autocomplete/autocomplete_match.h"
|
| +#include "chrome/browser/autocomplete/autocomplete_provider.h"
|
| +#include "chrome/browser/bookmarks/bookmark_utils.h"
|
| +#include "chrome/browser/history/snippet.h"
|
| +
|
| +class BookmarkModel;
|
| +class Profile;
|
| +
|
| +// This class is an autocomplete provider which quickly (and synchronously)
|
| +// provides autocomplete suggestions based on matches between the search terms
|
| +// entered by the user into the omnibox and the titles of bookmarks. Page
|
| +// titles and URLs of the bookmarks are not matched.
|
| +class BookmarkProvider : public AutocompleteProvider {
|
| + public:
|
| + BookmarkProvider(AutocompleteProviderListener* listener, Profile* profile);
|
| +
|
| + // AutocompleteProvider. |minimal_changes| is ignored since there is no
|
| + // asynch completion performed.
|
| + virtual void Start(const AutocompleteInput& input,
|
| + bool minimal_changes) OVERRIDE;
|
| +
|
| + // Sets the BookmarkModel for unit tests.
|
| + void set_bookmark_model_for_testing(BookmarkModel* bookmark_model) {
|
| + bookmark_model_ = bookmark_model;
|
| + }
|
| +
|
| + private:
|
| + virtual ~BookmarkProvider();
|
| +
|
| + // Performs the actual matching of |input| over the bookmarks and fills in
|
| + // |matches_|. If |best_match| then only suggest the single best match,
|
| + // otherwise suggest the top |kMaxMatches| matches.
|
| + void DoAutocomplete(const AutocompleteInput& input, bool best_match);
|
| +
|
| + // Converts |title_match| to an AutocompleteMatch and returns the converted
|
| + // match.
|
| + AutocompleteMatch TitleMatchToACMatch(
|
| + const bookmark_utils::TitleMatch& title_match);
|
| +
|
| + // Converts |positions| into ACMatchClassifications and returns the
|
| + // classifications. |text_length| is used to determine the need to add an
|
| + // 'unhighlighted' classification span so the tail of the source string
|
| + // properly highlighted.
|
| + static ACMatchClassifications SpansFromMatch(
|
| + const Snippet::MatchPositions& positions,
|
| + size_t text_length);
|
| +
|
| + BookmarkModel* bookmark_model_;
|
| +
|
| + // Languages used during the URL formatting.
|
| + std::string languages_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(BookmarkProvider);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_AUTOCOMPLETE_BOOKMARK_PROVIDER_H_
|
|
|
| Property changes on: chrome/browser/autocomplete/bookmark_provider.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|