Do not try to look up non-standard URLs in auth cache

Auth cache uses URL's origin as a key, and non-standard URLs don't have
it, so it only results in an attempt to use an invalid key, trigerring a
DCHECK on the way, too.

This can happen if page uses a data URL as a source for an HTML5 video.

Bug: 882842
Change-Id: I0a1861d27152d4d84f3a7692fd94af6222ca027c
Reviewed-on: https://chromium-review.googlesource.com/1219607
Reviewed-by: Min Qin <qinmin@chromium.org>
Commit-Queue: Piotr Kalinowski <pkalinowski@opera.com>
Cr-Commit-Position: refs/heads/master@{#592005}
diff --git a/content/browser/media/android/media_resource_getter_impl.cc b/content/browser/media/android/media_resource_getter_impl.cc
index 74a94dfa..cab2d99 100644
--- a/content/browser/media/android/media_resource_getter_impl.cc
+++ b/content/browser/media/android/media_resource_getter_impl.cc
@@ -141,6 +141,11 @@
 net::AuthCredentials MediaResourceGetterTask::RequestAuthCredentials(
     const GURL& url) const {
   DCHECK(GetTaskRunner()->BelongsToCurrentThread());
+  if (!url.IsStandard()) {
+    // Non-standard URLs, such as data, will not be found in HTTP auth cache
+    // anyway, because they have no valid origin, so don't waste the time.
+    return net::AuthCredentials();
+  }
   net::HttpTransactionFactory* factory =
       context_getter_->GetURLRequestContext()->http_transaction_factory();
   if (!factory)