Commit d829f1d9 authored by Peter Kotwicz's avatar Peter Kotwicz Committed by Commit Bot

[Android WebAPK Refactor] Rename blink::Manifest::ShareTarget::EncTypes

This CL:
1) Renames the blink::Manifest::ShareTarget::EncTypes enum values
to make them easier to understand and to match
EncodedFormData::EncodingType
2) Makes ShareTarget in shortcut_info.* use the enum type defined in
blink::Manifest


BUG=None

Change-Id: I642a1bae9aff3bf463390683323ca0575673a505
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1629871
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#665258}
parent b70898f1
......@@ -92,18 +92,8 @@ void ShortcutInfo::UpdateFromManifest(const blink::Manifest& manifest) {
if (manifest.share_target) {
share_target = ShareTarget();
share_target->action = manifest.share_target->action;
if (manifest.share_target->method ==
blink::Manifest::ShareTarget::Method::kPost) {
share_target->method = ShareTarget::Method::kPost;
} else {
share_target->method = ShareTarget::Method::kGet;
}
if (manifest.share_target->enctype ==
blink::Manifest::ShareTarget::Enctype::kMultipart) {
share_target->enctype = ShareTarget::Enctype::kMultipart;
} else {
share_target->enctype = ShareTarget::Enctype::kApplication;
}
share_target->method = manifest.share_target->method;
share_target->enctype = manifest.share_target->enctype;
if (!manifest.share_target->params.text.is_null())
share_target->params.text = manifest.share_target->params.text.string();
if (!manifest.share_target->params.title.is_null())
......
......@@ -38,18 +38,9 @@ struct ShareTargetParams {
// https://wicg.github.io/web-share-target/#dom-sharetarget
struct ShareTarget {
// This enum is used to indicate the HTTP method used by the share target.
// kGet stands for GET request, and kPost stands for POST request.
enum Method { kGet = 0, kPost = 1 };
// This enum is used to indicate the HTTP enctype used by the share target.
// kApplication stands for application/x-www-form-urlencoded enctype, and
// kMultipart stands for multipart/form-data enctype.
enum Enctype { kApplication = 0, kMultipart = 1 };
GURL action;
Method method;
Enctype enctype;
blink::Manifest::ShareTarget::Method method;
blink::Manifest::ShareTarget::Enctype enctype;
ShareTargetParams params;
ShareTarget();
~ShareTarget();
......
......@@ -48,6 +48,7 @@
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/cpp/resource_response_info.h"
#include "services/network/public/cpp/simple_url_loader.h"
#include "third_party/blink/public/common/manifest/manifest.h"
#include "third_party/blink/public/common/manifest/manifest_util.h"
#include "ui/gfx/android/java_bitmap.h"
#include "ui/gfx/codec/png_codec.h"
......@@ -210,13 +211,14 @@ std::unique_ptr<std::string> BuildProtoInBackground(
if (shortcut_info.share_target) {
webapk::ShareTarget* share_target = web_app_manifest->add_share_targets();
share_target->set_action(shortcut_info.share_target->action.spec());
if (shortcut_info.share_target->method == ShareTarget::Method::kPost) {
if (shortcut_info.share_target->method ==
blink::Manifest::ShareTarget::Method::kPost) {
share_target->set_method("POST");
} else {
share_target->set_method("GET");
}
if (shortcut_info.share_target->enctype ==
ShareTarget::Enctype::kMultipart) {
blink::Manifest::ShareTarget::Enctype::kMultipartFormData) {
share_target->set_enctype("multipart/form-data");
} else {
share_target->set_enctype("application/x-www-form-urlencoded");
......
......@@ -242,9 +242,11 @@ void WebApkUpdateDataFetcher::OnDataAvailable(
env, info_.share_target->params.url);
java_share_params_is_method_post =
(info_.share_target->method == ShareTarget::kPost);
(info_.share_target->method ==
blink::Manifest::ShareTarget::Method::kPost);
java_share_params_is_enctype_multipart =
(info_.share_target->enctype == ShareTarget::kMultipart);
(info_.share_target->enctype ==
blink::Manifest::ShareTarget::Enctype::kMultipartFormData);
std::vector<base::string16> file_names;
std::vector<std::vector<base::string16>> accepts;
......
......@@ -25,8 +25,8 @@
#include "ui/gfx/android/java_bitmap.h"
#include "url/gurl.h"
using base::android::JavaRef;
using base::android::JavaParamRef;
using base::android::JavaRef;
using base::android::ScopedJavaGlobalRef;
namespace {
......@@ -108,13 +108,14 @@ static void JNI_WebApkUpdateManager_StoreWebApkUpdateRequestToFile(
info.share_target->params.url =
ConvertJavaStringToUTF16(java_share_target_param_url);
info.share_target->method =
java_share_target_param_is_method_post == JNI_TRUE ? ShareTarget::kPost
: ShareTarget::kGet;
java_share_target_param_is_method_post == JNI_TRUE
? blink::Manifest::ShareTarget::Method::kPost
: blink::Manifest::ShareTarget::Method::kGet;
info.share_target->enctype =
java_share_target_param_is_enctype_multipart == JNI_TRUE
? ShareTarget::kMultipart
: ShareTarget::kApplication;
? blink::Manifest::ShareTarget::Enctype::kMultipartFormData
: blink::Manifest::ShareTarget::Enctype::kFormUrlEncoded;
std::vector<base::string16> fileNames;
base::android::AppendJavaStringArrayToStringVector(
......
......@@ -85,8 +85,8 @@ struct BLINK_COMMON_EXPORT Manifest {
};
enum class Enctype {
kApplication,
kMultipart,
kFormUrlEncoded,
kMultipartFormData,
};
ShareTarget();
......
......@@ -330,22 +330,22 @@ struct BLINK_COMMON_EXPORT EnumTraits<blink::mojom::ManifestShareTarget_Enctype,
static blink::mojom::ManifestShareTarget_Enctype ToMojom(
::blink::Manifest::ShareTarget::Enctype enctype) {
switch (enctype) {
case ::blink::Manifest::ShareTarget::Enctype::kApplication:
return blink::mojom::ManifestShareTarget_Enctype::kApplication;
case ::blink::Manifest::ShareTarget::Enctype::kMultipart:
return blink::mojom::ManifestShareTarget_Enctype::kMultipart;
case ::blink::Manifest::ShareTarget::Enctype::kFormUrlEncoded:
return blink::mojom::ManifestShareTarget_Enctype::kFormUrlEncoded;
case ::blink::Manifest::ShareTarget::Enctype::kMultipartFormData:
return blink::mojom::ManifestShareTarget_Enctype::kMultipartFormData;
}
NOTREACHED();
return blink::mojom::ManifestShareTarget_Enctype::kApplication;
return blink::mojom::ManifestShareTarget_Enctype::kFormUrlEncoded;
}
static bool FromMojom(blink::mojom::ManifestShareTarget_Enctype input,
::blink::Manifest::ShareTarget::Enctype* out) {
switch (input) {
case blink::mojom::ManifestShareTarget_Enctype::kApplication:
*out = ::blink::Manifest::ShareTarget::Enctype::kApplication;
case blink::mojom::ManifestShareTarget_Enctype::kFormUrlEncoded:
*out = ::blink::Manifest::ShareTarget::Enctype::kFormUrlEncoded;
return true;
case blink::mojom::ManifestShareTarget_Enctype::kMultipart:
*out = ::blink::Manifest::ShareTarget::Enctype::kMultipart;
case blink::mojom::ManifestShareTarget_Enctype::kMultipartFormData:
*out = ::blink::Manifest::ShareTarget::Enctype::kMultipartFormData;
return true;
}
......
......@@ -139,8 +139,8 @@ struct ManifestShareTarget {
// to application/x-www-url-encoded and kMultipart corresponds to
// multipart/form-data.
enum Enctype {
kApplication,
kMultipart,
kFormUrlEncoded,
kMultipartFormData,
};
// The URL that will be opened when the share target is invoked.
......
......@@ -519,7 +519,7 @@ ManifestParser::ParseShareTargetEnctype(const JSONObject* share_target_object) {
"Enctype should be set to either application/x-www-form-urlencoded or "
"multipart/form-data. It currently defaults to "
"application/x-www-form-urlencoded");
return mojom::blink::ManifestShareTarget::Enctype::kApplication;
return mojom::blink::ManifestShareTarget::Enctype::kFormUrlEncoded;
}
String value;
......@@ -528,10 +528,10 @@ ManifestParser::ParseShareTargetEnctype(const JSONObject* share_target_object) {
String enctype = value.LowerASCII();
if (enctype == "application/x-www-form-urlencoded")
return mojom::blink::ManifestShareTarget::Enctype::kApplication;
return mojom::blink::ManifestShareTarget::Enctype::kFormUrlEncoded;
if (enctype == "multipart/form-data")
return mojom::blink::ManifestShareTarget::Enctype::kMultipart;
return mojom::blink::ManifestShareTarget::Enctype::kMultipartFormData;
return base::nullopt;
}
......@@ -603,7 +603,7 @@ ManifestParser::ParseShareTarget(const JSONObject* object) {
if (share_target->method == mojom::blink::ManifestShareTarget::Method::kGet) {
if (share_target->enctype ==
mojom::blink::ManifestShareTarget::Enctype::kMultipart) {
mojom::blink::ManifestShareTarget::Enctype::kMultipartFormData) {
AddErrorInfo(
"invalid enctype for GET method. Only "
"application/x-www-form-urlencoded is allowed.");
......@@ -615,7 +615,7 @@ ManifestParser::ParseShareTarget(const JSONObject* object) {
if (share_target->method !=
mojom::blink::ManifestShareTarget::Method::kPost ||
share_target->enctype !=
mojom::blink::ManifestShareTarget::Enctype::kMultipart) {
mojom::blink::ManifestShareTarget::Enctype::kMultipartFormData) {
AddErrorInfo("files are only supported with multipart/form-data POST.");
return base::nullopt;
}
......
......@@ -1662,7 +1662,7 @@ TEST_F(ManifestParserTest, ShareTargetUrlTemplateParseRules) {
EXPECT_EQ(manifest->share_target->method,
mojom::blink::ManifestShareTarget::Method::kGet);
EXPECT_EQ(manifest->share_target->enctype,
mojom::blink::ManifestShareTarget::Enctype::kApplication);
mojom::blink::ManifestShareTarget::Enctype::kFormUrlEncoded);
}
// Auto-fill in "GET" for method and "application/x-www-form-urlencoded" for
......@@ -1677,7 +1677,7 @@ TEST_F(ManifestParserTest, ShareTargetUrlTemplateParseRules) {
EXPECT_EQ(manifest->share_target->method,
mojom::blink::ManifestShareTarget::Method::kGet);
EXPECT_EQ(manifest->share_target->enctype,
mojom::blink::ManifestShareTarget::Enctype::kApplication);
mojom::blink::ManifestShareTarget::Enctype::kFormUrlEncoded);
}
// Invalid method values, return undefined.
......@@ -1743,7 +1743,7 @@ TEST_F(ManifestParserTest, ShareTargetUrlTemplateParseRules) {
EXPECT_EQ(manifest->share_target->method,
mojom::blink::ManifestShareTarget::Method::kPost);
EXPECT_EQ(manifest->share_target->enctype,
mojom::blink::ManifestShareTarget::Enctype::kApplication);
mojom::blink::ManifestShareTarget::Enctype::kFormUrlEncoded);
EXPECT_EQ(0u, GetErrorCount());
}
......@@ -1759,7 +1759,7 @@ TEST_F(ManifestParserTest, ShareTargetUrlTemplateParseRules) {
EXPECT_EQ(manifest->share_target->method,
mojom::blink::ManifestShareTarget::Method::kPost);
EXPECT_EQ(manifest->share_target->enctype,
mojom::blink::ManifestShareTarget::Enctype::kMultipart);
mojom::blink::ManifestShareTarget::Enctype::kMultipartFormData);
EXPECT_EQ(0u, GetErrorCount());
}
......@@ -1775,7 +1775,7 @@ TEST_F(ManifestParserTest, ShareTargetUrlTemplateParseRules) {
EXPECT_EQ(manifest->share_target->method,
mojom::blink::ManifestShareTarget::Method::kPost);
EXPECT_EQ(manifest->share_target->enctype,
mojom::blink::ManifestShareTarget::Enctype::kMultipart);
mojom::blink::ManifestShareTarget::Enctype::kMultipartFormData);
EXPECT_EQ(0u, GetErrorCount());
}
......@@ -1791,7 +1791,7 @@ TEST_F(ManifestParserTest, ShareTargetUrlTemplateParseRules) {
EXPECT_EQ(manifest->share_target->method,
mojom::blink::ManifestShareTarget::Method::kPost);
EXPECT_EQ(manifest->share_target->enctype,
mojom::blink::ManifestShareTarget::Enctype::kMultipart);
mojom::blink::ManifestShareTarget::Enctype::kMultipartFormData);
EXPECT_EQ(0u, GetErrorCount());
}
......
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