1 // Copyright 2022 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "fuchsia_web/cast_streaming/cast_streaming.h"
9 #include "base/fuchsia/file_utils.h"
10 #include "base/path_service.h"
14 constexpr char kContentDirectoryRelativePath[] =
15 "fuchsia_web/cast_streaming/data";
16 constexpr char kCastStreamingContentDirectoryName[] = "cast-streaming";
18 // Returns the content directories for the Cast Streaming application.
19 std::vector<fuchsia::web::ContentDirectoryProvider>
20 GetCastStreamingContentDirectories() {
21 base::FilePath pkg_path;
22 bool success = base::PathService::Get(base::DIR_ASSETS, &pkg_path);
25 fuchsia::web::ContentDirectoryProvider content_directory;
26 content_directory.set_directory(base::OpenDirectoryHandle(
27 pkg_path.AppendASCII(kContentDirectoryRelativePath)));
28 content_directory.set_name(kCastStreamingContentDirectoryName);
29 std::vector<fuchsia::web::ContentDirectoryProvider> content_directories;
30 content_directories.emplace_back(std::move(content_directory));
32 return content_directories;
37 const char kCastStreamingWebUrl[] =
38 "fuchsia-dir://cast-streaming/receiver.html";
40 void ApplyCastStreamingContextParams(
41 fuchsia::web::CreateContextParams* params) {
42 *params->mutable_features() |= fuchsia::web::ContextFeatureFlags::NETWORK;
44 // Set the content directory with the streaming app.
45 params->set_content_directories(GetCastStreamingContentDirectories());