[M120 Migration][VD] Enable direct rendering for TVPlus
[platform/framework/web/chromium-efl.git] / base / base_paths_fuchsia.cc
index 72179a9..0a74d53 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
+// Copyright 2017 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -6,9 +6,10 @@
 
 #include <stdlib.h>
 
-#include "base/base_paths_fuchsia.h"
 #include "base/command_line.h"
 #include "base/files/file_util.h"
+#include "base/fuchsia/file_utils.h"
+#include "base/notreached.h"
 #include "base/path_service.h"
 #include "base/process/process.h"
 
@@ -16,21 +17,39 @@ namespace base {
 
 bool PathProviderFuchsia(int key, FilePath* result) {
   switch (key) {
-    case FILE_MODULE:
-      NOTIMPLEMENTED();
-      return false;
     case FILE_EXE:
       *result = CommandLine::ForCurrentProcess()->GetProgram();
       return true;
-    case DIR_APP_DATA:
-    case DIR_CACHE:
-      *result = base::FilePath("/data");
-      return true;
     case DIR_ASSETS:
-    case DIR_SOURCE_ROOT:
-      *result = base::FilePath("/pkg");
+      *result = base::FilePath(base::kPackageRootDirectoryPath);
+      return true;
+
+    // TODO(crbug.com/1459692): Align with other platforms and remove this
+    // specialization.
+    case DIR_GEN_TEST_DATA_ROOT:
+      [[fallthrough]];
+
+    case DIR_SRC_TEST_DATA_ROOT:
+    case DIR_OUT_TEST_DATA_ROOT:
+      // These are only used by tests.
+      // Test binaries are added to the package root via GN deps.
+      *result = base::FilePath(base::kPackageRootDirectoryPath);
       return true;
+    case DIR_USER_DESKTOP:
+      // TODO(crbug.com/1231928): Implement this case for DIR_USER_DESKTOP.
+      NOTIMPLEMENTED_LOG_ONCE();
+      return false;
+    case DIR_HOME:
+      // TODO(crbug.com/1231928) Provide a proper base::GetHomeDir()
+      // implementation for Fuchsia and remove this case statement. See also
+      // crbug.com/1261284. For now, log, return false, and let the base
+      // implementation handle it. This will end up returning a temporary
+      // directory.
+      // This is for DIR_HOME. Will use temporary dir.
+      NOTIMPLEMENTED_LOG_ONCE();
+      return false;
   }
+
   return false;
 }