1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Use of this source code is governed by a BSD-style license that can be 3731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// found in the LICENSE file. 4731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 5731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "chrome/browser/net/view_blob_internals_job_factory.h" 6731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/string_util.h" 8731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "chrome/browser/net/chrome_url_request_context.h" 9731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "chrome/common/url_constants.h" 10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/chrome_blob_storage_context.h" 11731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "net/url_request/url_request.h" 12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "webkit/blob/view_blob_internals_job.h" 13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// static. 15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickbool ViewBlobInternalsJobFactory::IsSupportedURL(const GURL& url) { 16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return StartsWithASCII(url.spec(), 17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick chrome::kBlobViewInternalsURL, 18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick true /*case_sensitive*/); 19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick} 20731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// static. 2221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsennet::URLRequestJob* ViewBlobInternalsJobFactory::CreateJobForRequest( 2321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen net::URLRequest* request) { 24731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick webkit_blob::BlobStorageController* blob_storage_controller = 25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick static_cast<ChromeURLRequestContext*>(request->context())-> 26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick blob_storage_context()->controller(); 27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick return new webkit_blob::ViewBlobInternalsJob( 28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick request, blob_storage_controller); 29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick} 30