Commit 558552c0 authored by hashimoto's avatar hashimoto Committed by Commit bot

Use SearchProvider for Athena

With SearchProvider, we can suggest URLs as well as queries and show icons at the left of each suggested item.
Also, parts of the suggested query which is not typed by the user are shown bold.

Basically do the same thing as Chrome's AutocompleteController+OmniboxProvider.
Add required resources to athena_resources.

BUG=408050

Review URL: https://codereview.chromium.org/514583002

Cr-Commit-Position: refs/heads/master@{#292350}
parent 1914f8ea
This diff is collapsed.
......@@ -5,11 +5,13 @@
#ifndef ATHENA_MAIN_URL_SEARCH_PROVIDER_H_
#define ATHENA_MAIN_URL_SEARCH_PROVIDER_H_
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "components/omnibox/autocomplete_input.h"
#include "net/url_request/url_fetcher_delegate.h"
#include "components/omnibox/autocomplete_provider_listener.h"
#include "ui/app_list/search_provider.h"
class AutocompleteProvider;
class TemplateURLService;
namespace content {
......@@ -20,7 +22,7 @@ namespace athena {
// A sample search provider.
class UrlSearchProvider : public app_list::SearchProvider,
public net::URLFetcherDelegate {
public AutocompleteProviderListener {
public:
UrlSearchProvider(content::BrowserContext* browser_context);
virtual ~UrlSearchProvider();
......@@ -29,20 +31,17 @@ class UrlSearchProvider : public app_list::SearchProvider,
virtual void Start(const base::string16& query) OVERRIDE;
virtual void Stop() OVERRIDE;
// Overridden from net::URLFetcherDelegate.
virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE;
// Overridden from AutocompleteProviderListener
virtual void OnProviderUpdate(bool updated_matches) OVERRIDE;
private:
void StartFetchingSuggestions();
content::BrowserContext* browser_context_;
// TODO(mukai): This should be provided through BrowserContextKeyedService.
scoped_ptr<TemplateURLService> template_url_service_;
AutocompleteInput input_;
scoped_ptr<net::URLFetcher> suggestion_fetcher_;
bool should_fetch_suggestions_again_;
scoped_refptr<AutocompleteProvider> provider_;
DISALLOW_COPY_AND_ASSIGN(UrlSearchProvider);
};
......
......@@ -29,6 +29,8 @@
'type': 'none',
'dependencies': [
'../../ash/ash_resources.gyp:ash_resources',
'../../components/components_resources.gyp:components_resources',
'../../components/components_strings.gyp:components_strings',
'../../content/app/resources/content_resources.gyp:content_resources',
'../../content/app/strings/content_strings.gyp:content_strings',
'../../extensions/extensions.gyp:extensions_shell_and_test_pak',
......@@ -43,6 +45,9 @@
'<(PRODUCT_DIR)/extensions_shell_and_test.pak',
'<(SHARED_INTERMEDIATE_DIR)/ash/resources/ash_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/athena/resources/athena_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/components/component_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/components/component_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/components/strings/components_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_100_percent.pak',
'<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/ui/chromeos/resources/ui_chromeos_resources_100_percent.pak',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment