| Index: chrome/browser/net/prerender_interceptor.cc
|
| ===================================================================
|
| --- chrome/browser/net/prerender_interceptor.cc (revision 68608)
|
| +++ chrome/browser/net/prerender_interceptor.cc (working copy)
|
| @@ -1,77 +0,0 @@
|
| -// Copyright (c) 2010 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/prerender_interceptor.h"
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/logging.h"
|
| -#include "chrome/browser/browser_thread.h"
|
| -#include "chrome/browser/io_thread.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "net/base/load_flags.h"
|
| -
|
| -DISABLE_RUNNABLE_METHOD_REFCOUNT(chrome_browser_net::PrerenderInterceptor);
|
| -
|
| -namespace chrome_browser_net {
|
| -
|
| -PrerenderInterceptor::PrerenderInterceptor()
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - callback_(NewCallback(this,
|
| - &PrerenderInterceptor::PrerenderDispatch))) {
|
| - net::URLRequest::RegisterRequestInterceptor(this);
|
| -}
|
| -
|
| -PrerenderInterceptor::PrerenderInterceptor(
|
| - PrerenderInterceptorCallback* callback)
|
| - : callback_(callback) {
|
| - net::URLRequest::RegisterRequestInterceptor(this);
|
| -}
|
| -
|
| -PrerenderInterceptor::~PrerenderInterceptor() {
|
| - net::URLRequest::UnregisterRequestInterceptor(this);
|
| -}
|
| -
|
| -net::URLRequestJob* PrerenderInterceptor::MaybeIntercept(
|
| - net::URLRequest* request) {
|
| - return NULL;
|
| -}
|
| -
|
| -net::URLRequestJob* PrerenderInterceptor::MaybeInterceptResponse(
|
| - net::URLRequest* request) {
|
| - // TODO(gavinp): unfortunately, we can't figure out the origin
|
| - // of this request here on systems where the referrer is blocked by
|
| - // configuration.
|
| -
|
| - // TODO(gavinp): note that the response still might be intercepted
|
| - // by a later interceptor. Should we write an interposing delegate
|
| - // and only prerender dispatch on requests that aren't intercepted?
|
| - // Or is this a slippery slope?
|
| -
|
| - if (request->load_flags() & net::LOAD_PREFETCH) {
|
| - std::string mime_type;
|
| - request->GetMimeType(&mime_type);
|
| - if (mime_type == "text/html")
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI,
|
| - FROM_HERE,
|
| - NewRunnableMethod(this,
|
| - &PrerenderInterceptor::RunCallbackFromUIThread,
|
| - request->url()));
|
| - }
|
| - return NULL;
|
| -}
|
| -
|
| -void PrerenderInterceptor::RunCallbackFromUIThread(const GURL& url) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - callback_->Run(url);
|
| -}
|
| -
|
| -void PrerenderInterceptor::PrerenderDispatch(
|
| - const GURL& url) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - DVLOG(2) << "PrerenderDispatchOnUIThread: url=" << url;
|
| -}
|
| -
|
| -} // namespace chrome_browser_net
|
|
|