1 // Copyright (c) 2013 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.
5 #include "content/public/browser/url_data_source.h"
7 #include "content/browser/webui/url_data_manager.h"
8 #include "content/public/browser/browser_thread.h"
9 #include "content/public/common/url_constants.h"
10 #include "net/url_request/url_request.h"
14 void URLDataSource::Add(BrowserContext
* browser_context
,
15 URLDataSource
* source
) {
16 URLDataManager::AddDataSource(browser_context
, source
);
19 base::MessageLoop
* URLDataSource::MessageLoopForRequestPath(
20 const std::string
& path
) const {
21 return BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::UI
);
24 bool URLDataSource::ShouldReplaceExistingSource() const {
28 bool URLDataSource::AllowCaching() const {
32 bool URLDataSource::ShouldAddContentSecurityPolicy() const {
36 std::string
URLDataSource::GetContentSecurityPolicyObjectSrc() const {
37 return "object-src 'none';";
40 std::string
URLDataSource::GetContentSecurityPolicyFrameSrc() const {
41 return "frame-src 'none';";
44 bool URLDataSource::ShouldDenyXFrameOptions() const {
48 bool URLDataSource::ShouldServiceRequest(const net::URLRequest
* request
) const {
49 if (request
->url().SchemeIs(kChromeDevToolsScheme
) ||
50 request
->url().SchemeIs(kChromeUIScheme
))
55 bool URLDataSource::ShouldServeMimeTypeAsContentTypeHeader() const {
59 std::string
URLDataSource::GetAccessControlAllowOriginForOrigin(
60 const std::string
& origin
) const {
64 } // namespace content