Support extension-based file-handlers for packaged apps.
commit99b920483d64d9e121da019117c51be5e0614ce4
authorsammc@chromium.org <sammc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 3 May 2013 11:26:38 +0000 (3 11:26 +0000)
committersammc@chromium.org <sammc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 3 May 2013 11:26:38 +0000 (3 11:26 +0000)
tree1f4501b57556c1121744871f1901c1952f361610
parent79c8c5c4448f7b81c752a5428d794e2d06e18002
Support extension-based file-handlers for packaged apps.

This rolls forward r197909 but without the windows breakage.
Previously, file_handlers could only specify the file types they
accepted by MIME type. This limited apps to only accepting types known
to the local operating system or accepting any unknown type. This change
allows file_handlers to restrict types by file extension.

BUG=167950
TEST=browser_tests PlatformAppBrowserTest.Launch*

Review URL: https://chromiumcodereview.appspot.com/14887004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198091 0039d316-1c4b-4281-b951-d872f2087c98
18 files changed:
chrome/browser/extensions/api/file_handlers/app_file_handler_util.cc
chrome/browser/extensions/api/file_handlers/app_file_handler_util.h
chrome/browser/extensions/platform_app_browsertest.cc
chrome/browser/extensions/platform_app_launcher.cc
chrome/common/extensions/api/file_handlers/file_handlers_parser.cc
chrome/common/extensions/extension_manifest_constants.cc
chrome/common/extensions/extension_manifest_constants.h
chrome/test/data/extensions/platform_apps/launch_file_by_extension/manifest.json [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_by_extension/test.js [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_by_extension_and_type/manifest.json [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_by_extension_and_type/test.js [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_with_any_extension/manifest.json [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_with_any_extension/test.js [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_with_no_extension/manifest.json [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_file_with_no_extension/test.js [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_files/test [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_wrong_extension/manifest.json [new file with mode: 0644]
chrome/test/data/extensions/platform_apps/launch_wrong_extension/test.js [new file with mode: 0644]