Commit 53ef3ccc authored by Karan Bhatia's avatar Karan Bhatia Committed by Commit Bot

Make WebRequestInfo::type non-optional.

It should never be null.

BUG=None

Change-Id: Ic1e72b42e4664177cd42af61d38caa4930c5713c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1737741
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Auto-Submit: Karan Bhatia <karandeepb@chromium.org>
Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684418}
parent 5894c31d
......@@ -77,8 +77,7 @@ flat_rule::ElementType GetElementType(const WebRequestInfo& request) {
if (request.url.SchemeIsWSOrWSS())
return flat_rule::ElementType_WEBSOCKET;
return request.type.has_value() ? GetElementType(request.type.value())
: flat_rule::ElementType_OTHER;
return GetElementType(request.type);
}
// Returns whether the request to |url| is third party to its |document_origin|.
......
......@@ -179,7 +179,7 @@ WebRequestInfoInitParams::WebRequestInfoInitParams(
else if (is_download)
web_request_type = WebRequestResourceType::OTHER;
else
web_request_type = ToWebRequestResourceType(type.value());
web_request_type = ToWebRequestResourceType(type);
InitializeWebViewAndFrameData(navigation_ui_data.get());
......
......@@ -62,7 +62,7 @@ struct WebRequestInfoInitParams {
std::string method;
bool is_navigation_request = false;
base::Optional<url::Origin> initiator;
base::Optional<content::ResourceType> type;
content::ResourceType type = content::ResourceType::kSubResource;
WebRequestResourceType web_request_type = WebRequestResourceType::OTHER;
bool is_async = false;
net::HttpRequestHeaders extra_request_headers;
......@@ -123,9 +123,8 @@ struct WebRequestInfo {
// initiate this request.
ExtensionApiFrameIdMap::FrameData frame_data;
// The type of the request (e.g. main frame, subresource, XHR, etc). May have
// no value if the request did not originate from a ResourceDispatcher.
const base::Optional<content::ResourceType> type;
// The type of the request (e.g. main frame, subresource, XHR, etc).
const content::ResourceType type;
// A partially mirrored copy of |type| which is slightly less granular and
// which also identifies WebSocket requests separately from other types.
......
......@@ -336,7 +336,7 @@ PermissionsData::PageAccess WebRequestPermissions::CanExtensionAccessURL(
bool crosses_incognito,
HostPermissionsCheck host_permissions_check,
const base::Optional<url::Origin>& initiator,
const base::Optional<content::ResourceType>& resource_type) {
content::ResourceType resource_type) {
return CanExtensionAccessURLInternal(
permission_helper, extension_id, url, tab_id, crosses_incognito,
host_permissions_check, initiator, resource_type);
......
......@@ -56,7 +56,7 @@ class WebRequestPermissions {
bool crosses_incognito,
HostPermissionsCheck host_permissions_check,
const base::Optional<url::Origin>& initiator,
const base::Optional<content::ResourceType>& resource_type);
content::ResourceType resource_type);
static bool CanExtensionAccessInitiator(
extensions::PermissionHelper* permission_helper,
......
......@@ -209,8 +209,7 @@ TEST_F(ExtensionWebRequestPermissionsTest,
auto get_access = [extension, this](
const GURL& url,
const base::Optional<url::Origin>& initiator,
const base::Optional<content::ResourceType>&
resource_type) {
const content::ResourceType resource_type) {
constexpr int kTabId = 42;
constexpr WebRequestPermissions::HostPermissionsCheck kPermissionsCheck =
WebRequestPermissions::REQUIRE_HOST_PERMISSION_FOR_URL;
......@@ -228,8 +227,7 @@ TEST_F(ExtensionWebRequestPermissionsTest,
GURL urls[] = {example_com, chromium_org};
base::Optional<url::Origin> initiators[] = {base::nullopt, example_com_origin,
chromium_org_origin};
base::Optional<content::ResourceType> resource_types[] = {
base::nullopt, content::ResourceType::kSubResource,
content::ResourceType resource_types[] = {content::ResourceType::kSubResource,
content::ResourceType::kMainFrame};
// With all permissions withheld, the result of any request should be
......@@ -270,8 +268,6 @@ TEST_F(ExtensionWebRequestPermissionsTest,
EXPECT_EQ(PermissionsData::PageAccess::kAllowed,
get_access(example_com, chromium_org_origin,
content::ResourceType::kSubResource));
EXPECT_EQ(PermissionsData::PageAccess::kAllowed,
get_access(example_com, chromium_org_origin, base::nullopt));
EXPECT_EQ(PermissionsData::PageAccess::kWithheld,
get_access(example_com, chromium_org_origin,
content::ResourceType::kSubFrame));
......@@ -322,8 +318,7 @@ TEST_F(ExtensionWebRequestPermissionsTest,
auto get_access = [extension, this](
const GURL& url,
const base::Optional<url::Origin>& initiator,
const base::Optional<content::ResourceType>&
resource_type) {
content::ResourceType resource_type) {
constexpr int kTabId = 42;
constexpr WebRequestPermissions::HostPermissionsCheck kPermissionsCheck =
WebRequestPermissions::REQUIRE_HOST_PERMISSION_FOR_URL_AND_INITIATOR;
......@@ -380,8 +375,6 @@ TEST_F(ExtensionWebRequestPermissionsTest,
EXPECT_EQ(get_access(test_case.url, test_case.initiator,
content::ResourceType::kSubResource),
test_case.expected_access_subresource);
EXPECT_EQ(get_access(test_case.url, test_case.initiator, base::nullopt),
test_case.expected_access_subresource);
EXPECT_EQ(get_access(test_case.url, test_case.initiator,
content::ResourceType::kSubFrame),
test_case.expected_access_navigation);
......
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