Index: content/child/web_url_request_util.cc |
diff --git a/content/child/web_url_request_util.cc b/content/child/web_url_request_util.cc |
index 3d79c4ef5c52df5363f5e5c03084ebd038d3772b..c51e2ea07084c0d4a4f873f750d421a2f0cb0df0 100644 |
--- a/content/child/web_url_request_util.cc |
+++ b/content/child/web_url_request_util.cc |
@@ -276,6 +276,138 @@ scoped_refptr<ResourceRequestBody> GetRequestBodyForWebURLRequest( |
return request_body; |
} |
+#define STATIC_ASSERT_MATCHING_ENUMS(content_name, blink_name) \ |
+ static_assert( \ |
+ static_cast<int>(content_name) == static_cast<int>(blink_name), \ |
+ "mismatching enums: " #content_name) |
+ |
+STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_SAME_ORIGIN, |
+ WebURLRequest::FetchRequestModeSameOrigin); |
+STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_NO_CORS, |
+ WebURLRequest::FetchRequestModeNoCORS); |
+STATIC_ASSERT_MATCHING_ENUMS(FETCH_REQUEST_MODE_CORS, |
+ WebURLRequest::FetchRequestModeCORS); |
+STATIC_ASSERT_MATCHING_ENUMS( |
+ FETCH_REQUEST_MODE_CORS_WITH_FORCED_PREFLIGHT, |
+ WebURLRequest::FetchRequestModeCORSWithForcedPreflight); |
+ |
+FetchRequestMode GetFetchRequestModeForWebURLRequest( |
+ const blink::WebURLRequest& request) { |
+ return static_cast<FetchRequestMode>(request.fetchRequestMode()); |
+} |
+ |
+STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_OMIT, |
+ WebURLRequest::FetchCredentialsModeOmit); |
+STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_SAME_ORIGIN, |
+ WebURLRequest::FetchCredentialsModeSameOrigin); |
+STATIC_ASSERT_MATCHING_ENUMS(FETCH_CREDENTIALS_MODE_INCLUDE, |
+ WebURLRequest::FetchCredentialsModeInclude); |
+ |
+FetchCredentialsMode GetFetchCredentialsModeForWebURLRequest( |
+ const blink::WebURLRequest& request) { |
+ return static_cast<FetchCredentialsMode>(request.fetchCredentialsMode()); |
+} |
+ |
+STATIC_ASSERT_MATCHING_ENUMS(FetchRedirectMode::FOLLOW_MODE, |
+ WebURLRequest::FetchRedirectModeFollow); |
+STATIC_ASSERT_MATCHING_ENUMS(FetchRedirectMode::ERROR_MODE, |
+ WebURLRequest::FetchRedirectModeError); |
+STATIC_ASSERT_MATCHING_ENUMS(FetchRedirectMode::MANUAL_MODE, |
+ WebURLRequest::FetchRedirectModeManual); |
+ |
+FetchRedirectMode GetFetchRedirectModeForWebURLRequest( |
+ const blink::WebURLRequest& request) { |
+ return static_cast<FetchRedirectMode>(request.fetchRedirectMode()); |
+} |
+ |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_AUXILIARY, |
+ WebURLRequest::FrameTypeAuxiliary); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NESTED, |
+ WebURLRequest::FrameTypeNested); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_NONE, |
+ WebURLRequest::FrameTypeNone); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL, |
+ WebURLRequest::FrameTypeTopLevel); |
+ |
+RequestContextFrameType GetRequestContextFrameTypeForWebURLRequest( |
+ const blink::WebURLRequest& request) { |
+ return static_cast<RequestContextFrameType>(request.frameType()); |
+} |
+ |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_UNSPECIFIED, |
+ WebURLRequest::RequestContextUnspecified); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_AUDIO, |
+ WebURLRequest::RequestContextAudio); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_BEACON, |
+ WebURLRequest::RequestContextBeacon); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_CSP_REPORT, |
+ WebURLRequest::RequestContextCSPReport); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_DOWNLOAD, |
+ WebURLRequest::RequestContextDownload); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EMBED, |
+ WebURLRequest::RequestContextEmbed); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_EVENT_SOURCE, |
+ WebURLRequest::RequestContextEventSource); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FAVICON, |
+ WebURLRequest::RequestContextFavicon); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FETCH, |
+ WebURLRequest::RequestContextFetch); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FONT, |
+ WebURLRequest::RequestContextFont); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FORM, |
+ WebURLRequest::RequestContextForm); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_FRAME, |
+ WebURLRequest::RequestContextFrame); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_HYPERLINK, |
+ WebURLRequest::RequestContextHyperlink); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IFRAME, |
+ WebURLRequest::RequestContextIframe); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE, |
+ WebURLRequest::RequestContextImage); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMAGE_SET, |
+ WebURLRequest::RequestContextImageSet); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_IMPORT, |
+ WebURLRequest::RequestContextImport); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_INTERNAL, |
+ WebURLRequest::RequestContextInternal); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_LOCATION, |
+ WebURLRequest::RequestContextLocation); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_MANIFEST, |
+ WebURLRequest::RequestContextManifest); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_OBJECT, |
+ WebURLRequest::RequestContextObject); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PING, |
+ WebURLRequest::RequestContextPing); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PLUGIN, |
+ WebURLRequest::RequestContextPlugin); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_PREFETCH, |
+ WebURLRequest::RequestContextPrefetch); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SCRIPT, |
+ WebURLRequest::RequestContextScript); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SERVICE_WORKER, |
+ WebURLRequest::RequestContextServiceWorker); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SHARED_WORKER, |
+ WebURLRequest::RequestContextSharedWorker); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_SUBRESOURCE, |
+ WebURLRequest::RequestContextSubresource); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_STYLE, |
+ WebURLRequest::RequestContextStyle); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_TRACK, |
+ WebURLRequest::RequestContextTrack); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_VIDEO, |
+ WebURLRequest::RequestContextVideo); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_WORKER, |
+ WebURLRequest::RequestContextWorker); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XML_HTTP_REQUEST, |
+ WebURLRequest::RequestContextXMLHttpRequest); |
+STATIC_ASSERT_MATCHING_ENUMS(REQUEST_CONTEXT_TYPE_XSLT, |
+ WebURLRequest::RequestContextXSLT); |
+ |
+RequestContextType GetRequestContextTypeForWebURLRequest( |
+ const blink::WebURLRequest& request) { |
+ return static_cast<RequestContextType>(request.requestContext()); |
+} |
+ |
blink::WebURLError CreateWebURLError(const blink::WebURL& unreachable_url, |
bool stale_copy_in_cache, |
int reason) { |