Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: content/common/appcache_interfaces.cc

Issue 344493002: Move all remaining appcache-related code to content namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/common/appcache/appcache_interfaces.h" 5 #include "content/common/appcache_interfaces.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "net/url_request/url_request.h" 10 #include "net/url_request/url_request.h"
11 #include "url/gurl.h" 11 #include "url/gurl.h"
12 12
13 namespace appcache { 13 namespace content {
14 14
15 const char kHttpScheme[] = "http"; 15 const char kHttpScheme[] = "http";
16 const char kHttpsScheme[] = "https"; 16 const char kHttpsScheme[] = "https";
17 const char kDevToolsScheme[] = "chrome-devtools"; 17 const char kDevToolsScheme[] = "chrome-devtools";
18 const char kHttpGETMethod[] = "GET"; 18 const char kHttpGETMethod[] = "GET";
19 const char kHttpHEADMethod[] = "HEAD"; 19 const char kHttpHEADMethod[] = "HEAD";
20 20
21 const char kEnableExecutableHandlers[] = "enable-appcache-executable-handlers"; 21 const char kEnableExecutableHandlers[] = "enable-appcache-executable-handlers";
22 22
23 const base::FilePath::CharType kAppCacheDatabaseName[] = 23 const base::FilePath::CharType kAppCacheDatabaseName[] =
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 int in_status, 63 int in_status,
64 bool in_is_cross_origin) 64 bool in_is_cross_origin)
65 : message(in_message), 65 : message(in_message),
66 reason(in_reason), 66 reason(in_reason),
67 url(in_url), 67 url(in_url),
68 status(in_status), 68 status(in_status),
69 is_cross_origin(in_is_cross_origin) {} 69 is_cross_origin(in_is_cross_origin) {}
70 70
71 AppCacheErrorDetails::~AppCacheErrorDetails() {} 71 AppCacheErrorDetails::~AppCacheErrorDetails() {}
72 72
73 Namespace::Namespace() 73 AppCacheNamespace::AppCacheNamespace()
74 : type(APPCACHE_FALLBACK_NAMESPACE), 74 : type(APPCACHE_FALLBACK_NAMESPACE),
75 is_pattern(false), 75 is_pattern(false),
76 is_executable(false) { 76 is_executable(false) {
77 } 77 }
78 78
79 Namespace::Namespace( 79 AppCacheNamespace::AppCacheNamespace(
80 AppCacheNamespaceType type, const GURL& url, const GURL& target, 80 AppCacheNamespaceType type, const GURL& url, const GURL& target,
81 bool is_pattern) 81 bool is_pattern)
82 : type(type), 82 : type(type),
83 namespace_url(url), 83 namespace_url(url),
84 target_url(target), 84 target_url(target),
85 is_pattern(is_pattern), 85 is_pattern(is_pattern),
86 is_executable(false) { 86 is_executable(false) {
87 } 87 }
88 88
89 Namespace::Namespace( 89 AppCacheNamespace::AppCacheNamespace(
90 AppCacheNamespaceType type, const GURL& url, const GURL& target, 90 AppCacheNamespaceType type, const GURL& url, const GURL& target,
91 bool is_pattern, bool is_executable) 91 bool is_pattern, bool is_executable)
92 : type(type), 92 : type(type),
93 namespace_url(url), 93 namespace_url(url),
94 target_url(target), 94 target_url(target),
95 is_pattern(is_pattern), 95 is_pattern(is_pattern),
96 is_executable(is_executable) { 96 is_executable(is_executable) {
97 } 97 }
98 98
99 Namespace::~Namespace() { 99 AppCacheNamespace::~AppCacheNamespace() {
100 } 100 }
101 101
102 bool Namespace::IsMatch(const GURL& url) const { 102 bool AppCacheNamespace::IsMatch(const GURL& url) const {
103 if (is_pattern) { 103 if (is_pattern) {
104 // We have to escape '?' characters since MatchPattern also treats those 104 // We have to escape '?' characters since MatchPattern also treats those
105 // as wildcards which we don't want here, we only do '*'s. 105 // as wildcards which we don't want here, we only do '*'s.
106 std::string pattern = namespace_url.spec(); 106 std::string pattern = namespace_url.spec();
107 if (namespace_url.has_query()) 107 if (namespace_url.has_query())
108 ReplaceSubstringsAfterOffset(&pattern, 0, "?", "\\?"); 108 ReplaceSubstringsAfterOffset(&pattern, 0, "?", "\\?");
109 return MatchPattern(url.spec(), pattern); 109 return MatchPattern(url.spec(), pattern);
110 } 110 }
111 return StartsWithASCII(url.spec(), namespace_url.spec(), true); 111 return StartsWithASCII(url.spec(), namespace_url.spec(), true);
112 } 112 }
113 113
114 bool IsSchemeSupported(const GURL& url) { 114 bool IsSchemeSupportedForAppCache(const GURL& url) {
115 bool supported = url.SchemeIs(kHttpScheme) || url.SchemeIs(kHttpsScheme) || 115 bool supported = url.SchemeIs(kHttpScheme) || url.SchemeIs(kHttpsScheme) ||
116 url.SchemeIs(kDevToolsScheme); 116 url.SchemeIs(kDevToolsScheme);
117 117
118 #ifndef NDEBUG 118 #ifndef NDEBUG
119 // TODO(michaeln): It would be really nice if this could optionally work for 119 // TODO(michaeln): It would be really nice if this could optionally work for
120 // file and filesystem urls too to help web developers experiment and test 120 // file and filesystem urls too to help web developers experiment and test
121 // their apps, perhaps enabled via a cmd line flag or some other developer 121 // their apps, perhaps enabled via a cmd line flag or some other developer
122 // tool setting. Unfortunately file scheme net::URLRequests don't produce the 122 // tool setting. Unfortunately file scheme net::URLRequests don't produce the
123 // same signalling (200 response codes, headers) as http URLRequests, so this 123 // same signalling (200 response codes, headers) as http URLRequests, so this
124 // doesn't work just yet. 124 // doesn't work just yet.
125 // supported |= url.SchemeIsFile(); 125 // supported |= url.SchemeIsFile();
126 #endif 126 #endif
127 return supported; 127 return supported;
128 } 128 }
129 129
130 bool IsMethodSupported(const std::string& method) { 130 bool IsMethodSupportedForAppCache(const std::string& method) {
131 return (method == kHttpGETMethod) || (method == kHttpHEADMethod); 131 return (method == kHttpGETMethod) || (method == kHttpHEADMethod);
132 } 132 }
133 133
134 bool IsSchemeAndMethodSupported(const net::URLRequest* request) { 134 bool IsSchemeAndMethodSupportedForAppCache(const net::URLRequest* request) {
135 return IsSchemeSupported(request->url()) && 135 return IsSchemeSupportedForAppCache(request->url()) &&
136 IsMethodSupported(request->method()); 136 IsMethodSupportedForAppCache(request->method());
137 } 137 }
138 138
139 } // namespace appcache 139 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698