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..9cecc2fd55552cbd8409d0ed64ecb80c55e9f53e |
--- /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, // The type is unknown, or differs from all the above. |
+}; |
+ |
+// 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|. |
+const char* WebRequestResourceTypeToString(WebRequestResourceType type); |
+ |
+// Finds a |type| such that its string representation equals to |text|. Returns |
+// true iff the type is found. |
+bool ParseWebRequestResourceType(base::StringPiece text, |
+ WebRequestResourceType* type); |
+ |
+} // namespace extensions |
+ |
+#endif // EXTENSIONS_BROWSER_API_WEB_REQUEST_WEB_REQUEST_RESOURCE_TYPE_H_ |