From 1ac9ec7bccd1b5178b18338b10149f36292f5fb6 Mon Sep 17 00:00:00 2001 From: tyoshino Date: Tue, 18 Aug 2015 05:50:45 -0700 Subject: Allow url::SchemeHostPort to hold non-file scheme without port WebSockets use url::Origin to pass origin info between renderer and browser. Currently, it cannot hold an origin with non-file scheme and no port. Chrome extensions have been using such origins, so we need to keep the channel to convey origin info work for such origins. BUG=516971 R=sleevi,brettw Review URL: https://codereview.chromium.org/1272113002 Cr-Commit-Position: refs/heads/master@{#343895} --- extensions/test/extensions_unittests_main.cc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'extensions/test') diff --git a/extensions/test/extensions_unittests_main.cc b/extensions/test/extensions_unittests_main.cc index aa0108f..f39e40d 100644 --- a/extensions/test/extensions_unittests_main.cc +++ b/extensions/test/extensions_unittests_main.cc @@ -16,9 +16,17 @@ #include "third_party/mojo/src/mojo/edk/embedder/test_embedder.h" #include "ui/base/resource/resource_bundle.h" #include "ui/gl/test/gl_surface_test_support.h" +#include "url/url_util.h" namespace { +const int kNumExtensionStandardURLSchemes = 2; +const url::SchemeWithType kExtensionStandardURLSchemes[ + kNumExtensionStandardURLSchemes] = { + {extensions::kExtensionScheme, url::SCHEME_WITHOUT_PORT}, + {extensions::kExtensionResourceScheme, url::SCHEME_WITHOUT_PORT}, +}; + // Content client that exists only to register chrome-extension:// scheme with // the url module. // TODO(jamescook): Should this be merged with ShellContentClient? Should this @@ -30,11 +38,12 @@ class ExtensionsContentClient : public content::ContentClient { // content::ContentClient overrides: void AddAdditionalSchemes( - std::vector* standard_schemes, + std::vector* standard_schemes, std::vector* savable_schemes) override { - standard_schemes->push_back(extensions::kExtensionScheme); + for (int i = 0; i < kNumExtensionStandardURLSchemes; i++) + standard_schemes->push_back(kExtensionStandardURLSchemes[i]); + savable_schemes->push_back(extensions::kExtensionScheme); - standard_schemes->push_back(extensions::kExtensionResourceScheme); savable_schemes->push_back(extensions::kExtensionResourceScheme); } -- cgit v1.1