Commit b5d0b2f0 authored by Tatsuhisa Yamaguchi's avatar Tatsuhisa Yamaguchi Committed by Commit Bot

Use audio player and the Office Editing apps as the init default task.

We have several component extension as the initial default app, which
means set to default before user explicitly changes default app.
Audio player and the "Office Editing for Docs, Sheets & Slides" app
were not included in that list despite these are also components.

Bug: 810986
Test: unit_tests --gtest_filter=FileManagerFileTasksTest.*
Test: manually verified Office Editing shown as default

Change-Id: I1ee20773714ecda50fbe3d17f8cda1c0bb72fd96
Reviewed-on: https://chromium-review.googlesource.com/920124Reviewed-by: default avatarNaoki Fukino <fukino@chromium.org>
Commit-Queue: Tatsuhisa Yamaguchi <yamaguchi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537247}
parent 8a745e5b
......@@ -129,8 +129,14 @@ bool IsFallbackFileHandler(const file_tasks::TaskDescriptor& task) {
return false;
const char* const kBuiltInApps[] = {
kFileManagerAppId, kVideoPlayerAppId, kGalleryAppId, kTextEditorAppId,
};
kFileManagerAppId,
kVideoPlayerAppId,
kGalleryAppId,
kTextEditorAppId,
kAudioPlayerAppId,
extension_misc::kQuickOfficeComponentExtensionId,
extension_misc::kQuickOfficeInternalExtensionId,
extension_misc::kQuickOfficeExtensionId};
for (size_t i = 0; i < arraysize(kBuiltInApps); ++i) {
if (task.app_id == kBuiltInApps[i])
......
......@@ -28,6 +28,7 @@
#include "extensions/browser/entry_info.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_builder.h"
#include "google_apis/drive/drive_api_parser.h"
#include "testing/gtest/include/gtest/gtest.h"
......@@ -359,6 +360,56 @@ TEST(FileManagerFileTasksTest, ChooseAndSetDefaultTask_FallbackTextApp) {
EXPECT_TRUE(tasks[0].is_default());
}
// Test that Audio Player is chosen as default even if nothing is set in the
// preferences.
TEST(FileManagerFileTasksTest, ChooseAndSetDefaultTask_FallbackAudioPlayer) {
TestingPrefServiceSimple pref_service;
RegisterDefaultTaskPreferences(&pref_service);
// The Audio Player app was found for "sound.wav".
TaskDescriptor files_app_task(kAudioPlayerAppId, TASK_TYPE_FILE_HANDLER,
"Audio Player");
std::vector<FullTaskDescriptor> tasks;
tasks.push_back(FullTaskDescriptor(
files_app_task, "Audio Player", Verb::VERB_OPEN_WITH,
GURL("chrome://extension-icon/cjbfomnbifhcdnihkgipgfcihmgjfhbf/32/1"),
false /* is_default */, false /* is_generic_file_handler */));
std::vector<extensions::EntryInfo> entries;
entries.push_back(extensions::EntryInfo(
base::FilePath::FromUTF8Unsafe("sound.wav"), "audio/wav", false));
// The Audio Player app should be chosen as default, as it's a fallback file
// browser handler.
ChooseAndSetDefaultTask(pref_service, entries, &tasks);
EXPECT_TRUE(tasks[0].is_default());
}
// Test that Office Editing is chosen as default even if nothing is set in the
// preferences.
TEST(FileManagerFileTasksTest, ChooseAndSetDefaultTask_FallbackOfficeEditing) {
TestingPrefServiceSimple pref_service;
RegisterDefaultTaskPreferences(&pref_service);
// The Office Editing app was found for "slides.pptx".
TaskDescriptor files_app_task(
extension_misc::kQuickOfficeComponentExtensionId, TASK_TYPE_FILE_HANDLER,
"Office Editing for Docs, Sheets & Slides");
std::vector<FullTaskDescriptor> tasks;
tasks.push_back(FullTaskDescriptor(
files_app_task, "Office Editing for Docs, Sheets & Slides",
Verb::VERB_OPEN_WITH,
GURL("chrome://extension-icon/bpmcpldpdmajfigpchkicefoigmkfalc/32/1"),
false /* is_default */, false /* is_generic_file_handler */));
std::vector<extensions::EntryInfo> entries;
entries.push_back(extensions::EntryInfo(
base::FilePath::FromUTF8Unsafe("slides.pptx"), "", false));
// The Office Editing app should be chosen as default, as it's a fallback
// file browser handler.
ChooseAndSetDefaultTask(pref_service, entries, &tasks);
EXPECT_TRUE(tasks[0].is_default());
}
// Test IsGoodMatchFileHandler which returns whether a file handle info matches
// with files as good match or not.
TEST(FileManagerFileTasksTest, IsGoodMatchFileHandler) {
......
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