]> git.sesse.net Git - casparcg/blobdiff - dependencies64/cef/linux/tests/shared/browser/resource_util_posix.cc
Upgrade CEF to 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81.
[casparcg] / dependencies64 / cef / linux / tests / shared / browser / resource_util_posix.cc
diff --git a/dependencies64/cef/linux/tests/shared/browser/resource_util_posix.cc b/dependencies64/cef/linux/tests/shared/browser/resource_util_posix.cc
new file mode 100644 (file)
index 0000000..ce7c8ba
--- /dev/null
@@ -0,0 +1,64 @@
+// Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
+// reserved. Use of this source code is governed by a BSD-style license that
+// can be found in the LICENSE file.
+
+#include "tests/shared/browser/resource_util.h"
+
+#include <stdio.h>
+
+namespace client {
+
+namespace {
+
+bool FileExists(const char* path) {
+  FILE* f = fopen(path, "rb");
+  if (f) {
+    fclose(f);
+    return true;
+  }
+  return false;
+}
+
+bool ReadFileToString(const char* path, std::string& data) {
+  // Implementation adapted from base/file_util.cc
+  FILE* file = fopen(path, "rb");
+  if (!file)
+    return false;
+
+  char buf[1 << 16];
+  size_t len;
+  while ((len = fread(buf, 1, sizeof(buf), file)) > 0)
+    data.append(buf, len);
+  fclose(file);
+
+  return true;
+}
+
+}  // namespace
+
+bool LoadBinaryResource(const char* resource_name, std::string& resource_data) {
+  std::string path;
+  if (!GetResourceDir(path))
+    return false;
+
+  path.append("/");
+  path.append(resource_name);
+
+  return ReadFileToString(path.c_str(), resource_data);
+}
+
+CefRefPtr<CefStreamReader> GetBinaryResourceReader(const char* resource_name) {
+  std::string path;
+  if  (!GetResourceDir(path))
+    return NULL;
+
+  path.append("/");
+  path.append(resource_name);
+
+  if (!FileExists(path.c_str()))
+    return NULL;
+
+  return CefStreamReader::CreateForFile(path);
+}
+
+}  // namespace client