From aeecf7b38d0cffc901329fe64cea3de53432b5d9 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Mon, 15 Jun 2015 23:20:02 -0400 Subject: [PATCH] Backed out changeset 7210dfe7ad78 (Bug 1147668) for test failure --- dom/fetch/InternalRequest.cpp | 8 +------- dom/fetch/InternalRequest.h | 7 ++++--- dom/html/HTMLMediaElement.cpp | 8 ++------ dom/html/HTMLTrackElement.cpp | 4 ++-- dom/media/MediaResource.cpp | 12 ++---------- .../serviceworkers/fetch/context/context_test.js | 3 ++- .../test/serviceworkers/fetch/context/index.html | 3 ++- 7 files changed, 15 insertions(+), 30 deletions(-) diff --git a/dom/fetch/InternalRequest.cpp b/dom/fetch/InternalRequest.cpp index 13feb77da01b..7c2f0ce397a7 100644 --- a/dom/fetch/InternalRequest.cpp +++ b/dom/fetch/InternalRequest.cpp @@ -152,15 +152,9 @@ InternalRequest::MapContentPolicyTypeToRequestContext(nsContentPolicyType aConte case nsIContentPolicy::TYPE_FONT: context = RequestContext::Font; break; - case nsIContentPolicy::TYPE_INTERNAL_AUDIO: + case nsIContentPolicy::TYPE_MEDIA: context = RequestContext::Audio; break; - case nsIContentPolicy::TYPE_INTERNAL_VIDEO: - context = RequestContext::Video; - break; - case nsIContentPolicy::TYPE_INTERNAL_TRACK: - context = RequestContext::Track; - break; case nsIContentPolicy::TYPE_WEBSOCKET: context = RequestContext::Internal; break; diff --git a/dom/fetch/InternalRequest.h b/dom/fetch/InternalRequest.h index ebc5be534347..d0b1c403c54c 100644 --- a/dom/fetch/InternalRequest.h +++ b/dom/fetch/InternalRequest.h @@ -30,7 +30,7 @@ namespace dom { * * RequestContext | nsContentPolicyType * ------------------+-------------------- - * audio | TYPE_INTERNAL_AUDIO + * audio | TYPE_MEDIA * beacon | TYPE_BEACON * cspreport | TYPE_CSP_REPORT * download | @@ -57,14 +57,15 @@ namespace dom { * sharedworker | * subresource | Not supported by Gecko * style | TYPE_STYLESHEET - * track | TYPE_INTERNAL_TRACK - * video | TYPE_INTERNAL_VIDEO + * track | TYPE_MEDIA + * video | TYPE_MEDIA * worker | * xmlhttprequest | TYPE_XMLHTTPREQUEST * xslt | TYPE_XSLT * * TODO: Figure out if TYPE_REFRESH maps to anything useful * TODO: Figure out if TYPE_DTD maps to anything useful + * TODO: Split TYPE_MEDIA into TYPE_AUDIO, TYPE_VIDEO and TYPE_TRACK * TODO: Split TYPE_XMLHTTPREQUEST and TYPE_DATAREQUEST for EventSource * TODO: Figure out if TYPE_WEBSOCKET maps to anything useful * TODO: Differentiate between frame and iframe diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index f9528192f871..182183fc7e89 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -1150,12 +1150,8 @@ nsresult HTMLMediaElement::LoadResource() return NS_ERROR_FAILURE; } - MOZ_ASSERT(IsAnyOfHTMLElements(nsGkAtoms::audio, nsGkAtoms::video)); - nsContentPolicyType contentPolicyType = IsHTMLElement(nsGkAtoms::audio) ? - nsIContentPolicy::TYPE_INTERNAL_AUDIO : nsIContentPolicy::TYPE_INTERNAL_VIDEO; - int16_t shouldLoad = nsIContentPolicy::ACCEPT; - nsresult rv = NS_CheckContentLoadPolicy(contentPolicyType, + nsresult rv = NS_CheckContentLoadPolicy(nsIContentPolicy::TYPE_MEDIA, mLoadingSrc, NodePrincipal(), static_cast(this), @@ -1233,7 +1229,7 @@ nsresult HTMLMediaElement::LoadResource() mLoadingSrc, static_cast(this), securityFlags, - contentPolicyType, + nsIContentPolicy::TYPE_MEDIA, loadGroup, nullptr, // aCallbacks nsICachingChannel::LOAD_BYPASS_LOCAL_CACHE_IF_BUSY | diff --git a/dom/html/HTMLTrackElement.cpp b/dom/html/HTMLTrackElement.cpp index 1c0276aa2d02..b9d24d50c4f1 100644 --- a/dom/html/HTMLTrackElement.cpp +++ b/dom/html/HTMLTrackElement.cpp @@ -209,7 +209,7 @@ HTMLTrackElement::LoadResource() NS_ENSURE_TRUE_VOID(NS_SUCCEEDED(rv)); int16_t shouldLoad = nsIContentPolicy::ACCEPT; - rv = NS_CheckContentLoadPolicy(nsIContentPolicy::TYPE_INTERNAL_TRACK, + rv = NS_CheckContentLoadPolicy(nsIContentPolicy::TYPE_MEDIA, uri, NodePrincipal(), static_cast(this), @@ -236,7 +236,7 @@ HTMLTrackElement::LoadResource() uri, static_cast(this), nsILoadInfo::SEC_NORMAL, - nsIContentPolicy::TYPE_INTERNAL_TRACK, + nsIContentPolicy::TYPE_MEDIA, loadGroup); NS_ENSURE_TRUE_VOID(NS_SUCCEEDED(rv)); diff --git a/dom/media/MediaResource.cpp b/dom/media/MediaResource.cpp index 70637fa1a741..c70a432924f1 100644 --- a/dom/media/MediaResource.cpp +++ b/dom/media/MediaResource.cpp @@ -891,15 +891,11 @@ ChannelMediaResource::RecreateChannel() securityFlags = nsILoadInfo::SEC_FORCE_INHERIT_PRINCIPAL; } - MOZ_ASSERT(element->IsAnyOfHTMLElements(nsGkAtoms::audio, nsGkAtoms::video)); - nsContentPolicyType contentPolicyType = element->IsHTMLElement(nsGkAtoms::audio) ? - nsIContentPolicy::TYPE_INTERNAL_AUDIO : nsIContentPolicy::TYPE_INTERNAL_VIDEO; - nsresult rv = NS_NewChannel(getter_AddRefs(mChannel), mURI, element, securityFlags, - contentPolicyType, + nsIContentPolicy::TYPE_MEDIA, loadGroup, nullptr, // aCallbacks loadFlags); @@ -1422,17 +1418,13 @@ already_AddRefed FileMediaResource::CloneData(MediaDecoder* aDeco securityFlags = nsILoadInfo::SEC_FORCE_INHERIT_PRINCIPAL; } - MOZ_ASSERT(element->IsAnyOfHTMLElements(nsGkAtoms::audio, nsGkAtoms::video)); - nsContentPolicyType contentPolicyType = element->IsHTMLElement(nsGkAtoms::audio) ? - nsIContentPolicy::TYPE_INTERNAL_AUDIO : nsIContentPolicy::TYPE_INTERNAL_VIDEO; - nsCOMPtr channel; nsresult rv = NS_NewChannel(getter_AddRefs(channel), mURI, element, securityFlags, - contentPolicyType, + nsIContentPolicy::TYPE_MEDIA, loadGroup); if (NS_FAILED(rv)) diff --git a/dom/workers/test/serviceworkers/fetch/context/context_test.js b/dom/workers/test/serviceworkers/fetch/context/context_test.js index 82c51fdb628a..24b0002a9623 100644 --- a/dom/workers/test/serviceworkers/fetch/context/context_test.js +++ b/dom/workers/test/serviceworkers/fetch/context/context_test.js @@ -24,7 +24,8 @@ self.addEventListener("fetch", function(event) { event.respondWith(fetch("realaudio.ogg")); } } else if (event.request.url.indexOf("video.ogg") >= 0) { - if (event.request.context == "video") { + // FIXME: Bug 1147668: This should be "video". + if (event.request.context == "audio") { event.respondWith(fetch("realaudio.ogg")); } } else if (event.request.url.indexOf("beacon.sjs") >= 0) { diff --git a/dom/workers/test/serviceworkers/fetch/context/index.html b/dom/workers/test/serviceworkers/fetch/context/index.html index c5775ea0e247..878059f84bfa 100644 --- a/dom/workers/test/serviceworkers/fetch/context/index.html +++ b/dom/workers/test/serviceworkers/fetch/context/index.html @@ -303,7 +303,8 @@ document.documentElement.appendChild(video); navigator.serviceWorker.addEventListener("message", function onMessage(e) { if (e.data.data == "track") { - is(e.data.context, "track", "Expected the track context on a request coming from a track"); + // FIXME: Bug 1147668: This should be "track". + is(e.data.context, "audio", "Expected the audio context on a request coming from a track"); navigator.serviceWorker.removeEventListener("message", onMessage); resolve(); }