Commit 5a6639a6 authored by Yutaka Hirano's avatar Yutaka Hirano Committed by Commit Bot

Remove WorkerNosniff(Block|Warn) runtime features

The flags have been stable since Sep 2018[1][2].

1: https://crrev.com/bd8853574964974b80f539f21e887b9932b5ebab
2: https://crrev.com/4b736aaff87186c442a20dc5e6823d0fe087e101

Bug: 794548, 924024
Change-Id: Ifb45d0114a398c410fe6f717247fea25c3c0fbad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1609026Reviewed-by: default avatarMike West <mkwst@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#659011}
parent 9429b023
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_response.h" #include "third_party/blink/renderer/platform/loader/fetch/resource_response.h"
#include "third_party/blink/renderer/platform/network/http_names.h" #include "third_party/blink/renderer/platform/network/http_names.h"
#include "third_party/blink/renderer/platform/network/mime/mime_type_registry.h" #include "third_party/blink/renderer/platform/network/mime/mime_type_registry.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h" #include "third_party/blink/renderer/platform/weborigin/security_origin.h"
namespace blink { namespace blink {
...@@ -121,12 +120,8 @@ bool AllowMimeTypeAsScript(const String& mime_type, ...@@ -121,12 +120,8 @@ bool AllowMimeTypeAsScript(const String& mime_type,
counter = kTextXmlFeatures[same_origin][is_worker_global_scope]; counter = kTextXmlFeatures[same_origin][is_worker_global_scope];
} }
// Depending on RuntimeEnabledFeatures, we'll allow, allow-but-warn, or block bool allow = mime_type_check_mode == MimeTypeCheck::kLax;
// these types when we're in a worker. warn = false;
bool allow = mime_type_check_mode == MimeTypeCheck::kLax ||
!RuntimeEnabledFeatures::WorkerNosniffBlockEnabled();
warn = allow && mime_type_check_mode == MimeTypeCheck::kStrict &&
RuntimeEnabledFeatures::WorkerNosniffWarnEnabled();
return allow; return allow;
} }
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h" #include "third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h"
#include "third_party/blink/renderer/platform/loader/testing/test_loader_factory.h" #include "third_party/blink/renderer/platform/loader/testing/test_loader_factory.h"
#include "third_party/blink/renderer/platform/loader/testing/test_resource_fetcher_properties.h" #include "third_party/blink/renderer/platform/loader/testing/test_resource_fetcher_properties.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink { namespace blink {
...@@ -115,31 +114,6 @@ TEST_F(AllowedByNosniffTest, AllowedOrNot) { ...@@ -115,31 +114,6 @@ TEST_F(AllowedByNosniffTest, AllowedOrNot) {
ResourceResponse response(url); ResourceResponse response(url);
response.SetHttpHeaderField("Content-Type", testcase.mimetype); response.SetHttpHeaderField("Content-Type", testcase.mimetype);
// Nosniff 'legacy' setting: Both worker + non-worker obey the 'allowed'
// setting. Warnings for any blocked script.
RuntimeEnabledFeatures::SetWorkerNosniffBlockEnabled(false);
RuntimeEnabledFeatures::SetWorkerNosniffWarnEnabled(false);
EXPECT_CALL(*context, CountUsage(_)).Times(::testing::AnyNumber());
if (!testcase.allowed)
EXPECT_CALL(*logger, AddConsoleMessage(_, _, _));
EXPECT_EQ(testcase.allowed,
AllowedByNosniff::MimeTypeAsScript(*context, logger, response,
MimeTypeCheck::kLax, false));
::testing::Mock::VerifyAndClear(context);
EXPECT_CALL(*context, CountUsage(_)).Times(::testing::AnyNumber());
if (!testcase.allowed)
EXPECT_CALL(*logger, AddConsoleMessage(_, _, _));
EXPECT_EQ(testcase.allowed,
AllowedByNosniff::MimeTypeAsScript(
*context, logger, response, MimeTypeCheck::kStrict, false));
::testing::Mock::VerifyAndClear(context);
// Nosniff worker blocked: Workers follow the 'strict_allow' setting.
// Warnings for any blocked scripts.
RuntimeEnabledFeatures::SetWorkerNosniffBlockEnabled(true);
RuntimeEnabledFeatures::SetWorkerNosniffWarnEnabled(false);
EXPECT_CALL(*context, CountUsage(_)).Times(::testing::AnyNumber()); EXPECT_CALL(*context, CountUsage(_)).Times(::testing::AnyNumber());
if (!testcase.allowed) if (!testcase.allowed)
EXPECT_CALL(*logger, AddConsoleMessage(_, _, _)); EXPECT_CALL(*logger, AddConsoleMessage(_, _, _));
...@@ -155,27 +129,6 @@ TEST_F(AllowedByNosniffTest, AllowedOrNot) { ...@@ -155,27 +129,6 @@ TEST_F(AllowedByNosniffTest, AllowedOrNot) {
AllowedByNosniff::MimeTypeAsScript( AllowedByNosniff::MimeTypeAsScript(
*context, logger, response, MimeTypeCheck::kStrict, false)); *context, logger, response, MimeTypeCheck::kStrict, false));
::testing::Mock::VerifyAndClear(context); ::testing::Mock::VerifyAndClear(context);
// Nosniff 'legacy', but with warnings. The allowed setting follows the
// 'allowed' setting, but the warnings follow the 'strict' setting.
RuntimeEnabledFeatures::SetWorkerNosniffBlockEnabled(false);
RuntimeEnabledFeatures::SetWorkerNosniffWarnEnabled(true);
EXPECT_CALL(*context, CountUsage(_)).Times(::testing::AnyNumber());
if (!testcase.allowed)
EXPECT_CALL(*logger, AddConsoleMessage(_, _, _));
EXPECT_EQ(testcase.allowed,
AllowedByNosniff::MimeTypeAsScript(*context, logger, response,
MimeTypeCheck::kLax, false));
::testing::Mock::VerifyAndClear(context);
EXPECT_CALL(*context, CountUsage(_)).Times(::testing::AnyNumber());
if (!testcase.strict_allowed)
EXPECT_CALL(*logger, AddConsoleMessage(_, _, _));
EXPECT_EQ(testcase.allowed,
AllowedByNosniff::MimeTypeAsScript(
*context, logger, response, MimeTypeCheck::kStrict, false));
::testing::Mock::VerifyAndClear(context);
} }
} }
......
...@@ -1620,15 +1620,6 @@ ...@@ -1620,15 +1620,6 @@
name: "WebXRPlaneDetection", name: "WebXRPlaneDetection",
// depends_on: ["WebXR"], // TODO(https://crbug.com/954679): uncomment once bug is fixed // depends_on: ["WebXR"], // TODO(https://crbug.com/954679): uncomment once bug is fixed
}, },
{
name: "WorkerNosniffBlock",
status: "stable",
},
{
name: "WorkerNosniffWarn",
status: "stable",
implied_by: ["WorkerNosniffBlock"],
},
{ {
name: "WorkerTaskQueue", name: "WorkerTaskQueue",
status: "experimental" status: "experimental"
......
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