diff options
Diffstat (limited to 'chrome/browser/template_url_fetcher.h')
-rw-r--r-- | chrome/browser/template_url_fetcher.h | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/chrome/browser/template_url_fetcher.h b/chrome/browser/template_url_fetcher.h index a07277f..e69de29 100644 --- a/chrome/browser/template_url_fetcher.h +++ b/chrome/browser/template_url_fetcher.h @@ -1,104 +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. - -#ifndef CHROME_BROWSER_TEMPLATE_URL_FETCHER_H__ -#define CHROME_BROWSER_TEMPLATE_URL_FETCHER_H__ - -#include "chrome/browser/profile.h" -#include "chrome/browser/url_fetcher.h" -#include "chrome/common/scoped_vector.h" - -class GURL; -class Profile; -class TemplateURL; -class WebContents; - -// TemplateURLFetcher is responsible for downloading OpenSearch description -// documents, creating a TemplateURL from the OSDD, and adding the TemplateURL -// to the TemplateURLModel. Downloading is done in the background. -// -class TemplateURLFetcher { - public: - // Creates a TemplateURLFetcher with the specified Profile. - explicit TemplateURLFetcher(Profile* profile); - - // If TemplateURLFetcher is not already downloading the OSDD for osdd_url, - // it is downloaded. If successful and the result can be parsed, a TemplateURL - // is added to the TemplateURLModel. - void ScheduleDownload(const std::wstring& keyword, - const GURL& osdd_url, - const GURL& favicon_url, - const HWND parent_window, - bool autodetected); - - private: - friend class RequestDelegate; - - // A RequestDelegate is created to download each OSDD. When done downloading - // RequestCompleted is invoked back on the TemplateURLFetcher. - class RequestDelegate : public URLFetcher::Delegate { - public: - RequestDelegate(TemplateURLFetcher* fetcher, - const std::wstring& keyword, - const GURL& osdd_url, - const GURL& favicon_url, - const HWND parent_window, - bool autodetected) -#pragma warning(disable:4355) - : url_fetcher_(osdd_url, URLFetcher::GET, this), - fetcher_(fetcher), - keyword_(keyword), - osdd_url_(osdd_url), - favicon_url_(favicon_url), - parent_window_(parent_window), - autodetected_(autodetected) { - url_fetcher_.set_request_context(fetcher->profile()->GetRequestContext()); - url_fetcher_.Start(); - } - - // If data contains a valid OSDD, a TemplateURL is created and added to - // the TemplateURLModel. - virtual void OnURLFetchComplete(const URLFetcher* source, - const GURL& url, - const URLRequestStatus& status, - int response_code, - const ResponseCookies& cookies, - const std::string& data); - - // URL of the OSDD. - const GURL& url() const { return osdd_url_; } - - // Keyword to use. - const std::wstring keyword() const { return keyword_; } - - private: - URLFetcher url_fetcher_; - TemplateURLFetcher* fetcher_; - const std::wstring keyword_; - const GURL osdd_url_; - const GURL favicon_url_; - bool autodetected_; - - // Used to determine where to place a confirmation dialog. May be NULL, - // in which case the confirmation will be centered in the screen if needed. - const HWND parent_window_; - - DISALLOW_EVIL_CONSTRUCTORS(RequestDelegate); - }; - - Profile* profile() const { return profile_; } - - // Invoked from the RequestDelegate when done downloading. - void RequestCompleted(RequestDelegate* request); - - Profile* profile_; - - // In progress requests. - ScopedVector<RequestDelegate> requests_; - - DISALLOW_EVIL_CONSTRUCTORS(TemplateURLFetcher); -}; - -#endif // CHROME_BROWSER_OSDD_FETCHER_H__ - |