Commit c3aff238 authored by Takashi Toyoshima's avatar Takashi Toyoshima Committed by Commit Bot

WebView: remove WebViewOriginCheckForStreamReader experiment

Now the feature is launched in the stable channel, and this
experiment is not needed any more. The feature should be
enabled by default.

Bug: 1096677
Change-Id: I8dad4f56fdc8bbd85c4dd9f3a819d88d5a9f114c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2355154
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Reviewed-by: default avatarNate Fischer <ntfschr@chromium.org>
Reviewed-by: default avatarMark Pearson <mpearson@chromium.org>
Reviewed-by: default avatarRichard Coles <torne@chromium.org>
Auto-Submit: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#800464}
parent 0e310721
...@@ -431,8 +431,7 @@ void InterceptedRequest::ContinueAfterIntercept() { ...@@ -431,8 +431,7 @@ void InterceptedRequest::ContinueAfterIntercept() {
std::make_unique<ProtocolResponseDelegate>( std::make_unique<ProtocolResponseDelegate>(
request_.url, weak_factory_.GetWeakPtr()), request_.url, weak_factory_.GetWeakPtr()),
security_options_); security_options_);
loader->Start(base::FeatureList::IsEnabled( loader->Start();
features::kWebViewOriginCheckForStreamReader));
return; return;
} }
...@@ -453,8 +452,7 @@ void InterceptedRequest::ContinueAfterInterceptWithOverride( ...@@ -453,8 +452,7 @@ void InterceptedRequest::ContinueAfterInterceptWithOverride(
std::make_unique<InterceptResponseDelegate>( std::make_unique<InterceptResponseDelegate>(
std::move(response), weak_factory_.GetWeakPtr()), std::move(response), weak_factory_.GetWeakPtr()),
base::nullopt); base::nullopt);
loader->Start(base::FeatureList::IsEnabled( loader->Start();
features::kWebViewOriginCheckForStreamReader));
} }
namespace { namespace {
......
...@@ -35,10 +35,6 @@ const base::Feature kWebViewExtraHeadersSameDomainOnly{ ...@@ -35,10 +35,6 @@ const base::Feature kWebViewExtraHeadersSameDomainOnly{
const base::Feature kWebViewExtraHeadersSameOriginOnly{ const base::Feature kWebViewExtraHeadersSameOriginOnly{
"WebViewExtraHeadersSameOriginOnly", base::FEATURE_DISABLED_BY_DEFAULT}; "WebViewExtraHeadersSameOriginOnly", base::FEATURE_DISABLED_BY_DEFAULT};
// Activate compatible origin checks for AndroidStreamReaderURLLoader.
const base::Feature kWebViewOriginCheckForStreamReader{
"WebViewOriginCheckForStreamReader", base::FEATURE_DISABLED_BY_DEFAULT};
// A Feature used for WebView variations tests. Not used in production. // A Feature used for WebView variations tests. Not used in production.
const base::Feature kWebViewTestFeature{"WebViewTestFeature", const base::Feature kWebViewTestFeature{"WebViewTestFeature",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
......
...@@ -19,7 +19,6 @@ extern const base::Feature kWebViewConnectionlessSafeBrowsing; ...@@ -19,7 +19,6 @@ extern const base::Feature kWebViewConnectionlessSafeBrowsing;
extern const base::Feature kWebViewDisplayCutout; extern const base::Feature kWebViewDisplayCutout;
extern const base::Feature kWebViewExtraHeadersSameDomainOnly; extern const base::Feature kWebViewExtraHeadersSameDomainOnly;
extern const base::Feature kWebViewExtraHeadersSameOriginOnly; extern const base::Feature kWebViewExtraHeadersSameOriginOnly;
extern const base::Feature kWebViewOriginCheckForStreamReader;
extern const base::Feature kWebViewTestFeature; extern const base::Feature kWebViewTestFeature;
extern const base::Feature kWebViewWideColorGamutSupport; extern const base::Feature kWebViewWideColorGamutSupport;
......
...@@ -72,8 +72,7 @@ import java.util.regex.Pattern; ...@@ -72,8 +72,7 @@ import java.util.regex.Pattern;
* application * application
*/ */
@RunWith(AwJUnit4ClassRunner.class) @RunWith(AwJUnit4ClassRunner.class)
@CommandLineFlags.Add({ContentSwitches.HOST_RESOLVER_RULES + "=MAP * 127.0.0.1", @CommandLineFlags.Add({ContentSwitches.HOST_RESOLVER_RULES + "=MAP * 127.0.0.1"})
"enable-features=WebViewOriginCheckForStreamReader"})
@Batch(Batch.PER_CLASS) @Batch(Batch.PER_CLASS)
public class AwSettingsTest { public class AwSettingsTest {
@Rule @Rule
......
...@@ -145,12 +145,11 @@ void AndroidStreamReaderURLLoader::SetPriority(net::RequestPriority priority, ...@@ -145,12 +145,11 @@ void AndroidStreamReaderURLLoader::SetPriority(net::RequestPriority priority,
void AndroidStreamReaderURLLoader::PauseReadingBodyFromNet() {} void AndroidStreamReaderURLLoader::PauseReadingBodyFromNet() {}
void AndroidStreamReaderURLLoader::ResumeReadingBodyFromNet() {} void AndroidStreamReaderURLLoader::ResumeReadingBodyFromNet() {}
void AndroidStreamReaderURLLoader::Start(bool cors_check) { void AndroidStreamReaderURLLoader::Start() {
DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(thread_checker_.CalledOnValidThread());
if (cors_check && reject_cors_request_ && if (reject_cors_request_ && response_head_->response_type ==
response_head_->response_type == network::mojom::FetchResponseType::kCors) {
network::mojom::FetchResponseType::kCors) {
RequestCompleteWithStatus( RequestCompleteWithStatus(
network::URLLoaderCompletionStatus(network::CorsErrorStatus( network::URLLoaderCompletionStatus(network::CorsErrorStatus(
network::mojom::CorsError::kCorsDisabledScheme))); network::mojom::CorsError::kCorsDisabledScheme)));
......
...@@ -76,9 +76,7 @@ class AndroidStreamReaderURLLoader : public network::mojom::URLLoader { ...@@ -76,9 +76,7 @@ class AndroidStreamReaderURLLoader : public network::mojom::URLLoader {
base::Optional<SecurityOptions> security_options); base::Optional<SecurityOptions> security_options);
~AndroidStreamReaderURLLoader() override; ~AndroidStreamReaderURLLoader() override;
// TODO: remove the boolean once https://crbug.com/1096677 reaches stable and void Start();
// there are no issues.
void Start(bool cors_check);
// network::mojom::URLLoader overrides: // network::mojom::URLLoader overrides:
void FollowRedirect( void FollowRedirect(
......
...@@ -244,7 +244,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFakeStream) { ...@@ -244,7 +244,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFakeStream) {
std::make_unique<network::TestURLLoaderClient>(); std::make_unique<network::TestURLLoaderClient>();
AndroidStreamReaderURLLoader* loader = AndroidStreamReaderURLLoader* loader =
CreateLoader(request, client.get(), std::make_unique<FakeInputStream>()); CreateLoader(request, client.get(), std::make_unique<FakeInputStream>());
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::OK, client->completion_status().error_code); EXPECT_EQ(net::OK, client->completion_status().error_code);
EXPECT_EQ("HTTP/1.1 200 OK", EXPECT_EQ("HTTP/1.1 200 OK",
...@@ -259,7 +259,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFailingStream) { ...@@ -259,7 +259,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFailingStream) {
std::make_unique<network::TestURLLoaderClient>(); std::make_unique<network::TestURLLoaderClient>();
AndroidStreamReaderURLLoader* loader = CreateLoader( AndroidStreamReaderURLLoader* loader = CreateLoader(
request, client.get(), std::make_unique<FakeFailingInputStream>()); request, client.get(), std::make_unique<FakeFailingInputStream>());
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::ERR_FAILED, client->completion_status().error_code); EXPECT_EQ(net::ERR_FAILED, client->completion_status().error_code);
} }
...@@ -272,7 +272,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ValidRangeRequest) { ...@@ -272,7 +272,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ValidRangeRequest) {
std::make_unique<network::TestURLLoaderClient>(); std::make_unique<network::TestURLLoaderClient>();
AndroidStreamReaderURLLoader* loader = AndroidStreamReaderURLLoader* loader =
CreateLoader(request, client.get(), std::make_unique<FakeInputStream>()); CreateLoader(request, client.get(), std::make_unique<FakeInputStream>());
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::OK, client->completion_status().error_code); EXPECT_EQ(net::OK, client->completion_status().error_code);
EXPECT_EQ("HTTP/1.1 200 OK", EXPECT_EQ("HTTP/1.1 200 OK",
...@@ -287,7 +287,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, InvalidRangeRequest) { ...@@ -287,7 +287,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, InvalidRangeRequest) {
std::make_unique<network::TestURLLoaderClient>(); std::make_unique<network::TestURLLoaderClient>();
AndroidStreamReaderURLLoader* loader = AndroidStreamReaderURLLoader* loader =
CreateLoader(request, client.get(), std::make_unique<FakeInputStream>()); CreateLoader(request, client.get(), std::make_unique<FakeInputStream>());
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::ERR_REQUEST_RANGE_NOT_SATISFIABLE, EXPECT_EQ(net::ERR_REQUEST_RANGE_NOT_SATISFIABLE,
client->completion_status().error_code); client->completion_status().error_code);
...@@ -300,7 +300,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, NullInputStream) { ...@@ -300,7 +300,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, NullInputStream) {
std::make_unique<network::TestURLLoaderClient>(); std::make_unique<network::TestURLLoaderClient>();
AndroidStreamReaderURLLoader* loader = AndroidStreamReaderURLLoader* loader =
CreateLoader(request, client.get(), nullptr); CreateLoader(request, client.get(), nullptr);
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::OK, client->completion_status().error_code); EXPECT_EQ(net::OK, client->completion_status().error_code);
EXPECT_EQ("HTTP/1.1 404 Not Found", EXPECT_EQ("HTTP/1.1 404 Not Found",
...@@ -317,7 +317,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFakeStreamWithBody) { ...@@ -317,7 +317,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFakeStreamWithBody) {
std::make_unique<network::TestURLLoaderClient>(); std::make_unique<network::TestURLLoaderClient>();
AndroidStreamReaderURLLoader* loader = CreateLoader( AndroidStreamReaderURLLoader* loader = CreateLoader(
request, client.get(), std::make_unique<FakeInputStream>(expected_body)); request, client.get(), std::make_unique<FakeInputStream>(expected_body));
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::OK, client->completion_status().error_code); EXPECT_EQ(net::OK, client->completion_status().error_code);
EXPECT_EQ("HTTP/1.1 200 OK", EXPECT_EQ("HTTP/1.1 200 OK",
...@@ -337,7 +337,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFakeStreamWithBodyMultipleReads) { ...@@ -337,7 +337,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ReadFakeStreamWithBodyMultipleReads) {
AndroidStreamReaderURLLoader* loader = AndroidStreamReaderURLLoader* loader =
CreateLoader(request, client.get(), CreateLoader(request, client.get(),
std::make_unique<FakeInputStream>(expected_body, 2)); std::make_unique<FakeInputStream>(expected_body, 2));
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::OK, client->completion_status().error_code); EXPECT_EQ(net::OK, client->completion_status().error_code);
EXPECT_EQ("HTTP/1.1 200 OK", EXPECT_EQ("HTTP/1.1 200 OK",
...@@ -359,7 +359,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, ...@@ -359,7 +359,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest,
AndroidStreamReaderURLLoader* loader = CreateLoaderWithMimeType( AndroidStreamReaderURLLoader* loader = CreateLoaderWithMimeType(
request, client.get(), std::make_unique<FakeInputStream>(expected_body), request, client.get(), std::make_unique<FakeInputStream>(expected_body),
valid_mime_type); valid_mime_type);
loader->Start(false); loader->Start();
client->RunUntilResponseBodyArrived(); client->RunUntilResponseBodyArrived();
EXPECT_TRUE(client->has_received_response()); EXPECT_TRUE(client->has_received_response());
EXPECT_FALSE(client->has_received_completion()); EXPECT_FALSE(client->has_received_completion());
...@@ -385,7 +385,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, CustomResponseHeaderAndStatus) { ...@@ -385,7 +385,7 @@ TEST_F(AndroidStreamReaderURLLoaderTest, CustomResponseHeaderAndStatus) {
request, client.get(), request, client.get(),
std::make_unique<FakeInputStream>(expected_body), custom_status_line, std::make_unique<FakeInputStream>(expected_body), custom_status_line,
custom_header_name, custom_header_value); custom_header_name, custom_header_value);
loader->Start(false); loader->Start();
client->RunUntilComplete(); client->RunUntilComplete();
EXPECT_EQ(net::OK, client->completion_status().error_code); EXPECT_EQ(net::OK, client->completion_status().error_code);
EXPECT_EQ(custom_status_line, EXPECT_EQ(custom_status_line,
......
...@@ -7917,21 +7917,6 @@ ...@@ -7917,21 +7917,6 @@
] ]
} }
], ],
"WebViewOriginCheckForStreamReader": [
{
"platforms": [
"android_webview"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
"WebViewOriginCheckForStreamReader"
]
}
]
}
],
"WindowsNativeSpellChecker": [ "WindowsNativeSpellChecker": [
{ {
"platforms": [ "platforms": [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment