Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java |
| index 027b5ef5bbe89b6c2047d0fd74b700fd626b7617..d83caa4f7adf8c04b951691632459e42a76dda6f 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/remote/DefaultMediaRouteController.java |
| @@ -24,7 +24,6 @@ import android.widget.Toast; |
| import com.google.android.gms.cast.CastMediaControlIntent; |
| -import org.apache.http.Header; |
| import org.chromium.base.ApplicationState; |
| import org.chromium.base.ApplicationStatus; |
| import org.chromium.base.CommandLine; |
| @@ -34,6 +33,8 @@ import org.chromium.chrome.browser.media.remote.RemoteVideoInfo.PlayerState; |
| import java.net.URI; |
| import java.net.URISyntaxException; |
| +import java.util.List; |
| +import java.util.Map; |
| import javax.annotation.Nullable; |
| @@ -93,6 +94,7 @@ public class DefaultMediaRouteController extends AbstractMediaRouteController { |
| private static final String ACTION_RECEIVE_MEDIA_STATUS_UPDATE = |
| "com.google.android.apps.chrome.videofling.RECEIVE_MEDIA_STATUS_UPDATE"; |
| private static final String MIME_TYPE = "video/mp4"; |
| + private static final String CORS_HEADER_NAME = "Access-Control-Allow-Origin"; |
| private boolean mDebug; |
| private String mCurrentSessionId; |
| @@ -156,7 +158,7 @@ public class DefaultMediaRouteController extends AbstractMediaRouteController { |
| } |
| @Override |
| - public void setUri(Uri uri, Header[] headers) { |
| + public void setUri(Uri uri, Map<String, List<String>> headers) { |
| if (canPlayMedia(uri, headers)) { |
| mLocalVideoUri = uri; |
| playMedia(); |
| @@ -1047,13 +1049,13 @@ public class DefaultMediaRouteController extends AbstractMediaRouteController { |
| mMediaUrlResolver.execute(); |
| } |
| - private boolean canPlayMedia(Uri uri, Header[] headers) { |
| + private boolean canPlayMedia(Uri uri, Map<String, List<String>> headers) { |
|
whywhat
2015/03/30 15:51:34
As I explain in the other comment I'd rather move
aberent
2015/03/30 17:24:04
Done.
|
| if (uri == Uri.EMPTY) return false; |
| // HLS media requires Cors headers. Since these are the only ones |
| // sent now we can just check that headers is not empty but |
| // if more headers are added we should be more strict in the check. |
| - if ((headers == null || headers.length == 0) && isEnhancedMedia(uri)) { |
| + if ((headers == null || !headers.containsKey(CORS_HEADER_NAME)) && isEnhancedMedia(uri)) { |
| if (mDebug) Log.d(TAG, "HLS stream without CORs header: " + uri); |
| return false; |
| } |