Index: extensions/browser/api/web_request/web_request_resource_type.h |
diff --git a/extensions/browser/api/web_request/web_request_resource_type.h b/extensions/browser/api/web_request/web_request_resource_type.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..74f4f2c9d8fa0d2154d29b2ca4eb35d74a8d6532 |
--- /dev/null |
+++ b/extensions/browser/api/web_request/web_request_resource_type.h |
@@ -0,0 +1,53 @@ |
+// Copyright 2017 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. |
+ |
+#ifndef EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_RESOURCE_TYPE_H_ |
+#define EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_RESOURCE_TYPE_H_ |
+ |
+#include <stdint.h> |
+ |
+#include "base/strings/string_piece.h" |
+#include "content/public/common/resource_type.h" |
+ |
+namespace net { |
+class URLRequest; |
+} // namespace net |
+ |
+namespace extensions { |
+ |
+// Enumerates all resource/request types that WebRequest API cares about. |
+enum class WebRequestResourceType : uint8_t { |
+ MAIN_FRAME, |
+ SUB_FRAME, |
+ STYLESHEET, |
+ SCRIPT, |
+ IMAGE, |
+ FONT, |
+ OBJECT, |
+ XHR, |
+ PING, |
+ MEDIA, |
+ WEB_SOCKET, |
+ |
+ OTHER, // A valid resource/request type, but none of the above. |
+ UNDEFINED, // The type is invalid or unknown. |
+}; |
+ |
+// Multiple content::ResourceTypes may map to the same WebRequestResourceType, |
+// but the converse is not possible. |
+WebRequestResourceType ToWebRequestResourceType(content::ResourceType type); |
+ |
+// Returns a type for a non-empty URLRequest. |
+WebRequestResourceType GetWebRequestResourceType(const net::URLRequest*); |
+ |
+// Returns a string representation of |type|, which shouldn't be UNDEFINED. |
+const char* WebRequestResourceTypeToString(WebRequestResourceType type); |
+ |
+// Returns a type such that its string representation equals to |text|. If such |
+// a type doesn't exist, returns UNDEFINED. |
+WebRequestResourceType ParseWebRequestResourceType(base::StringPiece text); |
+ |
+} // namespace extensions |
+ |
+#endif // EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_RESOURCE_TYPE_H_ |