diff options
author | jar@google.com <jar@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-22 18:21:11 +0000 |
---|---|---|
committer | jar@google.com <jar@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-09-22 18:21:11 +0000 |
commit | 0a00775a41bd90f4f01017362bac3aeadd6c953e (patch) | |
tree | 26404f7422e9a56f6a955eb14c84d40a14da59ba /chrome/browser/net | |
parent | 968e176577ac4fe102ce66987eb97e037f67796f (diff) | |
download | chromium_src-0a00775a41bd90f4f01017362bac3aeadd6c953e.zip chromium_src-0a00775a41bd90f4f01017362bac3aeadd6c953e.tar.gz chromium_src-0a00775a41bd90f4f01017362bac3aeadd6c953e.tar.bz2 |
Rollback 2444 and 2443 to get linux and mac prep
Also need to augment sln dependencies
tbr
Review URL: http://codereview.chromium.org/3188
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2446 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r-- | chrome/browser/net/sdch_dictionary_fetcher.cc | 45 | ||||
-rw-r--r-- | chrome/browser/net/sdch_dictionary_fetcher.h | 66 |
2 files changed, 0 insertions, 111 deletions
diff --git a/chrome/browser/net/sdch_dictionary_fetcher.cc b/chrome/browser/net/sdch_dictionary_fetcher.cc deleted file mode 100644 index 1b5c21c..0000000 --- a/chrome/browser/net/sdch_dictionary_fetcher.cc +++ /dev/null @@ -1,45 +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 "chrome/browser/net/sdch_dictionary_fetcher.h" -#include "chrome/browser/profile.h" - -void SdchDictionaryFetcher::Schedule(const GURL& dictionary_url) { - fetch_queue_.push(dictionary_url); - ScheduleDelayedRun(); -} - -// TODO(jar): If QOS low priority is supported, switch to using that instead of -// just waiting to do the fetch. -void SdchDictionaryFetcher::ScheduleDelayedRun() { - if (fetch_queue_.empty() || current_fetch_.get() || task_is_pending_) - return; - MessageLoop::current()->PostDelayedTask(FROM_HERE, - method_factory_.NewRunnableMethod(&SdchDictionaryFetcher::StartFetching), - kMsDelayFromRequestTillDownload); - task_is_pending_ = true; -} - -void SdchDictionaryFetcher::StartFetching() { - DCHECK(task_is_pending_); - task_is_pending_ = false; - - current_fetch_.reset(new URLFetcher(fetch_queue_.front(), URLFetcher::GET, - this)); - fetch_queue_.pop(); - current_fetch_->set_request_context(Profile::GetDefaultRequestContext()); - current_fetch_->Start(); -} - -void SdchDictionaryFetcher::OnURLFetchComplete(const URLFetcher* source, - const GURL& url, - const URLRequestStatus& status, - int response_code, - const ResponseCookies& cookies, - const std::string& data) { - if (200 == response_code) - SdchManager::Global()->AddSdchDictionary(data, url); - current_fetch_.reset(NULL); - ScheduleDelayedRun(); -} diff --git a/chrome/browser/net/sdch_dictionary_fetcher.h b/chrome/browser/net/sdch_dictionary_fetcher.h deleted file mode 100644 index 34d3f28..0000000 --- a/chrome/browser/net/sdch_dictionary_fetcher.h +++ /dev/null @@ -1,66 +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. - -// Support modularity by calling to load a new SDCH filter dictionary. -// Note that this sort of calling can't be done in the /net directory, as it has -// no concept of the HTTP cache (which is only visible at the browser level). - -#ifndef CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ -#define CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ - -#include <queue> -#include <string> - -#include "base/task.h" -#include "chrome/browser/url_fetcher.h" -#include "net/base/sdch_manager.h" - -class SdchDictionaryFetcher : public URLFetcher::Delegate, - public SdchFetcher { - public: - #pragma warning(suppress: 4355) // OK to pass "this" here. - SdchDictionaryFetcher() : method_factory_(this), task_is_pending_(false) {} - virtual ~SdchDictionaryFetcher() {} - - // Implementation of SdchFetcher class. - // This method gets the requested dictionary, and then calls back into the - // SdchManager class with the dictionary's text. - virtual void Schedule(const GURL& dictionary_url); - - private: - // Delay between Schedule and actual download. - static const int kMsDelayFromRequestTillDownload = 15000; - - // Ensure the download after the above delay. - void ScheduleDelayedRun(); - - // Make sure we're processing (or waiting for) the the arrival of the next URL - // in the |fetch_queue_|. - void StartFetching(); - - // Implementation of URLFetcher::Delegate. Called after transmission - // completes (either successfully or with failure). - virtual void OnURLFetchComplete(const URLFetcher* source, - const GURL& url, - const URLRequestStatus& status, - int response_code, - const ResponseCookies& cookies, - const std::string& data); - - // A queue of URLs that are being used to download dictionaries. - std::queue<GURL> fetch_queue_; - // The currently outstanding URL fetch of a dicitonary. - // If this is null, then there is no outstanding request. - scoped_ptr<URLFetcher> current_fetch_; - - // Always spread out the dictionary fetches, so that they don't steal - // bandwidth from the actual page load. Create delayed tasks to spread out - // the download. - ScopedRunnableMethodFactory<SdchDictionaryFetcher> method_factory_; - bool task_is_pending_; - - DISALLOW_COPY_AND_ASSIGN(SdchDictionaryFetcher); -}; - -#endif // CHROME_BROWSER_NET_SDCH_DICTIONARY_FETCHER_H_ |