| Index: chrome/common/extensions/manifest_tests/extension_manifests_web_unittest.cc
|
| diff --git a/chrome/common/extensions/manifest_tests/extension_manifests_web_unittest.cc b/chrome/common/extensions/manifest_tests/extension_manifests_web_unittest.cc
|
| index 8ce9af80d1cf8507ae6db84a07ed2951ecd75127..8001d9feb6d138f952e62c3243fa2c2cb95407ce 100644
|
| --- a/chrome/common/extensions/manifest_tests/extension_manifests_web_unittest.cc
|
| +++ b/chrome/common/extensions/manifest_tests/extension_manifests_web_unittest.cc
|
| @@ -9,7 +9,6 @@
|
| #include "chrome/common/extensions/extension_manifest_constants.h"
|
| #include "extensions/common/error_utils.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| -#include "webkit/glue/web_intent_service_data.h"
|
|
|
| using extensions::ErrorUtils;
|
| using extensions::Extension;
|
| @@ -67,150 +66,6 @@ TEST_F(ExtensionManifestTest, WebAccessibleResources) {
|
| EXPECT_FALSE(extension6->IsResourceWebAccessible("path/anything.badext"));
|
| }
|
|
|
| -TEST_F(ExtensionManifestTest, WebIntents) {
|
| - Testcase testcases[] = {
|
| - Testcase("intent_invalid_1.json", errors::kInvalidIntents),
|
| - Testcase("intent_invalid_2.json", errors::kInvalidIntent),
|
| - Testcase("intent_invalid_3.json", errors::kInvalidIntentHref),
|
| - Testcase("intent_invalid_4.json", errors::kInvalidIntentDisposition),
|
| - Testcase("intent_invalid_5.json", errors::kInvalidIntentType),
|
| - Testcase("intent_invalid_6.json", errors::kInvalidIntentTitle),
|
| - Testcase("intent_invalid_packaged_app.json", errors::kCannotAccessPage),
|
| - Testcase("intent_invalid_href_and_path.json",
|
| - errors::kInvalidIntentHrefOldAndNewKey),
|
| - Testcase("intent_invalid_multi_href.json", errors::kInvalidIntent)
|
| - };
|
| - RunTestcases(testcases, arraysize(testcases),
|
| - EXPECT_TYPE_ERROR);
|
| -
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess("intent_valid.json"));
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| -
|
| - ASSERT_EQ(1u, extension->intents_services().size());
|
| - EXPECT_EQ("image/png", UTF16ToUTF8(extension->intents_services()[0].type));
|
| - EXPECT_EQ("http://webintents.org/share",
|
| - UTF16ToUTF8(extension->intents_services()[0].action));
|
| - EXPECT_EQ("chrome-extension",
|
| - extension->intents_services()[0].service_url.scheme());
|
| - EXPECT_EQ("/services/share",
|
| - extension->intents_services()[0].service_url.path());
|
| - EXPECT_EQ("Sample Sharing Intent",
|
| - UTF16ToUTF8(extension->intents_services()[0].title));
|
| - EXPECT_EQ(webkit_glue::WebIntentServiceData::DISPOSITION_INLINE,
|
| - extension->intents_services()[0].disposition);
|
| -
|
| - // Verify that optional fields are filled with defaults.
|
| - extension = LoadAndExpectSuccess("intent_valid_minimal.json");
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| -
|
| - ASSERT_EQ(1u, extension->intents_services().size());
|
| - EXPECT_EQ("*", UTF16ToUTF8(extension->intents_services()[0].type));
|
| - EXPECT_EQ("http://webintents.org/share",
|
| - UTF16ToUTF8(extension->intents_services()[0].action));
|
| - EXPECT_EQ("", UTF16ToUTF8(extension->intents_services()[0].title));
|
| - EXPECT_EQ(webkit_glue::WebIntentServiceData::DISPOSITION_WINDOW,
|
| - extension->intents_services()[0].disposition);
|
| -
|
| - // Make sure we support href instead of path.
|
| - extension = LoadAndExpectSuccess("intent_valid_using_href.json");
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| - ASSERT_EQ(1u, extension->intents_services().size());
|
| - EXPECT_EQ("/services/share",
|
| - extension->intents_services()[0].service_url.path());
|
| -}
|
| -
|
| -TEST_F(ExtensionManifestTest, WebIntentsWithMultipleMimeTypes) {
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess("intent_valid_multitype.json"));
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| -
|
| - ASSERT_EQ(2u, extension->intents_services().size());
|
| -
|
| - // One registration with multiple types generates a separate service for
|
| - // each MIME type.
|
| - for (int i = 0; i < 2; ++i) {
|
| - EXPECT_EQ("http://webintents.org/share",
|
| - UTF16ToUTF8(extension->intents_services()[i].action));
|
| - EXPECT_EQ("chrome-extension",
|
| - extension->intents_services()[i].service_url.scheme());
|
| - EXPECT_EQ("/services/share",
|
| - extension->intents_services()[i].service_url.path());
|
| - EXPECT_EQ("Sample Sharing Intent",
|
| - UTF16ToUTF8(extension->intents_services()[i].title));
|
| - EXPECT_EQ(webkit_glue::WebIntentServiceData::DISPOSITION_INLINE,
|
| - extension->intents_services()[i].disposition);
|
| - }
|
| - EXPECT_EQ("image/jpeg", UTF16ToUTF8(extension->intents_services()[0].type));
|
| - EXPECT_EQ("image/bmp", UTF16ToUTF8(extension->intents_services()[1].type));
|
| -
|
| - LoadAndExpectError("intent_invalid_type_element.json",
|
| - extension_manifest_errors::kInvalidIntentTypeElement);
|
| -}
|
| -
|
| -TEST_F(ExtensionManifestTest, WebIntentsInHostedApps) {
|
| - Testcase testcases[] = {
|
| - Testcase("intent_invalid_hosted_app_1.json",
|
| - errors::kInvalidIntentPageInHostedApp),
|
| - Testcase("intent_invalid_hosted_app_2.json",
|
| - errors::kInvalidIntentPageInHostedApp),
|
| - Testcase("intent_invalid_hosted_app_3.json",
|
| - errors::kInvalidIntentPageInHostedApp)
|
| - };
|
| - RunTestcases(testcases, arraysize(testcases),
|
| - EXPECT_TYPE_ERROR);
|
| -
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess("intent_valid_hosted_app.json"));
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| -
|
| - ASSERT_EQ(3u, extension->intents_services().size());
|
| -
|
| - EXPECT_EQ("http://www.cfp.com/intents/edit.html",
|
| - extension->intents_services()[0].service_url.spec());
|
| - EXPECT_EQ("http://www.cloudfilepicker.com/",
|
| - extension->intents_services()[1].service_url.spec());
|
| - EXPECT_EQ("http://www.cloudfilepicker.com/intents/share.html",
|
| - extension->intents_services()[2].service_url.spec());
|
| -}
|
| -
|
| -TEST_F(ExtensionManifestTest, WebIntentsMultiHref) {
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess("intent_valid_multi_href.json"));
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| - ASSERT_EQ(2u, extension->intents_services().size());
|
| -
|
| - const std::vector<webkit_glue::WebIntentServiceData> &intents =
|
| - extension->intents_services();
|
| -
|
| - EXPECT_EQ("chrome-extension", intents[0].service_url.scheme());
|
| - EXPECT_EQ("/services/sharelink.html",intents[0].service_url.path());
|
| - EXPECT_EQ("text/uri-list",UTF16ToUTF8(intents[0].type));
|
| -
|
| - EXPECT_EQ("chrome-extension", intents[1].service_url.scheme());
|
| - EXPECT_EQ("/services/shareimage.html",intents[1].service_url.path());
|
| - EXPECT_EQ("image/*",UTF16ToUTF8(intents[1].type));
|
| -}
|
| -
|
| -TEST_F(ExtensionManifestTest, WebIntentsBlankHref) {
|
| - LoadAndExpectError("intent_invalid_blank_action_extension.json",
|
| - errors::kInvalidIntentHrefEmpty);
|
| -
|
| - scoped_refptr<Extension> extension(
|
| - LoadAndExpectSuccess("intent_valid_blank_action_hosted.json"));
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| - ASSERT_EQ(1u, extension->intents_services().size());
|
| - EXPECT_EQ("http://www.cloudfilepicker.com/",
|
| - extension->intents_services()[0].service_url.spec());
|
| -
|
| - extension = LoadAndExpectSuccess("intent_valid_blank_action_packaged.json");
|
| - ASSERT_TRUE(extension.get() != NULL);
|
| - ASSERT_EQ(1u, extension->intents_services().size());
|
| - EXPECT_EQ("chrome-extension",
|
| - extension->intents_services()[0].service_url.scheme());
|
| - EXPECT_EQ("/main.html",extension->intents_services()[0].service_url.path());
|
| -}
|
| -
|
| TEST_F(ExtensionManifestTest, AppWebUrls) {
|
| Testcase testcases[] = {
|
| Testcase("web_urls_wrong_type.json", errors::kInvalidWebURLs),
|
|
|