1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Simple implementation of about: protocol handler that treats everything as 6 // about:blank. No other about: features should be available to web content, 7 // so they're not implemented here. 8 9 #include "net/url_request/url_request_about_job.h" 10 11 #include "base/message_loop.h" 12 13 // static Factory(URLRequest * request,const std::string & scheme)14URLRequestJob* URLRequestAboutJob::Factory(URLRequest* request, 15 const std::string& scheme) { 16 return new URLRequestAboutJob(request); 17 } 18 URLRequestAboutJob(URLRequest * request)19URLRequestAboutJob::URLRequestAboutJob(URLRequest* request) 20 : URLRequestJob(request) { 21 } 22 Start()23void URLRequestAboutJob::Start() { 24 // Start reading asynchronously so that all error reporting and data 25 // callbacks happen as they would for network requests. 26 MessageLoop::current()->PostTask(FROM_HERE, NewRunnableMethod( 27 this, &URLRequestAboutJob::StartAsync)); 28 } 29 GetMimeType(std::string * mime_type) const30bool URLRequestAboutJob::GetMimeType(std::string* mime_type) const { 31 *mime_type = "text/html"; 32 return true; 33 } 34 StartAsync()35void URLRequestAboutJob::StartAsync() { 36 NotifyHeadersComplete(); 37 } 38